From: kramm Date: Mon, 24 Nov 2008 16:14:37 +0000 (+0000) Subject: renamed abc_code_t into code_t X-Git-Tag: release-0-9-0~761 X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;ds=sidebyside;h=5158486e21a043e8f4c5147cb5a7766a065aa518;p=swftools.git renamed abc_code_t into code_t --- diff --git a/lib/as3/mkabc.py b/lib/as3/mkabc.py index ff5dfd4..6de1e7b 100644 --- a/lib/as3/mkabc.py +++ b/lib/as3/mkabc.py @@ -41,9 +41,9 @@ for line in fi.readlines(): elif c == "c": type,pname="abc_class_t*","m" elif c == "j": - type,pname="abc_code_t*","label" + type,pname="code_t*","label" elif c == "S": - type,pname="void*","labels" + type,pname="lookupswitch_t*","l" elif c == "D": type,pname="void*","debuginfo" elif c == "r": @@ -60,15 +60,15 @@ for line in fi.readlines(): paramstr += pname names += [pname] - foh.write("abc_code_t* abc_%s(abc_code_t*prev%s);\n" % (name, paramstr)) + foh.write("code_t* abc_%s(code_t*prev%s);\n" % (name, paramstr)) - foc.write("abc_code_t* abc_%s(abc_code_t*prev%s)\n" % (name, paramstr)) + foc.write("code_t* abc_%s(code_t*prev%s)\n" % (name, paramstr)) foc.write("{\n") - foc.write(" abc_code_t*self = add_opcode(prev, %s);\n" % op) + foc.write(" code_t*self = add_opcode(prev, %s);\n" % op) i = 0 for pname,c in zip(names,params): if(c == "2"): - foc.write(" self->data[%d] = %s;\n" % (i,pname)); + foc.write(" self->data[%d] = multiname_fromstring(%s); // FIXME\n" % (i,pname)); elif(c in "nur"): foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname)) elif(c == "b"): @@ -82,9 +82,10 @@ for line in fi.readlines(): elif(c == "i"): foc.write(" self->data[%d] = %s;\n" % (i,pname)) elif(c == "j"): - foc.write(" self->data[%d] = %s;\n" % (i,pname)) + foc.write(" self->data[%d] = 0; //placeholder\n" % i) + foc.write(" self->branch = %s;\n" % pname) elif(c == "S"): - foc.write(" /* FIXME: write labels %s */\n" % pname) + foc.write(" self->data[%d] = %s;\n" % (i,pname)) elif(c == "D"): foc.write(" /* FIXME: write debuginfo %s */\n" % pname) else: @@ -95,9 +96,9 @@ for line in fi.readlines(): foh.write("#define "+name+"(") foh.write(",".join(["method"]+names)) - foh.write(") {method->code = abc_"+name+"(") + foh.write(") (method->code = abc_"+name+"(") foh.write(",".join(["method->code"]+names)) - foh.write(");}\n") + foh.write("))\n") foh.write("#endif\n") diff --git a/lib/as3/opcodes.c b/lib/as3/opcodes.c index 775a396..ee43758 100644 --- a/lib/as3/opcodes.c +++ b/lib/as3/opcodes.c @@ -1,794 +1,809 @@ #include "opcodes.h" -abc_code_t* abc_add(abc_code_t*prev) +code_t* abc_add(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa0); + code_t*self = add_opcode(prev, 0xa0); return self; } -abc_code_t* abc_add_i(abc_code_t*prev) +code_t* abc_add_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xc5); + code_t*self = add_opcode(prev, 0xc5); return self; } -abc_code_t* abc_astype(abc_code_t*prev, char* name) +code_t* abc_astype(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x86); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x86); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_astypelate(abc_code_t*prev) +code_t* abc_astypelate(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x87); + code_t*self = add_opcode(prev, 0x87); return self; } -abc_code_t* abc_bitand(abc_code_t*prev) +code_t* abc_bitand(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xA8); + code_t*self = add_opcode(prev, 0xA8); return self; } -abc_code_t* abc_bitnot(abc_code_t*prev) +code_t* abc_bitnot(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x97); + code_t*self = add_opcode(prev, 0x97); return self; } -abc_code_t* abc_bitor(abc_code_t*prev) +code_t* abc_bitor(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa9); + code_t*self = add_opcode(prev, 0xa9); return self; } -abc_code_t* abc_bitxor(abc_code_t*prev) +code_t* abc_bitxor(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xaa); + code_t*self = add_opcode(prev, 0xaa); return self; } -abc_code_t* abc_call(abc_code_t*prev, int v) +code_t* abc_call(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x41); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x41); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callmethod(abc_code_t*prev, abc_method_body_t* m, int v) +code_t* abc_callmethod(code_t*prev, abc_method_body_t* m, int v) { - abc_code_t*self = add_opcode(prev, 0x43); - self->params[0] = m; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x43); + self->data[0] = m; + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callproplex(abc_code_t*prev, char* name, int v) +code_t* abc_callproplex(code_t*prev, char* name, int v) { - abc_code_t*self = add_opcode(prev, 0x4c); - self->params[0] = name; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x4c); + self->data[0] = multiname_fromstring(name); // FIXME + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callproperty(abc_code_t*prev, char* name, int v) +code_t* abc_callproperty(code_t*prev, char* name, int v) { - abc_code_t*self = add_opcode(prev, 0x46); - self->params[0] = name; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x46); + self->data[0] = multiname_fromstring(name); // FIXME + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callpropvoid(abc_code_t*prev, char* name, int v) +code_t* abc_callpropvoid(code_t*prev, char* name, int v) { - abc_code_t*self = add_opcode(prev, 0x4f); - self->params[0] = name; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x4f); + self->data[0] = multiname_fromstring(name); // FIXME + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callstatic(abc_code_t*prev, abc_method_t* m, int v) +code_t* abc_callstatic(code_t*prev, abc_method_t* m, int v) { - abc_code_t*self = add_opcode(prev, 0x44); - self->params[0] = m; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x44); + self->data[0] = m; + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callsuper(abc_code_t*prev, char* name, int v) +code_t* abc_callsuper(code_t*prev, char* name, int v) { - abc_code_t*self = add_opcode(prev, 0x45); - self->params[0] = name; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x45); + self->data[0] = multiname_fromstring(name); // FIXME + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_callsupervoid(abc_code_t*prev, char* name, int v) +code_t* abc_callsupervoid(code_t*prev, char* name, int v) { - abc_code_t*self = add_opcode(prev, 0x4e); - self->params[0] = name; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x4e); + self->data[0] = multiname_fromstring(name); // FIXME + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_checkfilter(abc_code_t*prev) +code_t* abc_checkfilter(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x78); + code_t*self = add_opcode(prev, 0x78); return self; } -abc_code_t* abc_coerce(abc_code_t*prev, char* name) +code_t* abc_coerce(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x80); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x80); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_coerce_a(abc_code_t*prev) +code_t* abc_coerce_a(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x82); + code_t*self = add_opcode(prev, 0x82); return self; } -abc_code_t* abc_coerce_s(abc_code_t*prev) +code_t* abc_coerce_s(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x85); + code_t*self = add_opcode(prev, 0x85); return self; } -abc_code_t* abc_construct(abc_code_t*prev, int v) +code_t* abc_construct(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x42); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x42); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_constructprop(abc_code_t*prev, char* name, int v) +code_t* abc_constructprop(code_t*prev, char* name, int v) { - abc_code_t*self = add_opcode(prev, 0x4a); - self->params[0] = name; - self->params[1] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x4a); + self->data[0] = multiname_fromstring(name); // FIXME + self->data[1] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_constructsuper(abc_code_t*prev, int v) +code_t* abc_constructsuper(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x49); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x49); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_convert_b(abc_code_t*prev) +code_t* abc_convert_b(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x76); + code_t*self = add_opcode(prev, 0x76); return self; } -abc_code_t* abc_convert_i(abc_code_t*prev) +code_t* abc_convert_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x73); + code_t*self = add_opcode(prev, 0x73); return self; } -abc_code_t* abc_convert_d(abc_code_t*prev) +code_t* abc_convert_d(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x75); + code_t*self = add_opcode(prev, 0x75); return self; } -abc_code_t* abc_convert_o(abc_code_t*prev) +code_t* abc_convert_o(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x77); + code_t*self = add_opcode(prev, 0x77); return self; } -abc_code_t* abc_convert_u(abc_code_t*prev) +code_t* abc_convert_u(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x74); + code_t*self = add_opcode(prev, 0x74); return self; } -abc_code_t* abc_convert_s(abc_code_t*prev) +code_t* abc_convert_s(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x70); + code_t*self = add_opcode(prev, 0x70); return self; } -abc_code_t* abc_debug(abc_code_t*prev, void* debuginfo) +code_t* abc_debug(code_t*prev, void* debuginfo) { - abc_code_t*self = add_opcode(prev, 0xef); + code_t*self = add_opcode(prev, 0xef); /* FIXME: write debuginfo debuginfo */ return self; } -abc_code_t* abc_debugfile(abc_code_t*prev, char* s) +code_t* abc_debugfile(code_t*prev, char* s) { - abc_code_t*self = add_opcode(prev, 0xf1); - self->params[0] = strdup(s); + code_t*self = add_opcode(prev, 0xf1); + self->data[0] = strdup(s); return self; } -abc_code_t* abc_debugline(abc_code_t*prev, int v) +code_t* abc_debugline(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0xf0); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0xf0); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_declocal(abc_code_t*prev, int reg) +code_t* abc_declocal(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0x94); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0x94); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_declocal_i(abc_code_t*prev, int reg) +code_t* abc_declocal_i(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0xc3); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0xc3); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_decrement(abc_code_t*prev) +code_t* abc_decrement(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x93); + code_t*self = add_opcode(prev, 0x93); return self; } -abc_code_t* abc_decrement_i(abc_code_t*prev) +code_t* abc_decrement_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xc1); + code_t*self = add_opcode(prev, 0xc1); return self; } -abc_code_t* abc_deleteproperty(abc_code_t*prev, char* name) +code_t* abc_deleteproperty(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x6a); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x6a); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_divide(abc_code_t*prev) +code_t* abc_divide(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa3); + code_t*self = add_opcode(prev, 0xa3); return self; } -abc_code_t* abc_dup(abc_code_t*prev) +code_t* abc_dup(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x2a); + code_t*self = add_opcode(prev, 0x2a); return self; } -abc_code_t* abc_dxns(abc_code_t*prev, char* s) +code_t* abc_dxns(code_t*prev, char* s) { - abc_code_t*self = add_opcode(prev, 0x06); - self->params[0] = strdup(s); + code_t*self = add_opcode(prev, 0x06); + self->data[0] = strdup(s); return self; } -abc_code_t* abc_dxnslate(abc_code_t*prev) +code_t* abc_dxnslate(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x07); + code_t*self = add_opcode(prev, 0x07); return self; } -abc_code_t* abc_equals(abc_code_t*prev) +code_t* abc_equals(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xab); + code_t*self = add_opcode(prev, 0xab); return self; } -abc_code_t* abc_esc_xattr(abc_code_t*prev) +code_t* abc_esc_xattr(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x72); + code_t*self = add_opcode(prev, 0x72); return self; } -abc_code_t* abc_esc_xelem(abc_code_t*prev) +code_t* abc_esc_xelem(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x71); + code_t*self = add_opcode(prev, 0x71); return self; } -abc_code_t* abc_findproperty(abc_code_t*prev, char* name) +code_t* abc_findproperty(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x5e); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x5e); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_findpropstrict(abc_code_t*prev, char* name) +code_t* abc_findpropstrict(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x5d); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x5d); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_getdescendants(abc_code_t*prev, char* name) +code_t* abc_getdescendants(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x59); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x59); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_getglobalscope(abc_code_t*prev) +code_t* abc_getglobalscope(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x64); + code_t*self = add_opcode(prev, 0x64); return self; } -abc_code_t* abc_getglobalslot(abc_code_t*prev, int v) +code_t* abc_getglobalslot(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x6e); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x6e); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_getlex(abc_code_t*prev, char* name) +code_t* abc_getlex(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x60); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x60); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_getlocal(abc_code_t*prev, int reg) +code_t* abc_getlocal(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0x62); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0x62); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_getlocal_0(abc_code_t*prev) +code_t* abc_getlocal_0(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd0); + code_t*self = add_opcode(prev, 0xd0); return self; } -abc_code_t* abc_getlocal_1(abc_code_t*prev) +code_t* abc_getlocal_1(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd1); + code_t*self = add_opcode(prev, 0xd1); return self; } -abc_code_t* abc_getlocal_2(abc_code_t*prev) +code_t* abc_getlocal_2(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd2); + code_t*self = add_opcode(prev, 0xd2); return self; } -abc_code_t* abc_getlocal_3(abc_code_t*prev) +code_t* abc_getlocal_3(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd3); + code_t*self = add_opcode(prev, 0xd3); return self; } -abc_code_t* abc_getproperty(abc_code_t*prev, char* name) +code_t* abc_getproperty(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x66); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x66); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_getscopeobject(abc_code_t*prev, int v) +code_t* abc_getscopeobject(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x65); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x65); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_getslot(abc_code_t*prev, int v) +code_t* abc_getslot(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x6c); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x6c); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_getsuper(abc_code_t*prev, char* name) +code_t* abc_getsuper(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x04); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x04); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_greaterequals(abc_code_t*prev) +code_t* abc_greaterequals(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xaf); + code_t*self = add_opcode(prev, 0xaf); return self; } -abc_code_t* abc_hasnext(abc_code_t*prev) +code_t* abc_hasnext(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x1f); + code_t*self = add_opcode(prev, 0x1f); return self; } -abc_code_t* abc_hasnext2(abc_code_t*prev, int reg, int reg2) +code_t* abc_hasnext2(code_t*prev, int reg, int reg2) { - abc_code_t*self = add_opcode(prev, 0x32); - self->params[0] = (void*)(ptroff_t)reg; - self->params[1] = (void*)(ptroff_t)reg2; + code_t*self = add_opcode(prev, 0x32); + self->data[0] = (void*)(ptroff_t)reg; + self->data[1] = (void*)(ptroff_t)reg2; return self; } -abc_code_t* abc_ifeq(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifeq(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x13); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x13); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_iffalse(abc_code_t*prev, abc_code_t* label) +code_t* abc_iffalse(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x12); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x12); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifge(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifge(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x18); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x18); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifgt(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifgt(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x17); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x17); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifle(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifle(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x16); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x16); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_iflt(abc_code_t*prev, abc_code_t* label) +code_t* abc_iflt(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x15); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x15); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifnge(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifnge(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x0f); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x0f); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifngt(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifngt(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x0e); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x0e); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifnle(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifnle(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x0d); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x0d); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifnlt(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifnlt(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x0c); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x0c); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifne(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifne(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x14); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x14); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifstricteq(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifstricteq(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x19); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x19); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_ifstrictne(abc_code_t*prev, abc_code_t* label) +code_t* abc_ifstrictne(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x1a); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x1a); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_iftrue(abc_code_t*prev, abc_code_t* label) +code_t* abc_iftrue(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x11); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x11); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_in(abc_code_t*prev) +code_t* abc_in(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xb4); + code_t*self = add_opcode(prev, 0xb4); return self; } -abc_code_t* abc_inclocal(abc_code_t*prev, int reg) +code_t* abc_inclocal(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0x92); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0x92); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_inclocal_i(abc_code_t*prev, int reg) +code_t* abc_inclocal_i(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0xc2); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0xc2); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_increment(abc_code_t*prev) +code_t* abc_increment(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x91); + code_t*self = add_opcode(prev, 0x91); return self; } -abc_code_t* abc_increment_i(abc_code_t*prev) +code_t* abc_increment_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xc0); + code_t*self = add_opcode(prev, 0xc0); return self; } -abc_code_t* abc_initproperty(abc_code_t*prev, char* name) +code_t* abc_initproperty(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x68); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x68); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_instanceof(abc_code_t*prev) +code_t* abc_instanceof(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xb1); + code_t*self = add_opcode(prev, 0xb1); return self; } -abc_code_t* abc_istype(abc_code_t*prev, char* name) +code_t* abc_istype(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0xb2); - self->params[0] = name; + code_t*self = add_opcode(prev, 0xb2); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_istypelate(abc_code_t*prev) +code_t* abc_istypelate(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xb3); + code_t*self = add_opcode(prev, 0xb3); return self; } -abc_code_t* abc_jump(abc_code_t*prev, abc_code_t* label) +code_t* abc_jump(code_t*prev, code_t* label) { - abc_code_t*self = add_opcode(prev, 0x10); - self->params[0] = label; + code_t*self = add_opcode(prev, 0x10); + self->data[0] = 0; //placeholder + self->branch = label; return self; } -abc_code_t* abc_kill(abc_code_t*prev, int reg) +code_t* abc_kill(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0x08); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0x08); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_label(abc_code_t*prev) +code_t* abc_label(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x09); + code_t*self = add_opcode(prev, 0x09); return self; } -abc_code_t* abc_lessequals(abc_code_t*prev) +code_t* abc_lessequals(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xae); + code_t*self = add_opcode(prev, 0xae); return self; } -abc_code_t* abc_lessthan(abc_code_t*prev) +code_t* abc_lessthan(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xad); + code_t*self = add_opcode(prev, 0xad); return self; } -abc_code_t* abc_lookupswitch(abc_code_t*prev, void* labels) +code_t* abc_lookupswitch(code_t*prev, void* labels) { - abc_code_t*self = add_opcode(prev, 0x1b); + code_t*self = add_opcode(prev, 0x1b); /* FIXME: write labels labels */ return self; } -abc_code_t* abc_lshift(abc_code_t*prev) +code_t* abc_lshift(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa5); + code_t*self = add_opcode(prev, 0xa5); return self; } -abc_code_t* abc_modulo(abc_code_t*prev) +code_t* abc_modulo(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa4); + code_t*self = add_opcode(prev, 0xa4); return self; } -abc_code_t* abc_multiply(abc_code_t*prev) +code_t* abc_multiply(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa2); + code_t*self = add_opcode(prev, 0xa2); return self; } -abc_code_t* abc_multiply_i(abc_code_t*prev) +code_t* abc_multiply_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xc7); + code_t*self = add_opcode(prev, 0xc7); return self; } -abc_code_t* abc_negate(abc_code_t*prev) +code_t* abc_negate(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x90); + code_t*self = add_opcode(prev, 0x90); return self; } -abc_code_t* abc_negate_i(abc_code_t*prev) +code_t* abc_negate_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xc4); + code_t*self = add_opcode(prev, 0xc4); return self; } -abc_code_t* abc_newactivation(abc_code_t*prev) +code_t* abc_newactivation(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x57); + code_t*self = add_opcode(prev, 0x57); return self; } -abc_code_t* abc_newarray(abc_code_t*prev, int v) +code_t* abc_newarray(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x56); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x56); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_newcatch(abc_code_t*prev, int v) +code_t* abc_newcatch(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x5a); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x5a); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_newclass(abc_code_t*prev, abc_class_t* m) +code_t* abc_newclass(code_t*prev, abc_class_t* m) { - abc_code_t*self = add_opcode(prev, 0x58); - self->params[0] = m; + code_t*self = add_opcode(prev, 0x58); + self->data[0] = m; return self; } -abc_code_t* abc_newfunction(abc_code_t*prev, abc_method_body_t* m) +code_t* abc_newfunction(code_t*prev, abc_method_body_t* m) { - abc_code_t*self = add_opcode(prev, 0x40); - self->params[0] = m; + code_t*self = add_opcode(prev, 0x40); + self->data[0] = m; return self; } -abc_code_t* abc_newobject(abc_code_t*prev, int v) +code_t* abc_newobject(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x55); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x55); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_nextname(abc_code_t*prev) +code_t* abc_nextname(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x1e); + code_t*self = add_opcode(prev, 0x1e); return self; } -abc_code_t* abc_nextvalue(abc_code_t*prev) +code_t* abc_nextvalue(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x23); + code_t*self = add_opcode(prev, 0x23); return self; } -abc_code_t* abc_nop(abc_code_t*prev) +code_t* abc_nop(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x02); + code_t*self = add_opcode(prev, 0x02); return self; } -abc_code_t* abc_not(abc_code_t*prev) +code_t* abc_not(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x96); + code_t*self = add_opcode(prev, 0x96); return self; } -abc_code_t* abc_pop(abc_code_t*prev) +code_t* abc_pop(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x29); + code_t*self = add_opcode(prev, 0x29); return self; } -abc_code_t* abc_popscope(abc_code_t*prev) +code_t* abc_popscope(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x1d); + code_t*self = add_opcode(prev, 0x1d); return self; } -abc_code_t* abc_pushbyte(abc_code_t*prev, int v) +code_t* abc_pushbyte(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x24); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x24); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_pushdouble(abc_code_t*prev, int v) +code_t* abc_pushdouble(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x2f); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x2f); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_pushfalse(abc_code_t*prev) +code_t* abc_pushfalse(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x27); + code_t*self = add_opcode(prev, 0x27); return self; } -abc_code_t* abc_pushint(abc_code_t*prev, int v) +code_t* abc_pushint(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x2d); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x2d); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_pushnamespace(abc_code_t*prev, int v) +code_t* abc_pushnamespace(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x31); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x31); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_pushnan(abc_code_t*prev) +code_t* abc_pushnan(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x28); + code_t*self = add_opcode(prev, 0x28); return self; } -abc_code_t* abc_pushnull(abc_code_t*prev) +code_t* abc_pushnull(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x20); + code_t*self = add_opcode(prev, 0x20); return self; } -abc_code_t* abc_pushscope(abc_code_t*prev) +code_t* abc_pushscope(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x30); + code_t*self = add_opcode(prev, 0x30); return self; } -abc_code_t* abc_pushshort(abc_code_t*prev, int v) +code_t* abc_pushshort(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x25); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x25); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_pushstring(abc_code_t*prev, char* s) +code_t* abc_pushstring(code_t*prev, char* s) { - abc_code_t*self = add_opcode(prev, 0x2c); - self->params[0] = strdup(s); + code_t*self = add_opcode(prev, 0x2c); + self->data[0] = strdup(s); return self; } -abc_code_t* abc_pushtrue(abc_code_t*prev) +code_t* abc_pushtrue(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x26); + code_t*self = add_opcode(prev, 0x26); return self; } -abc_code_t* abc_pushuint(abc_code_t*prev, int v) +code_t* abc_pushuint(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x2e); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x2e); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_pushundefined(abc_code_t*prev) +code_t* abc_pushundefined(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x21); + code_t*self = add_opcode(prev, 0x21); return self; } -abc_code_t* abc_pushwith(abc_code_t*prev) +code_t* abc_pushwith(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x1c); + code_t*self = add_opcode(prev, 0x1c); return self; } -abc_code_t* abc_returnvalue(abc_code_t*prev) +code_t* abc_returnvalue(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x48); + code_t*self = add_opcode(prev, 0x48); return self; } -abc_code_t* abc_returnvoid(abc_code_t*prev) +code_t* abc_returnvoid(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x47); + code_t*self = add_opcode(prev, 0x47); return self; } -abc_code_t* abc_rshift(abc_code_t*prev) +code_t* abc_rshift(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa6); + code_t*self = add_opcode(prev, 0xa6); return self; } -abc_code_t* abc_setlocal(abc_code_t*prev, int reg) +code_t* abc_setlocal(code_t*prev, int reg) { - abc_code_t*self = add_opcode(prev, 0x63); - self->params[0] = (void*)(ptroff_t)reg; + code_t*self = add_opcode(prev, 0x63); + self->data[0] = (void*)(ptroff_t)reg; return self; } -abc_code_t* abc_setlocal_0(abc_code_t*prev) +code_t* abc_setlocal_0(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd4); + code_t*self = add_opcode(prev, 0xd4); return self; } -abc_code_t* abc_setlocal_1(abc_code_t*prev) +code_t* abc_setlocal_1(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd5); + code_t*self = add_opcode(prev, 0xd5); return self; } -abc_code_t* abc_setlocal_2(abc_code_t*prev) +code_t* abc_setlocal_2(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd6); + code_t*self = add_opcode(prev, 0xd6); return self; } -abc_code_t* abc_setlocal_3(abc_code_t*prev) +code_t* abc_setlocal_3(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xd7); + code_t*self = add_opcode(prev, 0xd7); return self; } -abc_code_t* abc_setglobalslot(abc_code_t*prev, int v) +code_t* abc_setglobalslot(code_t*prev, int v) { - abc_code_t*self = add_opcode(prev, 0x6f); - self->params[0] = (void*)(ptroff_t)v; + code_t*self = add_opcode(prev, 0x6f); + self->data[0] = (void*)(ptroff_t)v; return self; } -abc_code_t* abc_setproperty(abc_code_t*prev, char* name) +code_t* abc_setproperty(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x61); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x61); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_setslot(abc_code_t*prev, char* name) +code_t* abc_setslot(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x6d); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x6d); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_setsuper(abc_code_t*prev, char* name) +code_t* abc_setsuper(code_t*prev, char* name) { - abc_code_t*self = add_opcode(prev, 0x05); - self->params[0] = name; + code_t*self = add_opcode(prev, 0x05); + self->data[0] = multiname_fromstring(name); // FIXME return self; } -abc_code_t* abc_strictequals(abc_code_t*prev) +code_t* abc_strictequals(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xac); + code_t*self = add_opcode(prev, 0xac); return self; } -abc_code_t* abc_subtract(abc_code_t*prev) +code_t* abc_subtract(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa1); + code_t*self = add_opcode(prev, 0xa1); return self; } -abc_code_t* abc_subtract_i(abc_code_t*prev) +code_t* abc_subtract_i(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xc6); + code_t*self = add_opcode(prev, 0xc6); return self; } -abc_code_t* abc_swap(abc_code_t*prev) +code_t* abc_swap(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x2b); + code_t*self = add_opcode(prev, 0x2b); return self; } -abc_code_t* abc_throw(abc_code_t*prev) +code_t* abc_throw(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x03); + code_t*self = add_opcode(prev, 0x03); return self; } -abc_code_t* abc_typeof(abc_code_t*prev) +code_t* abc_typeof(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0x95); + code_t*self = add_opcode(prev, 0x95); return self; } -abc_code_t* abc_urshift(abc_code_t*prev) +code_t* abc_urshift(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xa7); + code_t*self = add_opcode(prev, 0xa7); return self; } -abc_code_t* abc_xxx(abc_code_t*prev) +code_t* abc_xxx(code_t*prev) { - abc_code_t*self = add_opcode(prev, 0xb0); + code_t*self = add_opcode(prev, 0xb0); return self; } diff --git a/lib/as3/opcodes.h b/lib/as3/opcodes.h index fda4dda..e71b0b0 100644 --- a/lib/as3/opcodes.h +++ b/lib/as3/opcodes.h @@ -3,290 +3,290 @@ #include "abc.h" #include "pool.h" #include "code.h" -abc_code_t* abc_add(abc_code_t*prev); -#define add(method) {method->code = abc_add(method->code);} -abc_code_t* abc_add_i(abc_code_t*prev); -#define add_i(method) {method->code = abc_add_i(method->code);} -abc_code_t* abc_astype(abc_code_t*prev, char* name); -#define astype(method,name) {method->code = abc_astype(method->code,name);} -abc_code_t* abc_astypelate(abc_code_t*prev); -#define astypelate(method) {method->code = abc_astypelate(method->code);} -abc_code_t* abc_bitand(abc_code_t*prev); -#define bitand(method) {method->code = abc_bitand(method->code);} -abc_code_t* abc_bitnot(abc_code_t*prev); -#define bitnot(method) {method->code = abc_bitnot(method->code);} -abc_code_t* abc_bitor(abc_code_t*prev); -#define bitor(method) {method->code = abc_bitor(method->code);} -abc_code_t* abc_bitxor(abc_code_t*prev); -#define bitxor(method) {method->code = abc_bitxor(method->code);} -abc_code_t* abc_call(abc_code_t*prev, int v); -#define call(method,v) {method->code = abc_call(method->code,v);} -abc_code_t* abc_callmethod(abc_code_t*prev, abc_method_body_t* m, int v); -#define callmethod(method,m,v) {method->code = abc_callmethod(method->code,m,v);} -abc_code_t* abc_callproplex(abc_code_t*prev, char* name, int v); -#define callproplex(method,name,v) {method->code = abc_callproplex(method->code,name,v);} -abc_code_t* abc_callproperty(abc_code_t*prev, char* name, int v); -#define callproperty(method,name,v) {method->code = abc_callproperty(method->code,name,v);} -abc_code_t* abc_callpropvoid(abc_code_t*prev, char* name, int v); -#define callpropvoid(method,name,v) {method->code = abc_callpropvoid(method->code,name,v);} -abc_code_t* abc_callstatic(abc_code_t*prev, abc_method_t* m, int v); -#define callstatic(method,m,v) {method->code = abc_callstatic(method->code,m,v);} -abc_code_t* abc_callsuper(abc_code_t*prev, char* name, int v); -#define callsuper(method,name,v) {method->code = abc_callsuper(method->code,name,v);} -abc_code_t* abc_callsupervoid(abc_code_t*prev, char* name, int v); -#define callsupervoid(method,name,v) {method->code = abc_callsupervoid(method->code,name,v);} -abc_code_t* abc_checkfilter(abc_code_t*prev); -#define checkfilter(method) {method->code = abc_checkfilter(method->code);} -abc_code_t* abc_coerce(abc_code_t*prev, char* name); -#define coerce(method,name) {method->code = abc_coerce(method->code,name);} -abc_code_t* abc_coerce_a(abc_code_t*prev); -#define coerce_a(method) {method->code = abc_coerce_a(method->code);} -abc_code_t* abc_coerce_s(abc_code_t*prev); -#define coerce_s(method) {method->code = abc_coerce_s(method->code);} -abc_code_t* abc_construct(abc_code_t*prev, int v); -#define construct(method,v) {method->code = abc_construct(method->code,v);} -abc_code_t* abc_constructprop(abc_code_t*prev, char* name, int v); -#define constructprop(method,name,v) {method->code = abc_constructprop(method->code,name,v);} -abc_code_t* abc_constructsuper(abc_code_t*prev, int v); -#define constructsuper(method,v) {method->code = abc_constructsuper(method->code,v);} -abc_code_t* abc_convert_b(abc_code_t*prev); -#define convert_b(method) {method->code = abc_convert_b(method->code);} -abc_code_t* abc_convert_i(abc_code_t*prev); -#define convert_i(method) {method->code = abc_convert_i(method->code);} -abc_code_t* abc_convert_d(abc_code_t*prev); -#define convert_d(method) {method->code = abc_convert_d(method->code);} -abc_code_t* abc_convert_o(abc_code_t*prev); -#define convert_o(method) {method->code = abc_convert_o(method->code);} -abc_code_t* abc_convert_u(abc_code_t*prev); -#define convert_u(method) {method->code = abc_convert_u(method->code);} -abc_code_t* abc_convert_s(abc_code_t*prev); -#define convert_s(method) {method->code = abc_convert_s(method->code);} -abc_code_t* abc_debug(abc_code_t*prev, void* debuginfo); -#define debug(method,debuginfo) {method->code = abc_debug(method->code,debuginfo);} -abc_code_t* abc_debugfile(abc_code_t*prev, char* s); -#define debugfile(method,s) {method->code = abc_debugfile(method->code,s);} -abc_code_t* abc_debugline(abc_code_t*prev, int v); -#define debugline(method,v) {method->code = abc_debugline(method->code,v);} -abc_code_t* abc_declocal(abc_code_t*prev, int reg); -#define declocal(method,reg) {method->code = abc_declocal(method->code,reg);} -abc_code_t* abc_declocal_i(abc_code_t*prev, int reg); -#define declocal_i(method,reg) {method->code = abc_declocal_i(method->code,reg);} -abc_code_t* abc_decrement(abc_code_t*prev); -#define decrement(method) {method->code = abc_decrement(method->code);} -abc_code_t* abc_decrement_i(abc_code_t*prev); -#define decrement_i(method) {method->code = abc_decrement_i(method->code);} -abc_code_t* abc_deleteproperty(abc_code_t*prev, char* name); -#define deleteproperty(method,name) {method->code = abc_deleteproperty(method->code,name);} -abc_code_t* abc_divide(abc_code_t*prev); -#define divide(method) {method->code = abc_divide(method->code);} -abc_code_t* abc_dup(abc_code_t*prev); -#define dup(method) {method->code = abc_dup(method->code);} -abc_code_t* abc_dxns(abc_code_t*prev, char* s); -#define dxns(method,s) {method->code = abc_dxns(method->code,s);} -abc_code_t* abc_dxnslate(abc_code_t*prev); -#define dxnslate(method) {method->code = abc_dxnslate(method->code);} -abc_code_t* abc_equals(abc_code_t*prev); -#define equals(method) {method->code = abc_equals(method->code);} -abc_code_t* abc_esc_xattr(abc_code_t*prev); -#define esc_xattr(method) {method->code = abc_esc_xattr(method->code);} -abc_code_t* abc_esc_xelem(abc_code_t*prev); -#define esc_xelem(method) {method->code = abc_esc_xelem(method->code);} -abc_code_t* abc_findproperty(abc_code_t*prev, char* name); -#define findproperty(method,name) {method->code = abc_findproperty(method->code,name);} -abc_code_t* abc_findpropstrict(abc_code_t*prev, char* name); -#define findpropstrict(method,name) {method->code = abc_findpropstrict(method->code,name);} -abc_code_t* abc_getdescendants(abc_code_t*prev, char* name); -#define getdescendants(method,name) {method->code = abc_getdescendants(method->code,name);} -abc_code_t* abc_getglobalscope(abc_code_t*prev); -#define getglobalscope(method) {method->code = abc_getglobalscope(method->code);} -abc_code_t* abc_getglobalslot(abc_code_t*prev, int v); -#define getglobalslot(method,v) {method->code = abc_getglobalslot(method->code,v);} -abc_code_t* abc_getlex(abc_code_t*prev, char* name); -#define getlex(method,name) {method->code = abc_getlex(method->code,name);} -abc_code_t* abc_getlocal(abc_code_t*prev, int reg); -#define getlocal(method,reg) {method->code = abc_getlocal(method->code,reg);} -abc_code_t* abc_getlocal_0(abc_code_t*prev); -#define getlocal_0(method) {method->code = abc_getlocal_0(method->code);} -abc_code_t* abc_getlocal_1(abc_code_t*prev); -#define getlocal_1(method) {method->code = abc_getlocal_1(method->code);} -abc_code_t* abc_getlocal_2(abc_code_t*prev); -#define getlocal_2(method) {method->code = abc_getlocal_2(method->code);} -abc_code_t* abc_getlocal_3(abc_code_t*prev); -#define getlocal_3(method) {method->code = abc_getlocal_3(method->code);} -abc_code_t* abc_getproperty(abc_code_t*prev, char* name); -#define getproperty(method,name) {method->code = abc_getproperty(method->code,name);} -abc_code_t* abc_getscopeobject(abc_code_t*prev, int v); -#define getscopeobject(method,v) {method->code = abc_getscopeobject(method->code,v);} -abc_code_t* abc_getslot(abc_code_t*prev, int v); -#define getslot(method,v) {method->code = abc_getslot(method->code,v);} -abc_code_t* abc_getsuper(abc_code_t*prev, char* name); -#define getsuper(method,name) {method->code = abc_getsuper(method->code,name);} -abc_code_t* abc_greaterequals(abc_code_t*prev); -#define greaterequals(method) {method->code = abc_greaterequals(method->code);} -abc_code_t* abc_hasnext(abc_code_t*prev); -#define hasnext(method) {method->code = abc_hasnext(method->code);} -abc_code_t* abc_hasnext2(abc_code_t*prev, int reg, int reg2); -#define hasnext2(method,reg,reg2) {method->code = abc_hasnext2(method->code,reg,reg2);} -abc_code_t* abc_ifeq(abc_code_t*prev, abc_code_t* label); -#define ifeq(method,label) {method->code = abc_ifeq(method->code,label);} -abc_code_t* abc_iffalse(abc_code_t*prev, abc_code_t* label); -#define iffalse(method,label) {method->code = abc_iffalse(method->code,label);} -abc_code_t* abc_ifge(abc_code_t*prev, abc_code_t* label); -#define ifge(method,label) {method->code = abc_ifge(method->code,label);} -abc_code_t* abc_ifgt(abc_code_t*prev, abc_code_t* label); -#define ifgt(method,label) {method->code = abc_ifgt(method->code,label);} -abc_code_t* abc_ifle(abc_code_t*prev, abc_code_t* label); -#define ifle(method,label) {method->code = abc_ifle(method->code,label);} -abc_code_t* abc_iflt(abc_code_t*prev, abc_code_t* label); -#define iflt(method,label) {method->code = abc_iflt(method->code,label);} -abc_code_t* abc_ifnge(abc_code_t*prev, abc_code_t* label); -#define ifnge(method,label) {method->code = abc_ifnge(method->code,label);} -abc_code_t* abc_ifngt(abc_code_t*prev, abc_code_t* label); -#define ifngt(method,label) {method->code = abc_ifngt(method->code,label);} -abc_code_t* abc_ifnle(abc_code_t*prev, abc_code_t* label); -#define ifnle(method,label) {method->code = abc_ifnle(method->code,label);} -abc_code_t* abc_ifnlt(abc_code_t*prev, abc_code_t* label); -#define ifnlt(method,label) {method->code = abc_ifnlt(method->code,label);} -abc_code_t* abc_ifne(abc_code_t*prev, abc_code_t* label); -#define ifne(method,label) {method->code = abc_ifne(method->code,label);} -abc_code_t* abc_ifstricteq(abc_code_t*prev, abc_code_t* label); -#define ifstricteq(method,label) {method->code = abc_ifstricteq(method->code,label);} -abc_code_t* abc_ifstrictne(abc_code_t*prev, abc_code_t* label); -#define ifstrictne(method,label) {method->code = abc_ifstrictne(method->code,label);} -abc_code_t* abc_iftrue(abc_code_t*prev, abc_code_t* label); -#define iftrue(method,label) {method->code = abc_iftrue(method->code,label);} -abc_code_t* abc_in(abc_code_t*prev); -#define in(method) {method->code = abc_in(method->code);} -abc_code_t* abc_inclocal(abc_code_t*prev, int reg); -#define inclocal(method,reg) {method->code = abc_inclocal(method->code,reg);} -abc_code_t* abc_inclocal_i(abc_code_t*prev, int reg); -#define inclocal_i(method,reg) {method->code = abc_inclocal_i(method->code,reg);} -abc_code_t* abc_increment(abc_code_t*prev); -#define increment(method) {method->code = abc_increment(method->code);} -abc_code_t* abc_increment_i(abc_code_t*prev); -#define increment_i(method) {method->code = abc_increment_i(method->code);} -abc_code_t* abc_initproperty(abc_code_t*prev, char* name); -#define initproperty(method,name) {method->code = abc_initproperty(method->code,name);} -abc_code_t* abc_instanceof(abc_code_t*prev); -#define instanceof(method) {method->code = abc_instanceof(method->code);} -abc_code_t* abc_istype(abc_code_t*prev, char* name); -#define istype(method,name) {method->code = abc_istype(method->code,name);} -abc_code_t* abc_istypelate(abc_code_t*prev); -#define istypelate(method) {method->code = abc_istypelate(method->code);} -abc_code_t* abc_jump(abc_code_t*prev, abc_code_t* label); -#define jump(method,label) {method->code = abc_jump(method->code,label);} -abc_code_t* abc_kill(abc_code_t*prev, int reg); -#define kill(method,reg) {method->code = abc_kill(method->code,reg);} -abc_code_t* abc_label(abc_code_t*prev); -#define label(method) {method->code = abc_label(method->code);} -abc_code_t* abc_lessequals(abc_code_t*prev); -#define lessequals(method) {method->code = abc_lessequals(method->code);} -abc_code_t* abc_lessthan(abc_code_t*prev); -#define lessthan(method) {method->code = abc_lessthan(method->code);} -abc_code_t* abc_lookupswitch(abc_code_t*prev, void* labels); -#define lookupswitch(method,labels) {method->code = abc_lookupswitch(method->code,labels);} -abc_code_t* abc_lshift(abc_code_t*prev); -#define lshift(method) {method->code = abc_lshift(method->code);} -abc_code_t* abc_modulo(abc_code_t*prev); -#define modulo(method) {method->code = abc_modulo(method->code);} -abc_code_t* abc_multiply(abc_code_t*prev); -#define multiply(method) {method->code = abc_multiply(method->code);} -abc_code_t* abc_multiply_i(abc_code_t*prev); -#define multiply_i(method) {method->code = abc_multiply_i(method->code);} -abc_code_t* abc_negate(abc_code_t*prev); -#define negate(method) {method->code = abc_negate(method->code);} -abc_code_t* abc_negate_i(abc_code_t*prev); -#define negate_i(method) {method->code = abc_negate_i(method->code);} -abc_code_t* abc_newactivation(abc_code_t*prev); -#define newactivation(method) {method->code = abc_newactivation(method->code);} -abc_code_t* abc_newarray(abc_code_t*prev, int v); -#define newarray(method,v) {method->code = abc_newarray(method->code,v);} -abc_code_t* abc_newcatch(abc_code_t*prev, int v); -#define newcatch(method,v) {method->code = abc_newcatch(method->code,v);} -abc_code_t* abc_newclass(abc_code_t*prev, abc_class_t* m); -#define newclass(method,m) {method->code = abc_newclass(method->code,m);} -abc_code_t* abc_newfunction(abc_code_t*prev, abc_method_body_t* m); -#define newfunction(method,m) {method->code = abc_newfunction(method->code,m);} -abc_code_t* abc_newobject(abc_code_t*prev, int v); -#define newobject(method,v) {method->code = abc_newobject(method->code,v);} -abc_code_t* abc_nextname(abc_code_t*prev); -#define nextname(method) {method->code = abc_nextname(method->code);} -abc_code_t* abc_nextvalue(abc_code_t*prev); -#define nextvalue(method) {method->code = abc_nextvalue(method->code);} -abc_code_t* abc_nop(abc_code_t*prev); -#define nop(method) {method->code = abc_nop(method->code);} -abc_code_t* abc_not(abc_code_t*prev); -#define not(method) {method->code = abc_not(method->code);} -abc_code_t* abc_pop(abc_code_t*prev); -#define pop(method) {method->code = abc_pop(method->code);} -abc_code_t* abc_popscope(abc_code_t*prev); -#define popscope(method) {method->code = abc_popscope(method->code);} -abc_code_t* abc_pushbyte(abc_code_t*prev, int v); -#define pushbyte(method,v) {method->code = abc_pushbyte(method->code,v);} -abc_code_t* abc_pushdouble(abc_code_t*prev, int v); -#define pushdouble(method,v) {method->code = abc_pushdouble(method->code,v);} -abc_code_t* abc_pushfalse(abc_code_t*prev); -#define pushfalse(method) {method->code = abc_pushfalse(method->code);} -abc_code_t* abc_pushint(abc_code_t*prev, int v); -#define pushint(method,v) {method->code = abc_pushint(method->code,v);} -abc_code_t* abc_pushnamespace(abc_code_t*prev, int v); -#define pushnamespace(method,v) {method->code = abc_pushnamespace(method->code,v);} -abc_code_t* abc_pushnan(abc_code_t*prev); -#define pushnan(method) {method->code = abc_pushnan(method->code);} -abc_code_t* abc_pushnull(abc_code_t*prev); -#define pushnull(method) {method->code = abc_pushnull(method->code);} -abc_code_t* abc_pushscope(abc_code_t*prev); -#define pushscope(method) {method->code = abc_pushscope(method->code);} -abc_code_t* abc_pushshort(abc_code_t*prev, int v); -#define pushshort(method,v) {method->code = abc_pushshort(method->code,v);} -abc_code_t* abc_pushstring(abc_code_t*prev, char* s); -#define pushstring(method,s) {method->code = abc_pushstring(method->code,s);} -abc_code_t* abc_pushtrue(abc_code_t*prev); -#define pushtrue(method) {method->code = abc_pushtrue(method->code);} -abc_code_t* abc_pushuint(abc_code_t*prev, int v); -#define pushuint(method,v) {method->code = abc_pushuint(method->code,v);} -abc_code_t* abc_pushundefined(abc_code_t*prev); -#define pushundefined(method) {method->code = abc_pushundefined(method->code);} -abc_code_t* abc_pushwith(abc_code_t*prev); -#define pushwith(method) {method->code = abc_pushwith(method->code);} -abc_code_t* abc_returnvalue(abc_code_t*prev); -#define returnvalue(method) {method->code = abc_returnvalue(method->code);} -abc_code_t* abc_returnvoid(abc_code_t*prev); -#define returnvoid(method) {method->code = abc_returnvoid(method->code);} -abc_code_t* abc_rshift(abc_code_t*prev); -#define rshift(method) {method->code = abc_rshift(method->code);} -abc_code_t* abc_setlocal(abc_code_t*prev, int reg); -#define setlocal(method,reg) {method->code = abc_setlocal(method->code,reg);} -abc_code_t* abc_setlocal_0(abc_code_t*prev); -#define setlocal_0(method) {method->code = abc_setlocal_0(method->code);} -abc_code_t* abc_setlocal_1(abc_code_t*prev); -#define setlocal_1(method) {method->code = abc_setlocal_1(method->code);} -abc_code_t* abc_setlocal_2(abc_code_t*prev); -#define setlocal_2(method) {method->code = abc_setlocal_2(method->code);} -abc_code_t* abc_setlocal_3(abc_code_t*prev); -#define setlocal_3(method) {method->code = abc_setlocal_3(method->code);} -abc_code_t* abc_setglobalslot(abc_code_t*prev, int v); -#define setglobalslot(method,v) {method->code = abc_setglobalslot(method->code,v);} -abc_code_t* abc_setproperty(abc_code_t*prev, char* name); -#define setproperty(method,name) {method->code = abc_setproperty(method->code,name);} -abc_code_t* abc_setslot(abc_code_t*prev, char* name); -#define setslot(method,name) {method->code = abc_setslot(method->code,name);} -abc_code_t* abc_setsuper(abc_code_t*prev, char* name); -#define setsuper(method,name) {method->code = abc_setsuper(method->code,name);} -abc_code_t* abc_strictequals(abc_code_t*prev); -#define strictequals(method) {method->code = abc_strictequals(method->code);} -abc_code_t* abc_subtract(abc_code_t*prev); -#define subtract(method) {method->code = abc_subtract(method->code);} -abc_code_t* abc_subtract_i(abc_code_t*prev); -#define subtract_i(method) {method->code = abc_subtract_i(method->code);} -abc_code_t* abc_swap(abc_code_t*prev); -#define swap(method) {method->code = abc_swap(method->code);} -abc_code_t* abc_throw(abc_code_t*prev); -#define throw(method) {method->code = abc_throw(method->code);} -abc_code_t* abc_typeof(abc_code_t*prev); -#define typeof(method) {method->code = abc_typeof(method->code);} -abc_code_t* abc_urshift(abc_code_t*prev); -#define urshift(method) {method->code = abc_urshift(method->code);} -abc_code_t* abc_xxx(abc_code_t*prev); -#define xxx(method) {method->code = abc_xxx(method->code);} +code_t* abc_add(code_t*prev); +#define add(method) (method->code = abc_add(method->code)) +code_t* abc_add_i(code_t*prev); +#define add_i(method) (method->code = abc_add_i(method->code)) +code_t* abc_astype(code_t*prev, char* name); +#define astype(method,name) (method->code = abc_astype(method->code,name)) +code_t* abc_astypelate(code_t*prev); +#define astypelate(method) (method->code = abc_astypelate(method->code)) +code_t* abc_bitand(code_t*prev); +#define bitand(method) (method->code = abc_bitand(method->code)) +code_t* abc_bitnot(code_t*prev); +#define bitnot(method) (method->code = abc_bitnot(method->code)) +code_t* abc_bitor(code_t*prev); +#define bitor(method) (method->code = abc_bitor(method->code)) +code_t* abc_bitxor(code_t*prev); +#define bitxor(method) (method->code = abc_bitxor(method->code)) +code_t* abc_call(code_t*prev, int v); +#define call(method,v) (method->code = abc_call(method->code,v)) +code_t* abc_callmethod(code_t*prev, abc_method_body_t* m, int v); +#define callmethod(method,m,v) (method->code = abc_callmethod(method->code,m,v)) +code_t* abc_callproplex(code_t*prev, char* name, int v); +#define callproplex(method,name,v) (method->code = abc_callproplex(method->code,name,v)) +code_t* abc_callproperty(code_t*prev, char* name, int v); +#define callproperty(method,name,v) (method->code = abc_callproperty(method->code,name,v)) +code_t* abc_callpropvoid(code_t*prev, char* name, int v); +#define callpropvoid(method,name,v) (method->code = abc_callpropvoid(method->code,name,v)) +code_t* abc_callstatic(code_t*prev, abc_method_t* m, int v); +#define callstatic(method,m,v) (method->code = abc_callstatic(method->code,m,v)) +code_t* abc_callsuper(code_t*prev, char* name, int v); +#define callsuper(method,name,v) (method->code = abc_callsuper(method->code,name,v)) +code_t* abc_callsupervoid(code_t*prev, char* name, int v); +#define callsupervoid(method,name,v) (method->code = abc_callsupervoid(method->code,name,v)) +code_t* abc_checkfilter(code_t*prev); +#define checkfilter(method) (method->code = abc_checkfilter(method->code)) +code_t* abc_coerce(code_t*prev, char* name); +#define coerce(method,name) (method->code = abc_coerce(method->code,name)) +code_t* abc_coerce_a(code_t*prev); +#define coerce_a(method) (method->code = abc_coerce_a(method->code)) +code_t* abc_coerce_s(code_t*prev); +#define coerce_s(method) (method->code = abc_coerce_s(method->code)) +code_t* abc_construct(code_t*prev, int v); +#define construct(method,v) (method->code = abc_construct(method->code,v)) +code_t* abc_constructprop(code_t*prev, char* name, int v); +#define constructprop(method,name,v) (method->code = abc_constructprop(method->code,name,v)) +code_t* abc_constructsuper(code_t*prev, int v); +#define constructsuper(method,v) (method->code = abc_constructsuper(method->code,v)) +code_t* abc_convert_b(code_t*prev); +#define convert_b(method) (method->code = abc_convert_b(method->code)) +code_t* abc_convert_i(code_t*prev); +#define convert_i(method) (method->code = abc_convert_i(method->code)) +code_t* abc_convert_d(code_t*prev); +#define convert_d(method) (method->code = abc_convert_d(method->code)) +code_t* abc_convert_o(code_t*prev); +#define convert_o(method) (method->code = abc_convert_o(method->code)) +code_t* abc_convert_u(code_t*prev); +#define convert_u(method) (method->code = abc_convert_u(method->code)) +code_t* abc_convert_s(code_t*prev); +#define convert_s(method) (method->code = abc_convert_s(method->code)) +code_t* abc_debug(code_t*prev, void* debuginfo); +#define debug(method,debuginfo) (method->code = abc_debug(method->code,debuginfo)) +code_t* abc_debugfile(code_t*prev, char* s); +#define debugfile(method,s) (method->code = abc_debugfile(method->code,s)) +code_t* abc_debugline(code_t*prev, int v); +#define debugline(method,v) (method->code = abc_debugline(method->code,v)) +code_t* abc_declocal(code_t*prev, int reg); +#define declocal(method,reg) (method->code = abc_declocal(method->code,reg)) +code_t* abc_declocal_i(code_t*prev, int reg); +#define declocal_i(method,reg) (method->code = abc_declocal_i(method->code,reg)) +code_t* abc_decrement(code_t*prev); +#define decrement(method) (method->code = abc_decrement(method->code)) +code_t* abc_decrement_i(code_t*prev); +#define decrement_i(method) (method->code = abc_decrement_i(method->code)) +code_t* abc_deleteproperty(code_t*prev, char* name); +#define deleteproperty(method,name) (method->code = abc_deleteproperty(method->code,name)) +code_t* abc_divide(code_t*prev); +#define divide(method) (method->code = abc_divide(method->code)) +code_t* abc_dup(code_t*prev); +#define dup(method) (method->code = abc_dup(method->code)) +code_t* abc_dxns(code_t*prev, char* s); +#define dxns(method,s) (method->code = abc_dxns(method->code,s)) +code_t* abc_dxnslate(code_t*prev); +#define dxnslate(method) (method->code = abc_dxnslate(method->code)) +code_t* abc_equals(code_t*prev); +#define equals(method) (method->code = abc_equals(method->code)) +code_t* abc_esc_xattr(code_t*prev); +#define esc_xattr(method) (method->code = abc_esc_xattr(method->code)) +code_t* abc_esc_xelem(code_t*prev); +#define esc_xelem(method) (method->code = abc_esc_xelem(method->code)) +code_t* abc_findproperty(code_t*prev, char* name); +#define findproperty(method,name) (method->code = abc_findproperty(method->code,name)) +code_t* abc_findpropstrict(code_t*prev, char* name); +#define findpropstrict(method,name) (method->code = abc_findpropstrict(method->code,name)) +code_t* abc_getdescendants(code_t*prev, char* name); +#define getdescendants(method,name) (method->code = abc_getdescendants(method->code,name)) +code_t* abc_getglobalscope(code_t*prev); +#define getglobalscope(method) (method->code = abc_getglobalscope(method->code)) +code_t* abc_getglobalslot(code_t*prev, int v); +#define getglobalslot(method,v) (method->code = abc_getglobalslot(method->code,v)) +code_t* abc_getlex(code_t*prev, char* name); +#define getlex(method,name) (method->code = abc_getlex(method->code,name)) +code_t* abc_getlocal(code_t*prev, int reg); +#define getlocal(method,reg) (method->code = abc_getlocal(method->code,reg)) +code_t* abc_getlocal_0(code_t*prev); +#define getlocal_0(method) (method->code = abc_getlocal_0(method->code)) +code_t* abc_getlocal_1(code_t*prev); +#define getlocal_1(method) (method->code = abc_getlocal_1(method->code)) +code_t* abc_getlocal_2(code_t*prev); +#define getlocal_2(method) (method->code = abc_getlocal_2(method->code)) +code_t* abc_getlocal_3(code_t*prev); +#define getlocal_3(method) (method->code = abc_getlocal_3(method->code)) +code_t* abc_getproperty(code_t*prev, char* name); +#define getproperty(method,name) (method->code = abc_getproperty(method->code,name)) +code_t* abc_getscopeobject(code_t*prev, int v); +#define getscopeobject(method,v) (method->code = abc_getscopeobject(method->code,v)) +code_t* abc_getslot(code_t*prev, int v); +#define getslot(method,v) (method->code = abc_getslot(method->code,v)) +code_t* abc_getsuper(code_t*prev, char* name); +#define getsuper(method,name) (method->code = abc_getsuper(method->code,name)) +code_t* abc_greaterequals(code_t*prev); +#define greaterequals(method) (method->code = abc_greaterequals(method->code)) +code_t* abc_hasnext(code_t*prev); +#define hasnext(method) (method->code = abc_hasnext(method->code)) +code_t* abc_hasnext2(code_t*prev, int reg, int reg2); +#define hasnext2(method,reg,reg2) (method->code = abc_hasnext2(method->code,reg,reg2)) +code_t* abc_ifeq(code_t*prev, code_t* label); +#define ifeq(method,label) (method->code = abc_ifeq(method->code,label)) +code_t* abc_iffalse(code_t*prev, code_t* label); +#define iffalse(method,label) (method->code = abc_iffalse(method->code,label)) +code_t* abc_ifge(code_t*prev, code_t* label); +#define ifge(method,label) (method->code = abc_ifge(method->code,label)) +code_t* abc_ifgt(code_t*prev, code_t* label); +#define ifgt(method,label) (method->code = abc_ifgt(method->code,label)) +code_t* abc_ifle(code_t*prev, code_t* label); +#define ifle(method,label) (method->code = abc_ifle(method->code,label)) +code_t* abc_iflt(code_t*prev, code_t* label); +#define iflt(method,label) (method->code = abc_iflt(method->code,label)) +code_t* abc_ifnge(code_t*prev, code_t* label); +#define ifnge(method,label) (method->code = abc_ifnge(method->code,label)) +code_t* abc_ifngt(code_t*prev, code_t* label); +#define ifngt(method,label) (method->code = abc_ifngt(method->code,label)) +code_t* abc_ifnle(code_t*prev, code_t* label); +#define ifnle(method,label) (method->code = abc_ifnle(method->code,label)) +code_t* abc_ifnlt(code_t*prev, code_t* label); +#define ifnlt(method,label) (method->code = abc_ifnlt(method->code,label)) +code_t* abc_ifne(code_t*prev, code_t* label); +#define ifne(method,label) (method->code = abc_ifne(method->code,label)) +code_t* abc_ifstricteq(code_t*prev, code_t* label); +#define ifstricteq(method,label) (method->code = abc_ifstricteq(method->code,label)) +code_t* abc_ifstrictne(code_t*prev, code_t* label); +#define ifstrictne(method,label) (method->code = abc_ifstrictne(method->code,label)) +code_t* abc_iftrue(code_t*prev, code_t* label); +#define iftrue(method,label) (method->code = abc_iftrue(method->code,label)) +code_t* abc_in(code_t*prev); +#define in(method) (method->code = abc_in(method->code)) +code_t* abc_inclocal(code_t*prev, int reg); +#define inclocal(method,reg) (method->code = abc_inclocal(method->code,reg)) +code_t* abc_inclocal_i(code_t*prev, int reg); +#define inclocal_i(method,reg) (method->code = abc_inclocal_i(method->code,reg)) +code_t* abc_increment(code_t*prev); +#define increment(method) (method->code = abc_increment(method->code)) +code_t* abc_increment_i(code_t*prev); +#define increment_i(method) (method->code = abc_increment_i(method->code)) +code_t* abc_initproperty(code_t*prev, char* name); +#define initproperty(method,name) (method->code = abc_initproperty(method->code,name)) +code_t* abc_instanceof(code_t*prev); +#define instanceof(method) (method->code = abc_instanceof(method->code)) +code_t* abc_istype(code_t*prev, char* name); +#define istype(method,name) (method->code = abc_istype(method->code,name)) +code_t* abc_istypelate(code_t*prev); +#define istypelate(method) (method->code = abc_istypelate(method->code)) +code_t* abc_jump(code_t*prev, code_t* label); +#define jump(method,label) (method->code = abc_jump(method->code,label)) +code_t* abc_kill(code_t*prev, int reg); +#define kill(method,reg) (method->code = abc_kill(method->code,reg)) +code_t* abc_label(code_t*prev); +#define label(method) (method->code = abc_label(method->code)) +code_t* abc_lessequals(code_t*prev); +#define lessequals(method) (method->code = abc_lessequals(method->code)) +code_t* abc_lessthan(code_t*prev); +#define lessthan(method) (method->code = abc_lessthan(method->code)) +code_t* abc_lookupswitch(code_t*prev, void* labels); +#define lookupswitch(method,labels) (method->code = abc_lookupswitch(method->code,labels)) +code_t* abc_lshift(code_t*prev); +#define lshift(method) (method->code = abc_lshift(method->code)) +code_t* abc_modulo(code_t*prev); +#define modulo(method) (method->code = abc_modulo(method->code)) +code_t* abc_multiply(code_t*prev); +#define multiply(method) (method->code = abc_multiply(method->code)) +code_t* abc_multiply_i(code_t*prev); +#define multiply_i(method) (method->code = abc_multiply_i(method->code)) +code_t* abc_negate(code_t*prev); +#define negate(method) (method->code = abc_negate(method->code)) +code_t* abc_negate_i(code_t*prev); +#define negate_i(method) (method->code = abc_negate_i(method->code)) +code_t* abc_newactivation(code_t*prev); +#define newactivation(method) (method->code = abc_newactivation(method->code)) +code_t* abc_newarray(code_t*prev, int v); +#define newarray(method,v) (method->code = abc_newarray(method->code,v)) +code_t* abc_newcatch(code_t*prev, int v); +#define newcatch(method,v) (method->code = abc_newcatch(method->code,v)) +code_t* abc_newclass(code_t*prev, abc_class_t* m); +#define newclass(method,m) (method->code = abc_newclass(method->code,m)) +code_t* abc_newfunction(code_t*prev, abc_method_body_t* m); +#define newfunction(method,m) (method->code = abc_newfunction(method->code,m)) +code_t* abc_newobject(code_t*prev, int v); +#define newobject(method,v) (method->code = abc_newobject(method->code,v)) +code_t* abc_nextname(code_t*prev); +#define nextname(method) (method->code = abc_nextname(method->code)) +code_t* abc_nextvalue(code_t*prev); +#define nextvalue(method) (method->code = abc_nextvalue(method->code)) +code_t* abc_nop(code_t*prev); +#define nop(method) (method->code = abc_nop(method->code)) +code_t* abc_not(code_t*prev); +#define not(method) (method->code = abc_not(method->code)) +code_t* abc_pop(code_t*prev); +#define pop(method) (method->code = abc_pop(method->code)) +code_t* abc_popscope(code_t*prev); +#define popscope(method) (method->code = abc_popscope(method->code)) +code_t* abc_pushbyte(code_t*prev, int v); +#define pushbyte(method,v) (method->code = abc_pushbyte(method->code,v)) +code_t* abc_pushdouble(code_t*prev, int v); +#define pushdouble(method,v) (method->code = abc_pushdouble(method->code,v)) +code_t* abc_pushfalse(code_t*prev); +#define pushfalse(method) (method->code = abc_pushfalse(method->code)) +code_t* abc_pushint(code_t*prev, int v); +#define pushint(method,v) (method->code = abc_pushint(method->code,v)) +code_t* abc_pushnamespace(code_t*prev, int v); +#define pushnamespace(method,v) (method->code = abc_pushnamespace(method->code,v)) +code_t* abc_pushnan(code_t*prev); +#define pushnan(method) (method->code = abc_pushnan(method->code)) +code_t* abc_pushnull(code_t*prev); +#define pushnull(method) (method->code = abc_pushnull(method->code)) +code_t* abc_pushscope(code_t*prev); +#define pushscope(method) (method->code = abc_pushscope(method->code)) +code_t* abc_pushshort(code_t*prev, int v); +#define pushshort(method,v) (method->code = abc_pushshort(method->code,v)) +code_t* abc_pushstring(code_t*prev, char* s); +#define pushstring(method,s) (method->code = abc_pushstring(method->code,s)) +code_t* abc_pushtrue(code_t*prev); +#define pushtrue(method) (method->code = abc_pushtrue(method->code)) +code_t* abc_pushuint(code_t*prev, int v); +#define pushuint(method,v) (method->code = abc_pushuint(method->code,v)) +code_t* abc_pushundefined(code_t*prev); +#define pushundefined(method) (method->code = abc_pushundefined(method->code)) +code_t* abc_pushwith(code_t*prev); +#define pushwith(method) (method->code = abc_pushwith(method->code)) +code_t* abc_returnvalue(code_t*prev); +#define returnvalue(method) (method->code = abc_returnvalue(method->code)) +code_t* abc_returnvoid(code_t*prev); +#define returnvoid(method) (method->code = abc_returnvoid(method->code)) +code_t* abc_rshift(code_t*prev); +#define rshift(method) (method->code = abc_rshift(method->code)) +code_t* abc_setlocal(code_t*prev, int reg); +#define setlocal(method,reg) (method->code = abc_setlocal(method->code,reg)) +code_t* abc_setlocal_0(code_t*prev); +#define setlocal_0(method) (method->code = abc_setlocal_0(method->code)) +code_t* abc_setlocal_1(code_t*prev); +#define setlocal_1(method) (method->code = abc_setlocal_1(method->code)) +code_t* abc_setlocal_2(code_t*prev); +#define setlocal_2(method) (method->code = abc_setlocal_2(method->code)) +code_t* abc_setlocal_3(code_t*prev); +#define setlocal_3(method) (method->code = abc_setlocal_3(method->code)) +code_t* abc_setglobalslot(code_t*prev, int v); +#define setglobalslot(method,v) (method->code = abc_setglobalslot(method->code,v)) +code_t* abc_setproperty(code_t*prev, char* name); +#define setproperty(method,name) (method->code = abc_setproperty(method->code,name)) +code_t* abc_setslot(code_t*prev, char* name); +#define setslot(method,name) (method->code = abc_setslot(method->code,name)) +code_t* abc_setsuper(code_t*prev, char* name); +#define setsuper(method,name) (method->code = abc_setsuper(method->code,name)) +code_t* abc_strictequals(code_t*prev); +#define strictequals(method) (method->code = abc_strictequals(method->code)) +code_t* abc_subtract(code_t*prev); +#define subtract(method) (method->code = abc_subtract(method->code)) +code_t* abc_subtract_i(code_t*prev); +#define subtract_i(method) (method->code = abc_subtract_i(method->code)) +code_t* abc_swap(code_t*prev); +#define swap(method) (method->code = abc_swap(method->code)) +code_t* abc_throw(code_t*prev); +#define throw(method) (method->code = abc_throw(method->code)) +code_t* abc_typeof(code_t*prev); +#define typeof(method) (method->code = abc_typeof(method->code)) +code_t* abc_urshift(code_t*prev); +#define urshift(method) (method->code = abc_urshift(method->code)) +code_t* abc_xxx(code_t*prev); +#define xxx(method) (method->code = abc_xxx(method->code)) #endif