X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fjs%2FByteCodes.java;fp=src%2Forg%2Fxwt%2Fjs%2FByteCodes.java;h=bac280a7ede1a4ff35fd70d4678c7013094739b0;hb=1da33fe9e7c5104ec5d0b9b312d1114fdf2931be;hp=c74c5640efb7f6ccb78309692f0111b12ec8e7c3;hpb=7d13f43cfd04ddf5d4b9fee176697c12e1f9d0c9;p=org.ibex.core.git diff --git a/src/org/xwt/js/ByteCodes.java b/src/org/xwt/js/ByteCodes.java index c74c564..bac280a 100644 --- a/src/org/xwt/js/ByteCodes.java +++ b/src/org/xwt/js/ByteCodes.java @@ -71,12 +71,16 @@ interface ByteCodes { /** execute the ForthBlock pointed to by the literal until BREAK encountered; push TRUE onto the stack for the first iteration * and FALSE for all subsequent iterations */ - public static final byte LOOP = -22; + public static final byte LOOP = -22; + + /** pop three elements off the stack; method arguments, method name, and an object to call the method on, then calls the method + Has a similar effect a a GET followed by a CALL */ + public static final byte CALLMETHOD = -23; public static final String[] bytecodeToString = new String[] { "", "", "LITERAL", "ARRAY", "OBJECT", "NEWFUNCTION", "DECLARE", "TOPSCOPE", "GET", "GET_PRESERVE", "PUT", "JT", "JF", "JMP", "POP", "CALL", "PUSHKEYS", - "SWAP", "NEWSCOPE", "OLDSCOPE", "DUP", "LABEL", "LOOP" + "SWAP", "NEWSCOPE", "OLDSCOPE", "DUP", "LABEL", "LOOP", "CALLMETHOD" }; }