# HG changeset patch # User Jaroslav Tulach # Date 1348837101 -7200 # Node ID 4fca8ddf46deb916941a4d6996a657b6ffeae199 # Parent b07c7c256771d653c61ea34e3640a57d7bc72659 Supporting iconst_m1 diff -r b07c7c256771 -r 4fca8ddf46de vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Sep 28 14:45:00 2012 +0200 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Sep 28 14:58:21 2012 +0200 @@ -358,6 +358,9 @@ case bc_aconst_null: out.append("stack.push(null);"); break; + case bc_iconst_m1: + out.append("stack.push(-1);"); + break; case bc_iconst_0: case bc_dconst_0: case bc_lconst_0: diff -r b07c7c256771 -r 4fca8ddf46de vm/src/test/java/org/apidesign/vm4brwsr/StaticMethod.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethod.java Fri Sep 28 14:45:00 2012 +0200 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethod.java Fri Sep 28 14:58:21 2012 +0200 @@ -23,6 +23,10 @@ */ public class StaticMethod { private static int cnt; + + public static int minusOne() { + return -1; + } public static Object none(int x, int y) { Object toRet = null; diff -r b07c7c256771 -r 4fca8ddf46de vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java Fri Sep 28 14:45:00 2012 +0200 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java Fri Sep 28 14:58:21 2012 +0200 @@ -48,6 +48,14 @@ ); } + @Test public void minusOne() throws Exception { + assertExec( + "Should be minus one", + "org_apidesign_vm4brwsr_StaticMethod_minusOneI", + Double.valueOf(-1) + ); + } + @Test public void doubleWithoutLong() throws Exception { assertExec( "Should be two",