Print this page


Split Close
Expand all
Collapse all
          --- old/src/cpu/sparc/vm/interpreter_sparc.cpp
          +++ new/src/cpu/sparc/vm/interpreter_sparc.cpp
↓ open down ↓ 227 lines elided ↑ open up ↑
 228  228    // abstract method entry
 229  229    // throw exception
 230  230    __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError));
 231  231    // the call_VM checks for exception, so we should never return here.
 232  232    __ should_not_reach_here();
 233  233    return entry;
 234  234  
 235  235  }
 236  236  
 237  237  
 238      -
 239  238  // Method handle invoker
 240  239  // Dispatch a method of the form java.dyn.MethodHandles::invoke(...)
 241  240  address InterpreterGenerator::generate_method_handle_entry(void) {
 242  241    if (!EnableMethodHandles) {
 243  242      return generate_abstract_entry();
 244  243    }
 245      -  return generate_abstract_entry(); //6815692//
 246      -}
 247      -
 248  244  
      245 +  return MethodHandles::generate_method_handle_interpreter_entry(_masm);
      246 +}
 249  247  
 250  248  
 251  249  //----------------------------------------------------------------------------------------------------
 252  250  // Entry points & stack frame layout
 253  251  //
 254  252  // Here we generate the various kind of entries into the interpreter.
 255  253  // The two main entry type are generic bytecode methods and native call method.
 256  254  // These both come in synchronized and non-synchronized versions but the
 257  255  // frame layout they create is very similar. The other method entry
 258  256  // types are really just special purpose entries that are really entry
↓ open down ↓ 181 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX