hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp
changeset 1390 4c473c5aee14
parent 1374 4c24294029a9
child 1606 dcf9714addbe
--- a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	Thu Aug 21 23:38:19 2008 -0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	Fri Aug 22 11:48:25 2008 -0700
@@ -50,6 +50,10 @@
 
   allocate_stacks();
 
+  // We should save the marks of the currently locked biased monitors.
+  // The marking doesn't preserve the marks of biased objects.
+  BiasedLocking::preserve_marks();
+
   mark_sweep_phase1(marked_for_unloading, clear_all_softrefs);
 
   if (G1VerifyConcMark) {
@@ -67,7 +71,7 @@
   mark_sweep_phase4();
 
   GenMarkSweep::restore_marks();
-
+  BiasedLocking::restore_marks();
   GenMarkSweep::deallocate_stacks();
 
   // We must invalidate the perm-gen rs, so that it gets rebuilt.