comparison src/share/vm/runtime/thread.hpp @ 20619:b12a2a9b05ca

8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse Reviewed-by: mgerdin, coleenp, bdelsart
author stefank
date Thu, 02 Oct 2014 10:55:36 +0200
parents 966601b12d4f
children d3f3f7677537
comparison
equal deleted inserted replaced
20618:7024b693c8f9 20619:b12a2a9b05ca
40 #include "runtime/safepoint.hpp" 40 #include "runtime/safepoint.hpp"
41 #include "runtime/stubRoutines.hpp" 41 #include "runtime/stubRoutines.hpp"
42 #include "runtime/threadLocalStorage.hpp" 42 #include "runtime/threadLocalStorage.hpp"
43 #include "runtime/thread_ext.hpp" 43 #include "runtime/thread_ext.hpp"
44 #include "runtime/unhandledOops.hpp" 44 #include "runtime/unhandledOops.hpp"
45 #include "utilities/macros.hpp"
46
47 #include "trace/traceBackend.hpp" 45 #include "trace/traceBackend.hpp"
48 #include "trace/traceMacros.hpp" 46 #include "trace/traceMacros.hpp"
49 #include "utilities/exceptions.hpp" 47 #include "utilities/exceptions.hpp"
48 #include "utilities/macros.hpp"
50 #include "utilities/top.hpp" 49 #include "utilities/top.hpp"
51 #if INCLUDE_ALL_GCS 50 #if INCLUDE_ALL_GCS
52 #include "gc_implementation/g1/dirtyCardQueue.hpp" 51 #include "gc_implementation/g1/dirtyCardQueue.hpp"
53 #include "gc_implementation/g1/satbQueue.hpp" 52 #include "gc_implementation/g1/satbQueue.hpp"
54 #endif // INCLUDE_ALL_GCS 53 #endif // INCLUDE_ALL_GCS
80 class jvmtiDeferredLocalVariableSet; 79 class jvmtiDeferredLocalVariableSet;
81 80
82 class GCTaskQueue; 81 class GCTaskQueue;
83 class ThreadClosure; 82 class ThreadClosure;
84 class IdealGraphPrinter; 83 class IdealGraphPrinter;
84
85 class Metadata;
86 template <class T, MEMFLAGS F> class ChunkedList;
87 typedef ChunkedList<Metadata*, mtInternal> MetadataOnStackBuffer;
85 88
86 DEBUG_ONLY(class ResourceMark;) 89 DEBUG_ONLY(class ResourceMark;)
87 90
88 class WorkerThread; 91 class WorkerThread;
89 92
254 257
255 ThreadLocalAllocBuffer _tlab; // Thread-local eden 258 ThreadLocalAllocBuffer _tlab; // Thread-local eden
256 jlong _allocated_bytes; // Cumulative number of bytes allocated on 259 jlong _allocated_bytes; // Cumulative number of bytes allocated on
257 // the Java heap 260 // the Java heap
258 261
262 // Thread-local buffer used by MetadataOnStackMark.
263 MetadataOnStackBuffer* _metadata_on_stack_buffer;
264
259 TRACE_DATA _trace_data; // Thread-local data for tracing 265 TRACE_DATA _trace_data; // Thread-local data for tracing
260 266
261 ThreadExt _ext; 267 ThreadExt _ext;
262 268
263 int _vm_operation_started_count; // VM_Operation support 269 int _vm_operation_started_count; // VM_Operation support
515 521
516 // Sets this thread as starting thread. Returns failure if thread 522 // Sets this thread as starting thread. Returns failure if thread
517 // creation fails due to lack of memory, too many threads etc. 523 // creation fails due to lack of memory, too many threads etc.
518 bool set_as_starting_thread(); 524 bool set_as_starting_thread();
519 525
520 protected: 526 void set_metadata_on_stack_buffer(MetadataOnStackBuffer* buffer) { _metadata_on_stack_buffer = buffer; }
527 MetadataOnStackBuffer* metadata_on_stack_buffer() const { return _metadata_on_stack_buffer; }
528
529 protected:
521 // OS data associated with the thread 530 // OS data associated with the thread
522 OSThread* _osthread; // Platform-specific thread information 531 OSThread* _osthread; // Platform-specific thread information
523 532
524 // Thread local resource area for temporary allocation within the VM 533 // Thread local resource area for temporary allocation within the VM
525 ResourceArea* _resource_area; 534 ResourceArea* _resource_area;