-
Sub-task
-
Resolution: Fixed
-
P2
-
8
-
None
-
b98
-
generic
-
generic
-
Verified
From Tycoon
var b = 0x40000000 * 1025;
var c = 0x7fffffff * 1024;
var i = 1;
var e = 3;
var x = [(b>>>e|(c&i)<<32-e)>>0>>>0,c>>e>>>0];
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
jdk/nashorn/internal/scripts/Script$\^shell\_.runScript(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object; @88: dastore
Reason:
Type long (current frame, stack[4]) is not assignable to double
Current Frame:
bci: @88
flags: { }
locals: { 'jdk/nashorn/internal/runtime/ScriptFunction', 'java/lang/Object', 'jdk/nashorn/internal/runtime/ScriptObject', 'jdk/nashorn/internal/runtime/Undefined' }
stack: { 'jdk/nashorn/internal/runtime/ScriptObject', '[D', '[D', integer, long, long_2nd }
Bytecode:
0000000: 2ab6 0018 4dbb 001a 5903 b800 1e2c b700
0000010: 21b8 0027 4db2 002b 4e2c 04b8 002f 5903
0000020: 2cba 003b 0000 2cba 003e 0000 7c85 1400
0000030: 3f7f 882c ba00 4300 002c ba00 4600 007e
0000040: 1400 472c ba00 4b00 0067 b800 5178 8003
0000050: 7a03 7c85 1400 3f7f 5259 042c ba00 4300
0000060: 002c ba00 3e00 007a 037c 8514 003f 7f52
0000070: b800 57ba 005b 0000 2db0
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2449)
at java.lang.Class.getDeclaredField(Class.java:1971)
at jdk.nashorn.internal.codegen.Compiler$2.run(Compiler.java:417)
at jdk.nashorn.internal.codegen.Compiler$2.run(Compiler.java:413)
at java.security.AccessController.doPrivileged(Native Method)
at jdk.nashorn.internal.codegen.Compiler.install(Compiler.java:413)
at jdk.nashorn.internal.codegen.Compiler.install(Compiler.java:447)
at jdk.nashorn.internal.runtime.Context.compile(Context.java:812)
at jdk.nashorn.internal.runtime.Context.eval(Context.java:373)
at jdk.nashorn.tools.Shell.readEvalPrint(Shell.java:439)
at jdk.nashorn.tools.Shell.run(Shell.java:167)
at jdk.nashorn.tools.Shell.main(Shell.java:142)
at jdk.nashorn.tools.Shell.main(Shell.java:121)
var b = 0x40000000 * 1025;
var c = 0x7fffffff * 1024;
var i = 1;
var e = 3;
var x = [(b>>>e|(c&i)<<32-e)>>0>>>0,c>>e>>>0];
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
jdk/nashorn/internal/scripts/Script$\^shell\_.runScript(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object; @88: dastore
Reason:
Type long (current frame, stack[4]) is not assignable to double
Current Frame:
bci: @88
flags: { }
locals: { 'jdk/nashorn/internal/runtime/ScriptFunction', 'java/lang/Object', 'jdk/nashorn/internal/runtime/ScriptObject', 'jdk/nashorn/internal/runtime/Undefined' }
stack: { 'jdk/nashorn/internal/runtime/ScriptObject', '[D', '[D', integer, long, long_2nd }
Bytecode:
0000000: 2ab6 0018 4dbb 001a 5903 b800 1e2c b700
0000010: 21b8 0027 4db2 002b 4e2c 04b8 002f 5903
0000020: 2cba 003b 0000 2cba 003e 0000 7c85 1400
0000030: 3f7f 882c ba00 4300 002c ba00 4600 007e
0000040: 1400 472c ba00 4b00 0067 b800 5178 8003
0000050: 7a03 7c85 1400 3f7f 5259 042c ba00 4300
0000060: 002c ba00 3e00 007a 037c 8514 003f 7f52
0000070: b800 57ba 005b 0000 2db0
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2449)
at java.lang.Class.getDeclaredField(Class.java:1971)
at jdk.nashorn.internal.codegen.Compiler$2.run(Compiler.java:417)
at jdk.nashorn.internal.codegen.Compiler$2.run(Compiler.java:413)
at java.security.AccessController.doPrivileged(Native Method)
at jdk.nashorn.internal.codegen.Compiler.install(Compiler.java:413)
at jdk.nashorn.internal.codegen.Compiler.install(Compiler.java:447)
at jdk.nashorn.internal.runtime.Context.compile(Context.java:812)
at jdk.nashorn.internal.runtime.Context.eval(Context.java:373)
at jdk.nashorn.tools.Shell.readEvalPrint(Shell.java:439)
at jdk.nashorn.tools.Shell.run(Shell.java:167)
at jdk.nashorn.tools.Shell.main(Shell.java:142)
at jdk.nashorn.tools.Shell.main(Shell.java:121)