comparison src/share/vm/runtime/thread.hpp @ 1587:b96a3e44582f

6852873: Reduce safepoint cleanup time Summary: New optional flags to reduce inflated monitor cleanup times Reviewed-by: chrisphi, dice
author acorn
date Thu, 03 Jun 2010 13:21:47 -0400
parents 93767e6a2dfd
children 3a9de63b2209
comparison
equal deleted inserted replaced
1561:3548f3198dca 1587:b96a3e44582f
223 // Private thread-local objectmonitor list - a simple cache organized as a SLL. 223 // Private thread-local objectmonitor list - a simple cache organized as a SLL.
224 public: 224 public:
225 ObjectMonitor * omFreeList ; 225 ObjectMonitor * omFreeList ;
226 int omFreeCount ; // length of omFreeList 226 int omFreeCount ; // length of omFreeList
227 int omFreeProvision ; // reload chunk size 227 int omFreeProvision ; // reload chunk size
228 ObjectMonitor * omInUseList; // SLL to track monitors in circulation
229 int omInUseCount; // length of omInUseList
228 230
229 public: 231 public:
230 enum { 232 enum {
231 is_definitely_current_thread = true 233 is_definitely_current_thread = true
232 }; 234 };
491 static ByteSize exception_line_offset() { return byte_offset_of(Thread, _exception_line ); } 493 static ByteSize exception_line_offset() { return byte_offset_of(Thread, _exception_line ); }
492 static ByteSize active_handles_offset() { return byte_offset_of(Thread, _active_handles ); } 494 static ByteSize active_handles_offset() { return byte_offset_of(Thread, _active_handles ); }
493 495
494 static ByteSize stack_base_offset() { return byte_offset_of(Thread, _stack_base ); } 496 static ByteSize stack_base_offset() { return byte_offset_of(Thread, _stack_base ); }
495 static ByteSize stack_size_offset() { return byte_offset_of(Thread, _stack_size ); } 497 static ByteSize stack_size_offset() { return byte_offset_of(Thread, _stack_size ); }
496 static ByteSize omFreeList_offset() { return byte_offset_of(Thread, omFreeList); }
497 498
498 #define TLAB_FIELD_OFFSET(name) \ 499 #define TLAB_FIELD_OFFSET(name) \
499 static ByteSize tlab_##name##_offset() { return byte_offset_of(Thread, _tlab) + ThreadLocalAllocBuffer::name##_offset(); } 500 static ByteSize tlab_##name##_offset() { return byte_offset_of(Thread, _tlab) + ThreadLocalAllocBuffer::name##_offset(); }
500 501
501 TLAB_FIELD_OFFSET(start) 502 TLAB_FIELD_OFFSET(start)