-
Sub-task
-
Resolution: Fixed
-
P3
-
9
-
None
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8048213 | 9 | Attila Szegedi | P3 | Resolved | Fixed | b22 |
JDK-8064148 | 8u45 | Attila Szegedi | P3 | Resolved | Fixed | b01 |
JDK-8055613 | 8u40 | Attila Szegedi | P3 | Resolved | Fixed | b04 |
JDK-8070385 | emb-8u47 | Attila Szegedi | P3 | Resolved | Fixed | team |
jjs> Function("switch((null >> x3)) { default: {var x; break ; }\nthrow x; }")()
Exception in thread "main" java.lang.AssertionError
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.getLocalVariableType(LocalVariableTypesCalculator.java:975)
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.symbolIsUsed(LocalVariableTypesCalculator.java:1414)
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.enterIdentNode(LocalVariableTypesCalculator.java:604)
at jdk.nashorn.internal.ir.IdentNode.accept(IdentNode.java:134)
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.enterThrowNode(LocalVariableTypesCalculator.java:844)
at jdk.nashorn.internal.ir.ThrowNode.accept(ThrowNode.java:78)
at jdk.nashorn.internal.ir.Node.accept(Node.java:268)
at jdk.nashorn.internal.ir.Block.accept(Block.java:152)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.Block.accept(Block.java:386)
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.enterSwitchNode(LocalVariableTypesCalculator.java:753)
at jdk.nashorn.internal.ir.SwitchNode.accept(SwitchNode.java:104)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.LexicalContextStatement.accept(LexicalContextStatement.java:53)
at jdk.nashorn.internal.ir.SwitchNode.accept(SwitchNode.java:38)
at jdk.nashorn.internal.ir.Node.accept(Node.java:268)
at jdk.nashorn.internal.ir.Block.accept(Block.java:152)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.Block.accept(Block.java:386)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:351)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.LexicalContextExpression.accept(LexicalContextExpression.java:46)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:52)
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator$1.leaveFunctionNode(LocalVariableTypesCalculator.java:1179)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:351)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.LexicalContextExpression.accept(LexicalContextExpression.java:46)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:52)
at jdk.nashorn.internal.ir.BinaryNode.accept(BinaryNode.java:319)
at jdk.nashorn.internal.ir.ExpressionStatement.accept(ExpressionStatement.java:67)
at jdk.nashorn.internal.ir.Node.accept(Node.java:268)
at jdk.nashorn.internal.ir.Block.accept(Block.java:152)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.Block.accept(Block.java:386)
at jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.leaveFunctionNode(LocalVariableTypesCalculator.java:1235)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:351)
at jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.LexicalContextExpression.accept(LexicalContextExpression.java:46)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:52)
at jdk.nashorn.internal.codegen.CompilationPhase$9.transform(CompilationPhase.java:277)
at jdk.nashorn.internal.codegen.CompilationPhase.apply(CompilationPhase.java:685)
at jdk.nashorn.internal.codegen.Compiler.compile(Compiler.java:506)
at jdk.nashorn.internal.runtime.Context.compile(Context.java:1106)
at jdk.nashorn.internal.runtime.Context.eval(Context.java:580)
at jdk.nashorn.internal.objects.Global.directEval(Global.java:886)
at jdk.nashorn.internal.objects.NativeFunction.function(NativeFunction.java:286)
at jdk.nashorn.internal.scripts.Script$1$\^shell\_.:program(<shell>:1)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:567)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:221)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:374)
at jdk.nashorn.internal.runtime.Context.eval(Context.java:620)
at jdk.nashorn.tools.Shell.readEvalPrint(Shell.java:448)
at jdk.nashorn.tools.Shell.run(Shell.java:158)
at jdk.nashorn.tools.Shell.main(Shell.java:133)
at jdk.nashorn.tools.Shell.main(Shell.java:112)
- backported by
-
JDK-8048213 Function("switch((null >> x3)) { default: {var x; break ; }\nthrow x; }")() results in AssertionError in LocalVariableTypesCalculator
-
- Resolved
-
-
JDK-8055613 Function("switch((null >> x3)) { default: {var x; break ; }\nthrow x; }")() results in AssertionError in LocalVariableTypesCalculator
-
- Resolved
-
-
JDK-8064148 Function("switch((null >> x3)) { default: {var x; break ; }\nthrow x; }")() results in AssertionError in LocalVariableTypesCalculator
-
- Resolved
-
-
JDK-8070385 Function("switch((null >> x3)) { default: {var x; break ; }\nthrow x; }")() results in AssertionError in LocalVariableTypesCalculator
-
- Resolved
-
- duplicates
-
JDK-8047165 Function("switch(0) { default: {break;} return }")() crashes with VerifyError
-
- Closed
-
-
JDK-8047364 function f() { L1:try { return } finally { break L1 } } f() results in VerifyError
-
- Closed
-
- relates to
-
JDK-8048186 Nashorn incorrectly identifies some code as dead
-
- Closed
-