Mercurial > hg > truffle
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);