< prev index next >
src/hotspot/cpu/x86/methodHandles_x86.cpp
Print this page
*** 145,155 ****
__ jccb(Assembler::zero, run_compiled_code);
__ jmp(Address(method, Method::interpreter_entry_offset()));
__ BIND(run_compiled_code);
}
! const ByteSize entry_offset = for_compiler_entry ? Method::from_compiled_offset() :
Method::from_interpreted_offset();
__ jmp(Address(method, entry_offset));
__ bind(L_no_such_method);
__ jump(RuntimeAddress(StubRoutines::throw_AbstractMethodError_entry()));
--- 145,159 ----
__ jccb(Assembler::zero, run_compiled_code);
__ jmp(Address(method, Method::interpreter_entry_offset()));
__ BIND(run_compiled_code);
}
! // The following jump might pass a value type argument that was erased to Object as oop to a
! // callee that expects value type arguments to be passed as fields. We need to call the compiled
! // value entry (_code->value_entry_point() or _adapter->c2i_value_entry()) which will take care
! // of translating between the calling conventions.
! const ByteSize entry_offset = for_compiler_entry ? Method::from_compiled_value_offset() :
Method::from_interpreted_offset();
__ jmp(Address(method, entry_offset));
__ bind(L_no_such_method);
__ jump(RuntimeAddress(StubRoutines::throw_AbstractMethodError_entry()));
< prev index next >