1.1 --- a/test/script/basic/NASHORN-653.js Wed Feb 06 12:51:09 2013 -0400 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,104 +0,0 @@ 1.4 -/* 1.5 - * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. 1.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 - * 1.8 - * This code is free software; you can redistribute it and/or modify it 1.9 - * under the terms of the GNU General Public License version 2 only, as 1.10 - * published by the Free Software Foundation. 1.11 - * 1.12 - * This code is distributed in the hope that it will be useful, but WITHOUT 1.13 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.14 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.15 - * version 2 for more details (a copy is included in the LICENSE file that 1.16 - * accompanied this code). 1.17 - * 1.18 - * You should have received a copy of the GNU General Public License version 1.19 - * 2 along with this work; if not, write to the Free Software Foundation, 1.20 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.21 - * 1.22 - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 1.23 - * or visit www.oracle.com if you need additional information or have any 1.24 - * questions. 1.25 - */ 1.26 - 1.27 -/** 1.28 - * NASHORN-653 : Various problems with isTerminal and dead code generation from ASM 1.29 - * 1.30 - * @test 1.31 - * @run 1.32 - */ 1.33 - 1.34 -var script = " \ 1.35 -function a() { \ 1.36 - return true; \ 1.37 -} \ 1.38 - \ 1.39 -function b() { \ 1.40 - while (x) { \ 1.41 - return true; \ 1.42 - } \ 1.43 -} \ 1.44 - \ 1.45 -function c() { \ 1.46 - while (true) { \ 1.47 - return true; \ 1.48 - } \ 1.49 - } \ 1.50 - \ 1.51 -function d() { \ 1.52 - do { \ 1.53 - return true; \ 1.54 - } while (x); \ 1.55 -} \ 1.56 -\ 1.57 -function f() { \ 1.58 - for (;;) { \ 1.59 - return true; \ 1.60 - } \ 1.61 -} \ 1.62 -\ 1.63 -function e() { \ 1.64 - for (;;) { \ 1.65 - return true; \ 1.66 - } \ 1.67 -} \ 1.68 -\ 1.69 -function g() { \ 1.70 - for(;;) { \ 1.71 - print('goes on and on and on ... '); \ 1.72 - } \ 1.73 - print('x'); \ 1.74 -} \ 1.75 -"; 1.76 - 1.77 -function runScriptEngine(opts, code) { 1.78 - var imports = new JavaImporter( 1.79 - Packages.jdk.nashorn.api.scripting, 1.80 - java.io, java.lang, java.util); 1.81 - 1.82 - with(imports) { 1.83 - var fac = new NashornScriptEngineFactory(); 1.84 - // get current System.err 1.85 - var oldErr = System.err; 1.86 - var baos = new ByteArrayOutputStream(); 1.87 - var newErr = new PrintStream(baos); 1.88 - try { 1.89 - // set new standard err 1.90 - System.setErr(newErr); 1.91 - var strType = Java.type("java.lang.String"); 1.92 - var engine = fac.getScriptEngine(Java.toJavaArray(opts, strType)); 1.93 - engine.eval(code); 1.94 - newErr.flush(); 1.95 - return new java.lang.String(baos.toByteArray()); 1.96 - } finally { 1.97 - // restore System.err to old value 1.98 - System.setErr(oldErr); 1.99 - } 1.100 - } 1.101 -} 1.102 - 1.103 -var result = runScriptEngine([ "--print-code" ], script); 1.104 - 1.105 -if (result.indexOf("NOP") != -1) { 1.106 - fail("ASM genenerates NOP*/ATHROW sequences - dead code is still in the script"); 1.107 -}