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;