Mercurial > hg > truffle
comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 1187:cf0685d550f1
6911204: generated adapters with large signatures can fill up the code cache
Reviewed-by: kvn, jrose
author | never |
---|---|
date | Wed, 20 Jan 2010 22:10:33 -0800 |
parents | 0a46d0c5dccb |
children | 576e77447e3c |
comparison
equal
deleted
inserted
replaced
1179:3d6016e040d6 | 1187:cf0685d550f1 |
---|---|
1 /* | 1 /* |
2 * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
1187 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm, | 1187 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm, |
1188 int total_args_passed, | 1188 int total_args_passed, |
1189 // VMReg max_arg, | 1189 // VMReg max_arg, |
1190 int comp_args_on_stack, // VMRegStackSlots | 1190 int comp_args_on_stack, // VMRegStackSlots |
1191 const BasicType *sig_bt, | 1191 const BasicType *sig_bt, |
1192 const VMRegPair *regs) { | 1192 const VMRegPair *regs, |
1193 AdapterFingerPrint* fingerprint) { | |
1193 address i2c_entry = __ pc(); | 1194 address i2c_entry = __ pc(); |
1194 | 1195 |
1195 AdapterGenerator agen(masm); | 1196 AdapterGenerator agen(masm); |
1196 | 1197 |
1197 agen.gen_i2c_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs); | 1198 agen.gen_i2c_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs); |
1256 address c2i_entry = __ pc(); | 1257 address c2i_entry = __ pc(); |
1257 | 1258 |
1258 agen.gen_c2i_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup); | 1259 agen.gen_c2i_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup); |
1259 | 1260 |
1260 __ flush(); | 1261 __ flush(); |
1261 return new AdapterHandlerEntry(i2c_entry, c2i_entry, c2i_unverified_entry); | 1262 return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry); |
1262 | 1263 |
1263 } | 1264 } |
1264 | 1265 |
1265 // Helper function for native calling conventions | 1266 // Helper function for native calling conventions |
1266 static VMReg int_stk_helper( int i ) { | 1267 static VMReg int_stk_helper( int i ) { |