diff src/cpu/sparc/vm/methodHandles_sparc.cpp @ 1901:7aff5786cc02

6991596: JSR 292 unimplemented adapter_opt_i2i and adapter_opt_l2i on SPARC Reviewed-by: kvn, jrose, dsamersoff
author twisti
date Mon, 18 Oct 2010 01:54:24 -0700
parents 5beba6174298
children fff777a71346
line wrap: on
line diff
--- a/src/cpu/sparc/vm/methodHandles_sparc.cpp	Fri Oct 15 02:59:48 2010 -0700
+++ b/src/cpu/sparc/vm/methodHandles_sparc.cpp	Mon Oct 18 01:54:24 2010 -0700
@@ -630,9 +630,15 @@
 
       switch (ek) {
       case _adapter_opt_i2i:
+        value = vmarg;
+        break;
       case _adapter_opt_l2i:
-        __ unimplemented(entry_name(ek));
-        value = vmarg;
+        {
+          // just delete the extra slot
+          __ add(Gargs, __ argument_offset(O0_argslot), O0_argslot);
+          remove_arg_slots(_masm, -stack_move_unit(), O0_argslot, O1_scratch, O2_scratch, O3_scratch);
+          value = vmarg = Address(O0_argslot, 0);
+        }
         break;
       case _adapter_opt_unboxi:
         {