diff src/share/vm/runtime/deoptimization.cpp @ 20706:793204f5528a

8067144: SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects Summary: -XX:+TraceDeoptimization tries to print realloc'ed objects even when there are none Reviewed-by: kvn
author roland
date Wed, 10 Dec 2014 16:45:55 +0100
parents d3f3f7677537
children 7848fc12602b ddce0b7cee93
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Tue Nov 25 17:33:59 2014 +0100
+++ b/src/share/vm/runtime/deoptimization.cpp	Wed Dec 10 16:45:55 2014 +0100
@@ -250,14 +250,14 @@
           realloc_failures = realloc_objects(thread, &deoptee, objects, THREAD);
         JRT_END
         reassign_fields(&deoptee, &map, objects, realloc_failures);
+#ifndef PRODUCT
+        if (TraceDeoptimization) {
+          ttyLocker ttyl;
+          tty->print_cr("REALLOC OBJECTS in thread " INTPTR_FORMAT, thread);
+          print_objects(objects, realloc_failures);
+        }
+#endif
       }
-#ifndef PRODUCT
-      if (TraceDeoptimization) {
-        ttyLocker ttyl;
-        tty->print_cr("REALLOC OBJECTS in thread " INTPTR_FORMAT, thread);
-        print_objects(objects, realloc_failures);
-      }
-#endif
       if (save_oop_result) {
         // Restore result.
         deoptee.set_saved_oop_result(&map, return_value());