f2a9034adf
Modified ARGLIMIT Reviewed-by: hannesw, jlaskey
85 lines
4.6 KiB
JavaScript
85 lines
4.6 KiB
JavaScript
/*
|
|
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* This code is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License version 2 only, as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
* version 2 for more details (a copy is included in the LICENSE file that
|
|
* accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU General Public License version
|
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*
|
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
* or visit www.oracle.com if you need additional information or have any
|
|
* questions.
|
|
*/
|
|
|
|
/**
|
|
* JDK-8147076: LinkerCallSite.ARGLIMIT is used incorrectly
|
|
*
|
|
* @test
|
|
* @run
|
|
*/
|
|
|
|
function nonvarargs(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10,
|
|
p11, p12, p13, p14, p15, p16, p17, p18, p19, p20,
|
|
p21, p22, p23, p24, p25, p26, p27, p28, p29, p30,
|
|
p31, p32, p33, p34, p35, p36, p37, p38, p39, p40,
|
|
p41, p42, p43, p44, p45, p46, p47, p48, p49, p50,
|
|
p51, p52, p53, p54, p55, p56, p57, p58, p59, p60,
|
|
p61, p62, p63, p64, p65, p66, p67, p68, p69, p70,
|
|
p71, p72, p73, p74, p75, p76, p77, p78, p79, p80,
|
|
p81, p82, p83, p84, p85, p86, p87, p88, p89, p90,
|
|
p91, p92, p93, p94, p95, p96, p97, p98, p99, p100,
|
|
p101, p102, p103, p104, p105, p106, p107, p108, p109, p110,
|
|
p111, p112, p113, p114, p115, p116, p117, p118, p119, p120,
|
|
p121, p122, p123, p124, p125) {
|
|
//eval() is just to make sure this-object and callee are passed as parameters
|
|
eval();
|
|
print("non-vararg invocation if arguments <= 125");
|
|
}
|
|
|
|
nonvarargs(1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.10,11.11,12.12,13.13,14.14,15.15,16.16,17.17,18.18,19.19,20.20,
|
|
21.21,22.22,23.23,24.24,25.25,26.26,27.27,28.28,29.29,30.30,31.31,32.32,33.33,34.34,35.35,36.36,37.37,38.38,39.39,40.40,
|
|
41.41,42.42,43.43,44.44,45.45,46.46,47.47,48.48,49.49,50.50,51.51,52.52,53.53,54.54,55.55,56.56,57.57,58.58,59.59,60.60,
|
|
61.61,62.62,63.63,64.64,65.65,66.66,67.67,68.68,69.69,70.70,71.71,72.72,73.73,74.74,75.75,76.76,77.77,78.78,79.79,80.80,
|
|
81.81,82.82,83.83,84.84,85.85,86.86,87.87,88.88,89.89,90.90,91.91,92.92,93.93,94.94,95.95,96.96,97.97,98.98,99.99,100.100,
|
|
101.101,102.102,103.103,104.104,105.105,106.106,107.107,108.108,109.109,110.110,111.111,112.112,113.113,114.114,115.115,
|
|
116.116,117.117,118.118,119.119,120.120,121.121,122.122,123.123,124.124,125.125);
|
|
|
|
|
|
|
|
function varargs(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10,
|
|
p11, p12, p13, p14, p15, p16, p17, p18, p19, p20,
|
|
p21, p22, p23, p24, p25, p26, p27, p28, p29, p30,
|
|
p31, p32, p33, p34, p35, p36, p37, p38, p39, p40,
|
|
p41, p42, p43, p44, p45, p46, p47, p48, p49, p50,
|
|
p51, p52, p53, p54, p55, p56, p57, p58, p59, p60,
|
|
p61, p62, p63, p64, p65, p66, p67, p68, p69, p70,
|
|
p71, p72, p73, p74, p75, p76, p77, p78, p79, p80,
|
|
p81, p82, p83, p84, p85, p86, p87, p88, p89, p90,
|
|
p91, p92, p93, p94, p95, p96, p97, p98, p99, p100,
|
|
p101, p102, p103, p104, p105, p106, p107, p108, p109, p110,
|
|
p111, p112, p113, p114, p115, p116, p117, p118, p119, p120,
|
|
p121, p122, p123, p124, p125, p126) {
|
|
//eval() is just to make sure this-object and callee are passed as parameters
|
|
eval();
|
|
print("vararg invocation if arguments > 125");
|
|
}
|
|
|
|
varargs(1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.10,11.11,12.12,13.13,14.14,15.15,16.16,17.17,18.18,19.19,20.20,
|
|
21.21,22.22,23.23,24.24,25.25,26.26,27.27,28.28,29.29,30.30,31.31,32.32,33.33,34.34,35.35,36.36,37.37,38.38,39.39,40.40,
|
|
41.41,42.42,43.43,44.44,45.45,46.46,47.47,48.48,49.49,50.50,51.51,52.52,53.53,54.54,55.55,56.56,57.57,58.58,59.59,60.60,
|
|
61.61,62.62,63.63,64.64,65.65,66.66,67.67,68.68,69.69,70.70,71.71,72.72,73.73,74.74,75.75,76.76,77.77,78.78,79.79,80.80,
|
|
81.81,82.82,83.83,84.84,85.85,86.86,87.87,88.88,89.89,90.90,91.91,92.92,93.93,94.94,95.95,96.96,97.97,98.98,99.99,100.100,
|
|
101.101,102.102,103.103,104.104,105.105,106.106,107.107,108.108,109.109,110.110,111.111,112.112,113.113,114.114,115.115,
|
|
116.116,117.117,118.118,119.119,120.120,121.121,122.122,123.123,124.124,125.125,126.126);
|
|
|