changeset 14030:f6c04e69cf75

SharedRuntime: add gen_i2c_adapter, implement it with pre-existing methods in each architecture.
author Gilles Duboscq <duboscq@ssw.jku.at>
date Thu, 27 Feb 2014 16:05:29 +0100
parents 57d600d3b504
children 390c4b742890
files src/cpu/sparc/vm/sharedRuntime_sparc.cpp src/cpu/x86/vm/sharedRuntime_x86_32.cpp src/cpu/x86/vm/sharedRuntime_x86_64.cpp src/share/vm/runtime/sharedRuntime.hpp
diffstat 4 files changed, 19 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Thu Feb 27 16:04:18 2014 +0100
+++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Thu Feb 27 16:05:29 2014 +0100
@@ -1006,6 +1006,15 @@
   __ delayed()->nop();
 }
 
+void SharedRuntime::gen_i2c_adapter(MacroAssembler *masm,
+                                    int total_args_passed,
+                                    int comp_args_on_stack,
+                                    const BasicType *sig_bt,
+                                    const VMRegPair *regs) {
+  AdapterGenerator agen(masm);
+  agen.gen_i2c_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs);
+}
+
 // ---------------------------------------------------------------
 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm,
                                                             int total_args_passed,
@@ -1016,9 +1025,7 @@
                                                             AdapterFingerPrint* fingerprint) {
   address i2c_entry = __ pc();
 
-  AdapterGenerator agen(masm);
-
-  agen.gen_i2c_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs);
+  gen_i2c_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs);
 
 
   // -------------------------------------------------------------------------
@@ -1063,7 +1070,7 @@
   }
 
   address c2i_entry = __ pc();
-
+  AdapterGenerator agen(masm);
   agen.gen_c2i_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs, L_skip_fixup);
 
   __ flush();
--- a/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Thu Feb 27 16:04:18 2014 +0100
+++ b/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Thu Feb 27 16:05:29 2014 +0100
@@ -711,7 +711,7 @@
   __ bind(L_fail);
 }
 
-static void gen_i2c_adapter(MacroAssembler *masm,
+void SharedRuntime::gen_i2c_adapter(MacroAssembler *masm,
                             int total_args_passed,
                             int comp_args_on_stack,
                             const BasicType *sig_bt,
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Thu Feb 27 16:04:18 2014 +0100
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Thu Feb 27 16:05:29 2014 +0100
@@ -642,7 +642,7 @@
   __ bind(L_fail);
 }
 
-static void gen_i2c_adapter(MacroAssembler *masm,
+void SharedRuntime::gen_i2c_adapter(MacroAssembler *masm,
                             int total_args_passed,
                             int comp_args_on_stack,
                             const BasicType *sig_bt,
--- a/src/share/vm/runtime/sharedRuntime.hpp	Thu Feb 27 16:04:18 2014 +0100
+++ b/src/share/vm/runtime/sharedRuntime.hpp	Thu Feb 27 16:05:29 2014 +0100
@@ -402,6 +402,12 @@
                                                       const VMRegPair *regs,
                                                       AdapterFingerPrint* fingerprint);
 
+  static void gen_i2c_adapter(MacroAssembler *_masm,
+                              int total_args_passed,
+                              int comp_args_on_stack,
+                              const BasicType *sig_bt,
+                              const VMRegPair *regs);
+
   // OSR support
 
   // OSR_migration_begin will extract the jvm state from an interpreter