Mercurial > hg > graal-compiler
diff src/cpu/sparc/vm/assembler_sparc.hpp @ 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 | 8a48c2906f91 |
children | da91efe96a93 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/assembler_sparc.hpp Mon Jul 23 13:04:59 2012 -0700 +++ b/src/cpu/sparc/vm/assembler_sparc.hpp Tue Jul 24 10:51:00 2012 -0700 @@ -2538,6 +2538,11 @@ Register temp_reg, Register temp2_reg, Label& no_such_interface); + // virtual method calling + void lookup_virtual_method(Register recv_klass, + RegisterOrConstant vtable_index, + Register method_result); + // Test sub_klass against super_klass, with fast and slow paths. // The fast path produces a tri-state answer: yes / no / maybe-slow. @@ -2577,12 +2582,6 @@ Label& L_success); // method handles (JSR 292) - void check_method_handle_type(Register mtype_reg, Register mh_reg, - Register temp_reg, - Label& wrong_method_type); - void load_method_handle_vmslots(Register vmslots_reg, Register mh_reg, - Register temp_reg); - void jump_to_method_handle_entry(Register mh_reg, Register temp_reg, bool emit_delayed_nop = true); // offset relative to Gargs of argument at tos[arg_slot]. // (arg_slot == 0 means the last argument, not the first). RegisterOrConstant argument_offset(RegisterOrConstant arg_slot, @@ -2590,7 +2589,7 @@ int extra_slot_offset = 0); // Address of Gargs and argument_offset. Address argument_address(RegisterOrConstant arg_slot, - Register temp_reg, + Register temp_reg = noreg, int extra_slot_offset = 0); // Stack overflow checking