src/cpu/sparc/vm/methodHandles_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/methodHandles_sparc.cpp	Tue Jan  4 04:53:48 2011
--- new/src/cpu/sparc/vm/methodHandles_sparc.cpp	Tue Jan  4 04:53:47 2011

*** 393,403 **** --- 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)
*** 445,456 **** --- 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. ! methodHandle mh(raise_exception_method()); ! address c2i_entry = methodOopDesc::make_adapters(mh, CATCH); ! 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