8061259: ParNew promotion failed is serialized on a lock
authorbrutisso
Fri, 16 Jan 2015 09:40:13 +0100
changeset 28630 f140942b6fd8
parent 28629 43fbd61a0262
child 28632 8a075d011b31
8061259: ParNew promotion failed is serialized on a lock Reviewed-by: kbarrett, brutisso Contributed-by: jwha@google.com
hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
--- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Thu Jan 15 16:05:20 2015 +0100
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Fri Jan 16 09:40:13 2015 +0100
@@ -1194,8 +1194,10 @@
         return real_forwardee(old);
     }
 
-    new_obj = _next_gen->par_promote(par_scan_state->thread_num(),
-                                       old, m, sz);
+    if (!_promotion_failed) {
+      new_obj = _next_gen->par_promote(par_scan_state->thread_num(),
+                                        old, m, sz);
+    }
 
     if (new_obj == NULL) {
       // promotion failed, forward to self