diff src/cpu/x86/vm/assembler_x86.hpp @ 3446:07c2e7ffd1fc

7047697: MethodHandle.invokeExact call for wrong method causes VM failure if run with -Xcomp Reviewed-by: never, twisti
author jrose
date Wed, 08 Jun 2011 17:04:06 -0700
parents 167b70ff3abc
children a3081a3a2b54
line wrap: on
line diff
--- a/src/cpu/x86/vm/assembler_x86.hpp	Tue Jun 07 16:44:56 2011 -0700
+++ b/src/cpu/x86/vm/assembler_x86.hpp	Wed Jun 08 17:04:06 2011 -0700
@@ -1660,6 +1660,14 @@
                Register arg_1, Register arg_2, Register arg_3,
                bool check_exceptions = true);
 
+  // These always tightly bind to MacroAssembler::call_VM_base
+  // bypassing the virtual implementation
+  void super_call_VM(Register oop_result, Register last_java_sp, address entry_point, int number_of_arguments = 0, bool check_exceptions = true);
+  void super_call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, bool check_exceptions = true);
+  void super_call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true);
+  void super_call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true);
+  void super_call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, Register arg_3, Register arg_4, bool check_exceptions = true);
+
   void call_VM_leaf(address entry_point,
                     int number_of_arguments = 0);
   void call_VM_leaf(address entry_point,