# HG changeset patch # User Gilles Duboscq # Date 1393513529 -3600 # Node ID f6c04e69cf75ae59dd31aa5692161362803caae2 # Parent 57d600d3b50468d1cb57ce8f399d30a69d61ea7e SharedRuntime: add gen_i2c_adapter, implement it with pre-existing methods in each architecture. diff -r 57d600d3b504 -r f6c04e69cf75 src/cpu/sparc/vm/sharedRuntime_sparc.cpp --- 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(); diff -r 57d600d3b504 -r f6c04e69cf75 src/cpu/x86/vm/sharedRuntime_x86_32.cpp --- 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, diff -r 57d600d3b504 -r f6c04e69cf75 src/cpu/x86/vm/sharedRuntime_x86_64.cpp --- 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, diff -r 57d600d3b504 -r f6c04e69cf75 src/share/vm/runtime/sharedRuntime.hpp --- 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