src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java
changeset 7 5b135a2f2de3
parent 6 6e4682985907
child 8 82772c96ec57
     1.1 --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java	Mon Aug 27 14:36:48 2012 +0200
     1.2 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java	Mon Aug 27 15:16:39 2012 +0200
     1.3 @@ -187,6 +187,14 @@
     1.4                  case bc_ddiv:
     1.5                      out.append("{ var tmp = stack.pop(); stack.push(stack.pop() / tmp); }");
     1.6                      break;
     1.7 +                case bc_iand:
     1.8 +                case bc_land:
     1.9 +                    out.append("stack.push(stack.pop() & stack.pop());");
    1.10 +                    break;
    1.11 +                case bc_ior:
    1.12 +                case bc_lor:
    1.13 +                    out.append("stack.push(stack.pop() | stack.pop());");
    1.14 +                    break;
    1.15                  case bc_ixor:
    1.16                  case bc_lxor:
    1.17                      out.append("stack.push(stack.pop() ^ stack.pop());");
    1.18 @@ -258,6 +266,13 @@
    1.19                      i = generateIf(byteCodes, i, "==");
    1.20                      break;
    1.21                  }
    1.22 +                case bc_ifeq: {
    1.23 +                    int indx = i + readIntArg(byteCodes, i);
    1.24 +                    out.append("if (stack.pop() == 0) { gt = " + indx);
    1.25 +                    out.append("; continue; }");
    1.26 +                    i += 2;
    1.27 +                    break;
    1.28 +                }
    1.29                  case bc_if_icmpne:
    1.30                      i = generateIf(byteCodes, i, "!=");
    1.31                      break;