Supporting iconst_m1
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 28 Sep 2012 14:58:21 +0200
changeset 484fca8ddf46de
parent 46 b07c7c256771
child 49 0a115f1c6f3c
child 101 ff3f0de0b8a2
Supporting iconst_m1
vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
vm/src/test/java/org/apidesign/vm4brwsr/StaticMethod.java
vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Fri Sep 28 14:45:00 2012 +0200
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Fri Sep 28 14:58:21 2012 +0200
     1.3 @@ -358,6 +358,9 @@
     1.4                  case bc_aconst_null:
     1.5                      out.append("stack.push(null);");
     1.6                      break;
     1.7 +                case bc_iconst_m1:
     1.8 +                    out.append("stack.push(-1);");
     1.9 +                    break;
    1.10                  case bc_iconst_0:
    1.11                  case bc_dconst_0:
    1.12                  case bc_lconst_0:
     2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethod.java	Fri Sep 28 14:45:00 2012 +0200
     2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethod.java	Fri Sep 28 14:58:21 2012 +0200
     2.3 @@ -23,6 +23,10 @@
     2.4   */
     2.5  public class StaticMethod {
     2.6      private static int cnt;
     2.7 +
     2.8 +    public static int minusOne() {
     2.9 +        return -1;
    2.10 +    }
    2.11      
    2.12      public static Object none(int x, int y) {
    2.13          Object toRet = null;
     3.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java	Fri Sep 28 14:45:00 2012 +0200
     3.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StaticMethodTest.java	Fri Sep 28 14:58:21 2012 +0200
     3.3 @@ -48,6 +48,14 @@
     3.4          );
     3.5      }
     3.6  
     3.7 +    @Test public void minusOne() throws Exception {
     3.8 +        assertExec(
     3.9 +            "Should be minus one", 
    3.10 +            "org_apidesign_vm4brwsr_StaticMethod_minusOneI", 
    3.11 +            Double.valueOf(-1)
    3.12 +        );
    3.13 +    }
    3.14 +
    3.15      @Test public void doubleWithoutLong() throws Exception {
    3.16          assertExec(
    3.17              "Should be two",