mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
6829192
: JSR 292 needs to support 64-bit x86
Changes for method handles and invokedynamic Reviewed-by: kvn
This commit is contained in:
parent
bcf018d026
commit
fae9c37803
12 changed files with 157 additions and 82 deletions
|
@ -277,12 +277,11 @@ address InterpreterGenerator::generate_abstract_entry(void) {
|
|||
address entry_point = __ pc();
|
||||
|
||||
// abstract method entry
|
||||
// remove return address. Not really needed, since exception
|
||||
// handling throws away expression stack
|
||||
__ pop(rbx);
|
||||
|
||||
// adjust stack to what a normal return would do
|
||||
__ mov(rsp, r13);
|
||||
// pop return address, reset last_sp to NULL
|
||||
__ empty_expression_stack();
|
||||
__ restore_bcp(); // rsi must be correct for exception handler (was destroyed)
|
||||
__ restore_locals(); // make sure locals pointer is correct as well (was destroyed)
|
||||
|
||||
// throw exception
|
||||
__ call_VM(noreg, CAST_FROM_FN_PTR(address,
|
||||
|
@ -300,7 +299,10 @@ address InterpreterGenerator::generate_method_handle_entry(void) {
|
|||
if (!EnableMethodHandles) {
|
||||
return generate_abstract_entry();
|
||||
}
|
||||
return generate_abstract_entry(); //6815692//
|
||||
|
||||
address entry_point = MethodHandles::generate_method_handle_interpreter_entry(_masm);
|
||||
|
||||
return entry_point;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue