rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchclosure
changeset 1543 bafa63ac44a2
parent 1535 c02c6d409461
child 1547 7c10f6d5635c
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue May 06 11:12:40 2014 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Wed May 07 10:01:54 2014 +0200
     1.3 @@ -1118,7 +1118,11 @@
     1.4                      break;
     1.5                  case opc_dup: {
     1.6                      final Variable v = smapper.get(0);
     1.7 -                    emit(smapper, this, "var @1 = @2;", smapper.pushT(v.getType()), v);
     1.8 +                    if (smapper.isDirty()) {
     1.9 +                        emit(smapper, this, "var @1 = @2;", smapper.pushT(v.getType()), v);
    1.10 +                    } else {
    1.11 +                        smapper.assign(this, v.getType(), v);
    1.12 +                    }   
    1.13                      break;
    1.14                  }
    1.15                  case opc_dup2: {