src/cpu/sparc/vm/methodHandles_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7010180 Cdiff src/cpu/sparc/vm/methodHandles_sparc.cpp

src/cpu/sparc/vm/methodHandles_sparc.cpp

Print this page

        

*** 393,403 **** //------------------------------------------------------------------------------ // MethodHandles::generate_method_handle_stub // // Generate an "entry" field for a method handle. // This determines how the method handle will respond to calls. ! void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHandles::EntryKind ek, TRAPS) { // Here is the register state during an interpreted call, // as set up by generate_method_handle_interpreter_entry(): // - G5: garbage temp (was MethodHandle.invoke methodOop, unused) // - G3: receiver method handle // - O5_savedSP: sender SP (must preserve) --- 393,403 ---- //------------------------------------------------------------------------------ // MethodHandles::generate_method_handle_stub // // Generate an "entry" field for a method handle. // This determines how the method handle will respond to calls. ! void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHandles::EntryKind ek) { // Here is the register state during an interpreted call, // as set up by generate_method_handle_interpreter_entry(): // - G5: garbage temp (was MethodHandle.invoke methodOop, unused) // - G3: receiver method handle // - O5_savedSP: sender SP (must preserve)
*** 445,456 **** { // Not a real MH entry, but rather shared code for raising an // exception. Since we use a C2I adapter to set up the // interpreter state, arguments are expected in compiler // argument registers. ! methodHandle mh(raise_exception_method()); ! address c2i_entry = methodOopDesc::make_adapters(mh, CATCH); __ mov(O5_savedSP, SP); // Cut the stack back to where the caller started. Label L_no_method; // FIXME: fill in _raise_exception_method with a suitable sun.dyn method --- 445,457 ---- { // Not a real MH entry, but rather shared code for raising an // exception. Since we use a C2I adapter to set up the // interpreter state, arguments are expected in compiler // argument registers. ! assert(raise_exception_method(), "must be set"); ! address c2i_entry = raise_exception_method()->get_c2i_entry(); ! assert(c2i_entry, "method must be linked"); __ mov(O5_savedSP, SP); // Cut the stack back to where the caller started. Label L_no_method; // FIXME: fill in _raise_exception_method with a suitable sun.dyn method
src/cpu/sparc/vm/methodHandles_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File