< prev index next > src/hotspot/cpu/ppc/methodHandles_ppc.cpp
Print this page
// Compiled case, either static or fall-through from runtime conditional
__ cmplwi(CR0, R19_method, 0);
__ beq(CR0, L_no_such_method);
! const ByteSize entry_offset = for_compiler_entry ? Method::from_compiled_offset() :
Method::from_interpreted_offset();
__ ld(target, in_bytes(entry_offset), R19_method);
__ mtctr(target);
__ bctr();
// Compiled case, either static or fall-through from runtime conditional
__ cmplwi(CR0, R19_method, 0);
__ beq(CR0, L_no_such_method);
! // The following jump might pass an inline type argument that was erased to Object as oop to a
+ // callee that expects inline type arguments to be passed as fields. We need to call the compiled
+ // value entry (_code->inline_entry_point() or _adapter->c2i_inline_entry()) which will take care
+ // of translating between the calling conventions.
+ const ByteSize entry_offset = for_compiler_entry ? Method::from_compiled_inline_offset() :
Method::from_interpreted_offset();
__ ld(target, in_bytes(entry_offset), R19_method);
__ mtctr(target);
__ bctr();
< prev index next >