Don't generate 64-bit arithmetic into every class
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 22 Mar 2016 02:51:04 +0100
changeset 190648053538940a
parent 1905 e361c6e8e24e
child 1907 f5be41227c81
Don't generate 64-bit arithmetic into every class
rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
rt/vm/src/main/java/org/apidesign/vm4brwsr/NumberOperations.java
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Mon Mar 21 05:46:31 2016 +0100
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue Mar 22 02:51:04 2016 +0100
     1.3 @@ -180,6 +180,7 @@
     1.4      }
     1.5  
     1.6      private String compileImpl(final String cn) throws IOException {
     1.7 +        this.numbers.reset();
     1.8          this.callbacks = cn.endsWith("/$JsCallbacks$");
     1.9          if (jc.getMajor_version() < 50 && !cn.endsWith("/package-info")) {
    1.10              throw new IOException("Can't compile " + cn + ". Class file version " + jc.getMajor_version() + "."
     2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/NumberOperations.java	Mon Mar 21 05:46:31 2016 +0100
     2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/NumberOperations.java	Tue Mar 22 02:51:04 2016 +0100
     2.3 @@ -25,6 +25,10 @@
     2.4  
     2.5      private int used;
     2.6  
     2.7 +    public void reset() {
     2.8 +        used = 0;
     2.9 +    }
    2.10 +
    2.11      public String mul32() {
    2.12          used |= MUL32;
    2.13          return "__mul32(@1,@2)";