diff src/share/vm/c1/c1_LIRAssembler.cpp @ 900:9987d9d5eb0e

6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot Summary: developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens Reviewed-by: kvn, never, jrose, twisti
author cfang
date Fri, 31 Jul 2009 17:12:33 -0700
parents eb28cf662f56
children 89e0543e1737
line wrap: on
line diff
--- a/src/share/vm/c1/c1_LIRAssembler.cpp	Fri Jul 31 12:04:07 2009 -0700
+++ b/src/share/vm/c1/c1_LIRAssembler.cpp	Fri Jul 31 17:12:33 2009 -0700
@@ -379,7 +379,8 @@
     ValueStack* s = nth_oldest(vstack, n, s_bci);
     if (s == NULL)  break;
     IRScope* scope = s->scope();
-    debug_info->describe_scope(pc_offset, scope->method(), s_bci);
+    //Always pass false for reexecute since these ScopeDescs are never used for deopt
+    debug_info->describe_scope(pc_offset, scope->method(), s_bci, false/*reexecute*/);
   }
 
   debug_info->end_non_safepoint(pc_offset);