Mercurial > hg > truffle
comparison src/cpu/x86/vm/sharedRuntime_x86_64.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 | e66fd840cb6b |
children | 93767e6a2dfd |
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. |
776 // --------------------------------------------------------------- | 776 // --------------------------------------------------------------- |
777 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm, | 777 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm, |
778 int total_args_passed, | 778 int total_args_passed, |
779 int comp_args_on_stack, | 779 int comp_args_on_stack, |
780 const BasicType *sig_bt, | 780 const BasicType *sig_bt, |
781 const VMRegPair *regs) { | 781 const VMRegPair *regs, |
782 AdapterFingerPrint* fingerprint) { | |
782 address i2c_entry = __ pc(); | 783 address i2c_entry = __ pc(); |
783 | 784 |
784 gen_i2c_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs); | 785 gen_i2c_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs); |
785 | 786 |
786 // ------------------------------------------------------------------------- | 787 // ------------------------------------------------------------------------- |
822 address c2i_entry = __ pc(); | 823 address c2i_entry = __ pc(); |
823 | 824 |
824 gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup); | 825 gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup); |
825 | 826 |
826 __ flush(); | 827 __ flush(); |
827 return new AdapterHandlerEntry(i2c_entry, c2i_entry, c2i_unverified_entry); | 828 return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry); |
828 } | 829 } |
829 | 830 |
830 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, | 831 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, |
831 VMRegPair *regs, | 832 VMRegPair *regs, |
832 int total_args_passed) { | 833 int total_args_passed) { |