Mercurial > hg > truffle
comparison src/cpu/x86/vm/methodHandles_x86.cpp @ 3848:a19c671188cb
7075623: 6990212 broke raiseException in 64 bit
Reviewed-by: kvn, twisti
author | never |
---|---|
date | Mon, 08 Aug 2011 13:19:46 -0700 |
parents | 341a57af9b0a |
children | c26de9aef2ed |
comparison
equal
deleted
inserted
replaced
3847:a3142bdb6707 | 3848:a19c671188cb |
---|---|
1190 __ movptr(rbx_method, ExternalAddress((address) &_raise_exception_method)); | 1190 __ movptr(rbx_method, ExternalAddress((address) &_raise_exception_method)); |
1191 | 1191 |
1192 const int jobject_oop_offset = 0; | 1192 const int jobject_oop_offset = 0; |
1193 __ movptr(rbx_method, Address(rbx_method, jobject_oop_offset)); // dereference the jobject | 1193 __ movptr(rbx_method, Address(rbx_method, jobject_oop_offset)); // dereference the jobject |
1194 | 1194 |
1195 __ movptr(rsi, rsp); | 1195 __ movptr(saved_last_sp, rsp); |
1196 __ subptr(rsp, 3 * wordSize); | 1196 __ subptr(rsp, 3 * wordSize); |
1197 __ push(rax_pc); // restore caller PC | 1197 __ push(rax_pc); // restore caller PC |
1198 | 1198 |
1199 __ movptr(__ argument_address(constant(2)), rarg0_code); | 1199 __ movl (__ argument_address(constant(2)), rarg0_code); |
1200 __ movptr(__ argument_address(constant(1)), rarg1_actual); | 1200 __ movptr(__ argument_address(constant(1)), rarg1_actual); |
1201 __ movptr(__ argument_address(constant(0)), rarg2_required); | 1201 __ movptr(__ argument_address(constant(0)), rarg2_required); |
1202 jump_from_method_handle(_masm, rbx_method, rax); | 1202 jump_from_method_handle(_masm, rbx_method, rax); |
1203 } | 1203 } |
1204 break; | 1204 break; |