1.1 --- a/src/share/vm/runtime/thread.cpp Wed Oct 07 19:01:55 2009 -0400 1.2 +++ b/src/share/vm/runtime/thread.cpp Fri Oct 16 02:05:46 2009 -0700 1.3 @@ -1213,6 +1213,7 @@ 1.4 { 1.5 initialize(); 1.6 _is_attaching = is_attaching; 1.7 + assert(_deferred_card_mark.is_empty(), "Default MemRegion ctor"); 1.8 } 1.9 1.10 bool JavaThread::reguard_stack(address cur_sp) { 1.11 @@ -2318,6 +2319,10 @@ 1.12 1.13 1.14 void JavaThread::oops_do(OopClosure* f, CodeBlobClosure* cf) { 1.15 + // Flush deferred store-barriers, if any, associated with 1.16 + // initializing stores done by this JavaThread in the current epoch. 1.17 + Universe::heap()->flush_deferred_store_barrier(this); 1.18 + 1.19 // The ThreadProfiler oops_do is done from FlatProfiler::oops_do 1.20 // since there may be more than one thread using each ThreadProfiler. 1.21