< 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 >