1 /* 2 * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 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 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /** 25 * JDK-8028429: Check that a variable-arity call site passes arguments correctly 26 * after becoming megamorphic. 27 * 28 * @test 29 * @run 30 */ 31 32 var fns = [ 33 function(x) { print("0: " + x) }, 34 function(x) { print("1: " + x) }, 35 function(x) { print("2: " + x) }, 36 function(x) { print("3: " + x) }, 37 function(x) { print("4: " + x) }, 38 function(x) { print("5: " + x) }, 39 function(x) { print("6: " + x) }, 40 function(x) { print("7: " + x) }, 41 function(x) { print("8: " + x) }, // beyond unstable link threshold 42 ] 43 44 for(var i = 0; i < fns.length; ++i) { 45 fns[i](0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 46 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42, 47 43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62, 48 63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, 49 83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101, 50 102,103,104,105,106,107,108,109,110,111,112,113,114,115,116, 51 117,118,119,120,121,122,123,124,125,126,127,128,129,130,131, 52 132,133,134,135,136,137,138,139,140,141,142,143,144,145,146, 53 147,148,149,150,151,152,153,154,155,156,157,158,159,160,161, 54 162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, 55 177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 56 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, 57 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221, 58 222,223,224,225,226,227,228,229,230,231,232,233,234,235,236, 59 237,238,239,240,241,242,243,244,245,246,247,248,249,250,251) 60 }