changeset 2269:d368f0c0d5b1

Jesus, was it really this simple?
author Gary Benson <gbenson@redhat.com>
date Wed, 09 Mar 2011 11:40:33 +0000
parents f8bac4fa8890
children a40109f1e3c7
files src/cpu/zero/vm/cppInterpreter_zero.cpp
diffstat 1 files changed, 3 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/zero/vm/cppInterpreter_zero.cpp	Wed Mar 09 11:29:10 2011 +0000
+++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp	Wed Mar 09 11:40:33 2011 +0000
@@ -655,30 +655,15 @@
     // NB the x86 code for this (in methodHandles_x86.cpp, search for
     // "genericInvoker") is really really odd.  I'm hoping it's trying
     // to accomodate odd VM/class library combinations I can ignore.
-    oop invoker = java_dyn_MethodTypeForm::genericInvoker(methodtype_form);
-
-    tty->cr();
-    tty->print("invoker = ");
-    invoker->print_on(tty);
-     
-
-    tty->cr();
-    tty->print_cr("invoke_generic_slow_path: %d vmslots", num_vmslots);
-    for (int i = 0; i < num_vmslots + 2; i++)
-      tty->print_cr("%2d: %p: %p", i, VMSLOTS_SLOT(i), VMSLOTS_ADDR(i));
+    oop method_handle = java_dyn_MethodTypeForm::genericInvoker(methodtype_form);
 
     // Make room on the stack for a new pointer
     insert_vmslots(num_vmslots, 1, CHECK_0); // XXX unwind!
     vmslots = stack->sp();
     num_vmslots++;
-    
-    tty->cr();
-    tty->print_cr("invoke_generic_slow_path: %d vmslots", num_vmslots);
-    for (int i = 0; i < num_vmslots + 2; i++)
-      tty->print_cr("%2d: %p: %p", i, VMSLOTS_SLOT(i), VMSLOTS_ADDR(i));
 
-    tty->cr();
-    Unimplemented(); // XXX invoke_generic_slow_path
+    // Insert the adapter at the end of the vmslots
+    SET_VMSLOTS_OBJECT(method_handle, num_vmslots - 1);
   }
 
   // invokeExact