Mercurial > hg > graal-compiler
diff src/cpu/sparc/vm/interpreter_sparc.cpp @ 6266:1d7922586cf6
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author | twisti |
---|---|
date | Tue, 24 Jul 2012 10:51:00 -0700 |
parents | 6759698e3140 |
children | da91efe96a93 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/interpreter_sparc.cpp Mon Jul 23 13:04:59 2012 -0700 +++ b/src/cpu/sparc/vm/interpreter_sparc.cpp Tue Jul 24 10:51:00 2012 -0700 @@ -255,17 +255,6 @@ } -// Method handle invoker -// Dispatch a method of the form java.lang.invoke.MethodHandles::invoke(...) -address InterpreterGenerator::generate_method_handle_entry(void) { - if (!EnableInvokeDynamic) { - return generate_abstract_entry(); - } - - return MethodHandles::generate_method_handle_interpreter_entry(_masm); -} - - //---------------------------------------------------------------------------------------------------- // Entry points & stack frame layout // @@ -395,7 +384,7 @@ case Interpreter::empty : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry(); break; case Interpreter::accessor : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry(); break; case Interpreter::abstract : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry(); break; - case Interpreter::method_handle : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break; + case Interpreter::java_lang_math_sin : break; case Interpreter::java_lang_math_cos : break; case Interpreter::java_lang_math_tan : break; @@ -407,7 +396,9 @@ case Interpreter::java_lang_math_exp : break; case Interpreter::java_lang_ref_reference_get : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break; - default : ShouldNotReachHere(); break; + default: + fatal(err_msg("unexpected method kind: %d", kind)); + break; } if (entry_point) return entry_point;