changeset 7477:f0db7d477633

8055239: assert(_thread == Thread::current()->osthread()) failed: The PromotionFailedInfo should be thread local Summary: Changed to trace and reset before second use of PromotionFailedInfo. Reviewed-by: jmasa, brutisso, kbarrett
author sangheki
date Wed, 26 Nov 2014 21:38:25 -0800
parents 8c2e5188692f
children 438ea069d427
files src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Wed Nov 26 20:36:36 2014 +0000
+++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Wed Nov 26 21:38:25 2014 -0800
@@ -999,6 +999,11 @@
   thread_state_set.reset(0 /* Bad value in debug if not reset */,
                          promotion_failed());
 
+  // Trace and reset failed promotion info.
+  if (promotion_failed()) {
+    thread_state_set.trace_promotion_failed(gc_tracer);
+  }
+
   // Process (weak) reference objects found during scavenge.
   ReferenceProcessor* rp = ref_processor();
   IsAliveClosure is_alive(this);