Mercurial > hg > truffle
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; |