diff -r 798610a8a552 -r 96a6bba0e695 test/nashorn/script/basic/JDK-8147076.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/nashorn/script/basic/JDK-8147076.js Sat Sep 30 03:15:56 2017 +0530 @@ -0,0 +1,84 @@ +/* + * 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); +