Mercurial > hg > truffle
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