8137149: add tests for issues closed during Nashorn issue cleanup
authormhaupt
Mon, 11 Apr 2016 18:10:30 +0200
changeset 36981 c8671481e814
parent 36980 2ae529a820e1
child 36982 e5e52e6d43a4
8137149: add tests for issues closed during Nashorn issue cleanup Reviewed-by: jlaskey, sundar
nashorn/test/script/basic/JDK-8026249.js
nashorn/test/script/basic/JDK-8028429.js
nashorn/test/script/basic/JDK-8028429.js.EXPECTED
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8026249.js	Mon Apr 11 18:10:30 2016 +0200
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016, 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-8026249: Cover several fuzzing test cases.
+ *
+ * @test
+ * @run
+ */
+
+function f1() { if(x3, y) x; }
+
+function f2(x) { return y, x }
+
+function q() { L: {{break L; } return; } }
+function q() { L: {if(x2) {break L; } throw x; } }
+
+function r() { switch(x) { default: if(true) break; return; } }
+function r() { switch(x) { default: L: break; return; } }
+
+function f4() { with({}) return eval("arguments", 3/0); }
+try { f4() } catch(e) { e.printStackTrace() }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8028429.js	Mon Apr 11 18:10:30 2016 +0200
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016, 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-8028429: Check that a variable-arity call site passes arguments correctly
+ * after becoming megamorphic.
+ *
+ * @test
+ * @run
+ */
+
+ var fns = [
+    function(x) { print("0: " + x) },
+    function(x) { print("1: " + x) },
+    function(x) { print("2: " + x) },
+    function(x) { print("3: " + x) },
+    function(x) { print("4: " + x) },
+    function(x) { print("5: " + x) },
+    function(x) { print("6: " + x) },
+    function(x) { print("7: " + x) },
+    function(x) { print("8: " + x) }, // beyond unstable link threshold
+]
+
+for(var i = 0; i < fns.length; ++i) {
+    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,
+           23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,
+           43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,
+           63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,
+           83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,
+           102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,
+           117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,
+           132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,
+           147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,
+           162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+           177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
+           192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,
+           207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,
+           222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,
+           237,238,239,240,241,242,243,244,245,246,247,248,249,250,251)
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8028429.js.EXPECTED	Mon Apr 11 18:10:30 2016 +0200
@@ -0,0 +1,9 @@
+0: 0
+1: 0
+2: 0
+3: 0
+4: 0
+5: 0
+6: 0
+7: 0
+8: 0