1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Fri Dec 17 11:26:53 2010 -0800 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Fri Dec 17 23:41:31 2010 -0800 1.3 @@ -694,6 +694,8 @@ 1.4 void PSScavenge::oop_promotion_failed(oop obj, markOop obj_mark) { 1.5 _promotion_failed = true; 1.6 if (obj_mark->must_be_preserved_for_promotion_failure(obj)) { 1.7 + // Should use per-worker private stakcs hetre rather than 1.8 + // locking a common pair of stacks. 1.9 ThreadCritical tc; 1.10 _preserved_oop_stack.push(obj); 1.11 _preserved_mark_stack.push(obj_mark);