diff src/cpu/x86/vm/c1_Runtime1_x86.cpp @ 2607:008adfd6d850

Fixed the stateBefore of invokes and monitorenter instructions to include the arguments of the instruction. This is necessary to ensure correct continuation in the interpreter when the stateBefore is used as a deoptimization point.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Fri, 06 May 2011 17:47:17 +0200
parents 0654ee04b214
children b1b58f908044
line wrap: on
line diff
--- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Fri May 06 16:21:10 2011 +0200
+++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Fri May 06 17:47:17 2011 +0200
@@ -1924,21 +1924,6 @@
       break;
     }
 
-    case c1x_global_implicit_null_id: {
-      __ push(rax);
-      __ push(rax);
-      // move saved fp to make space for the inserted return address
-      __ get_thread(rax);
-      __ movptr(rax, Address(rax, JavaThread::saved_exception_pc_offset()));
-      __ movptr(Address(rsp, HeapWordSize), rax);
-      __ pop(rax);
-
-      { StubFrame f(sasm, "c1x_global_implicit_null_id", dont_gc_arguments);
-        oop_maps = generate_exception_throw(sasm, CAST_FROM_FN_PTR(address, throw_null_pointer_exception), false);
-      }
-      break;
-    }
-
     case c1x_throw_div0_exception_id: {
       __ push(rax);
       __ push(rax);