hotspot/src/share/vm/runtime/thread.cpp
changeset 4030 4c471254865e
parent 3916 9acd7f9d4f52
child 4564 55dfb20908d0
child 4485 76684005deef
equal deleted inserted replaced
4028:be6959017765 4030:4c471254865e
  1211   _dirty_card_queue(&_dirty_card_queue_set)
  1211   _dirty_card_queue(&_dirty_card_queue_set)
  1212 #endif // !SERIALGC
  1212 #endif // !SERIALGC
  1213 {
  1213 {
  1214   initialize();
  1214   initialize();
  1215   _is_attaching = is_attaching;
  1215   _is_attaching = is_attaching;
       
  1216   assert(_deferred_card_mark.is_empty(), "Default MemRegion ctor");
  1216 }
  1217 }
  1217 
  1218 
  1218 bool JavaThread::reguard_stack(address cur_sp) {
  1219 bool JavaThread::reguard_stack(address cur_sp) {
  1219   if (_stack_guard_state != stack_guard_yellow_disabled) {
  1220   if (_stack_guard_state != stack_guard_yellow_disabled) {
  1220     return true; // Stack already guarded or guard pages not needed.
  1221     return true; // Stack already guarded or guard pages not needed.
  2316   frames_do(frame_gc_prologue);
  2317   frames_do(frame_gc_prologue);
  2317 }
  2318 }
  2318 
  2319 
  2319 
  2320 
  2320 void JavaThread::oops_do(OopClosure* f, CodeBlobClosure* cf) {
  2321 void JavaThread::oops_do(OopClosure* f, CodeBlobClosure* cf) {
       
  2322   // Flush deferred store-barriers, if any, associated with
       
  2323   // initializing stores done by this JavaThread in the current epoch.
       
  2324   Universe::heap()->flush_deferred_store_barrier(this);
       
  2325 
  2321   // The ThreadProfiler oops_do is done from FlatProfiler::oops_do
  2326   // The ThreadProfiler oops_do is done from FlatProfiler::oops_do
  2322   // since there may be more than one thread using each ThreadProfiler.
  2327   // since there may be more than one thread using each ThreadProfiler.
  2323 
  2328 
  2324   // Traverse the GCHandles
  2329   // Traverse the GCHandles
  2325   Thread::oops_do(f, cf);
  2330   Thread::oops_do(f, cf);