equal
deleted
inserted
replaced
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 |
253 |
256 |
254 ThreadLocalAllocBuffer _tlab; // Thread-local eden |
257 ThreadLocalAllocBuffer _tlab; // Thread-local eden |
255 jlong _allocated_bytes; // Cumulative number of bytes allocated on |
258 jlong _allocated_bytes; // Cumulative number of bytes allocated on |
256 // the Java heap |
259 // the Java heap |
257 |
260 |
|
261 // Thread-local buffer used by MetadataOnStackMark. |
|
262 MetadataOnStackBuffer* _metadata_on_stack_buffer; |
|
263 |
258 TRACE_DATA _trace_data; // Thread-local data for tracing |
264 TRACE_DATA _trace_data; // Thread-local data for tracing |
259 |
265 |
260 ThreadExt _ext; |
266 ThreadExt _ext; |
261 |
267 |
262 int _vm_operation_started_count; // VM_Operation support |
268 int _vm_operation_started_count; // VM_Operation support |
488 |
494 |
489 // Sets this thread as starting thread. Returns failure if thread |
495 // Sets this thread as starting thread. Returns failure if thread |
490 // creation fails due to lack of memory, too many threads etc. |
496 // creation fails due to lack of memory, too many threads etc. |
491 bool set_as_starting_thread(); |
497 bool set_as_starting_thread(); |
492 |
498 |
493 protected: |
499 void set_metadata_on_stack_buffer(MetadataOnStackBuffer* buffer) { _metadata_on_stack_buffer = buffer; } |
|
500 MetadataOnStackBuffer* metadata_on_stack_buffer() const { return _metadata_on_stack_buffer; } |
|
501 |
|
502 protected: |
494 // OS data associated with the thread |
503 // OS data associated with the thread |
495 OSThread* _osthread; // Platform-specific thread information |
504 OSThread* _osthread; // Platform-specific thread information |
496 |
505 |
497 // Thread local resource area for temporary allocation within the VM |
506 // Thread local resource area for temporary allocation within the VM |
498 ResourceArea* _resource_area; |
507 ResourceArea* _resource_area; |