# HG changeset patch # User Jaroslav Tulach # Date 1348569487 -7200 # Node ID 3072c9fab69c5f6c63d18ce8b3f5c6922e68172c # Parent 7efb52f76270b4dc068e07bea62b493b412b4f6c Few more instructions diff -r 7efb52f76270 -r 3072c9fab69c vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Sep 25 12:26:29 2012 +0200 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Sep 25 12:38:07 2012 +0200 @@ -238,6 +238,15 @@ out.append("stack.push(arg").append(indx + ");"); break; } + case bc_istore: + case bc_lstore: + case bc_fstore: + case bc_dstore: + case bc_astore: { + final int indx = (byteCodes[++i] + 256) % 256; + out.append("arg" + indx).append(" = stack.pop()"); + break; + } case bc_astore_0: case bc_istore_0: case bc_lstore_0: @@ -537,6 +546,10 @@ case bc_bipush: out.append("stack.push(" + byteCodes[++i] + ");"); break; + case bc_sipush: + out.append("stack.push(" + readIntArg(byteCodes, i) + ");"); + i += 2; + break; case bc_getfield: { int indx = readIntArg(byteCodes, i); CPFieldInfo fi = (CPFieldInfo) jc.getConstantPool().get(indx);