Bug 507180 - Fix imacros (r=waldo)

This commit is contained in:
Luke Wagner 2009-08-19 09:06:22 -07:00
parent c438241025
commit 3b9c42c86e
2 changed files with 228 additions and 180 deletions

View File

@ -1,72 +1,78 @@
/* GENERATED BY imacro_asm.js -- DO NOT EDIT!!! */
static struct {
jsbytecode any_obj[34];
jsbytecode obj_any[36];
jsbytecode any_obj[36];
jsbytecode obj_any[38];
} equality_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 16,
/* 5*/ JSOP_IFPRIMTOP, 0, 18,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 15,
/*18*/ JSOP_GOTO, 0, 4,
/*21*/ JSOP_POP,
/*22*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*25*/ JSOP_CALL, 0, 0,
/*28*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*30*/ JSOP_SWAP,
/*31*/ JSOP_POP,
/*32*/ JSOP_IMACOP,
/*33*/ JSOP_STOP,
/*15*/ JSOP_IFPRIMTOP, 0, 17,
/*18*/ JSOP_POP,
/*19*/ JSOP_DUP,
/*20*/ JSOP_GOTO, 0, 4,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*32*/ JSOP_SWAP,
/*33*/ JSOP_POP,
/*34*/ JSOP_IMACOP,
/*35*/ JSOP_STOP,
},
{
/* 0*/ JSOP_SWAP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_DUP,
/* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 6*/ JSOP_IFPRIMTOP, 0, 16,
/* 6*/ JSOP_IFPRIMTOP, 0, 18,
/* 9*/ JSOP_SWAP,
/*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 15,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*31*/ JSOP_SWAP,
/*32*/ JSOP_POP,
/*16*/ JSOP_IFPRIMTOP, 0, 17,
/*19*/ JSOP_POP,
/*20*/ JSOP_DUP,
/*21*/ JSOP_GOTO, 0, 4,
/*24*/ JSOP_POP,
/*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*28*/ JSOP_CALL, 0, 0,
/*31*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*33*/ JSOP_SWAP,
/*34*/ JSOP_IMACOP,
/*35*/ JSOP_STOP,
/*34*/ JSOP_POP,
/*35*/ JSOP_SWAP,
/*36*/ JSOP_IMACOP,
/*37*/ JSOP_STOP,
},
};
static struct {
jsbytecode any_obj[34];
jsbytecode any_obj[36];
jsbytecode obj_any[38];
jsbytecode obj_obj[68];
jsbytecode obj_obj[72];
} binary_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 16,
/* 5*/ JSOP_IFPRIMTOP, 0, 18,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 15,
/*18*/ JSOP_GOTO, 0, 4,
/*21*/ JSOP_POP,
/*22*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*25*/ JSOP_CALL, 0, 0,
/*28*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*30*/ JSOP_SWAP,
/*31*/ JSOP_POP,
/*32*/ JSOP_IMACOP,
/*33*/ JSOP_STOP,
/*15*/ JSOP_IFPRIMTOP, 0, 17,
/*18*/ JSOP_POP,
/*19*/ JSOP_DUP,
/*20*/ JSOP_GOTO, 0, 4,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*32*/ JSOP_SWAP,
/*33*/ JSOP_POP,
/*34*/ JSOP_IMACOP,
/*35*/ JSOP_STOP,
},
{
/* 0*/ JSOP_SWAP,
@ -96,80 +102,65 @@ static struct {
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_DUP,
/* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 6*/ JSOP_IFPRIMTOP, 0, 16,
/* 6*/ JSOP_IFPRIMTOP, 0, 18,
/* 9*/ JSOP_SWAP,
/*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 15,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*31*/ JSOP_SWAP,
/*32*/ JSOP_POP,
/*16*/ JSOP_IFPRIMTOP, 0, 17,
/*19*/ JSOP_POP,
/*20*/ JSOP_DUP,
/*21*/ JSOP_GOTO, 0, 4,
/*24*/ JSOP_POP,
/*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*28*/ JSOP_CALL, 0, 0,
/*31*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*33*/ JSOP_SWAP,
/*34*/ JSOP_DUP,
/*35*/ JSOP_DUP,
/*36*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*39*/ JSOP_IFPRIMTOP, 0, 16,
/*42*/ JSOP_SWAP,
/*43*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*46*/ JSOP_CALL, 0, 1,
/*49*/ JSOP_IFPRIMTOP, 0, 15,
/*52*/ JSOP_GOTO, 0, 4,
/*55*/ JSOP_POP,
/*56*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*59*/ JSOP_CALL, 0, 0,
/*62*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*64*/ JSOP_SWAP,
/*65*/ JSOP_POP,
/*66*/ JSOP_IMACOP,
/*67*/ JSOP_STOP,
/*34*/ JSOP_POP,
/*35*/ JSOP_SWAP,
/*36*/ JSOP_DUP,
/*37*/ JSOP_DUP,
/*38*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*41*/ JSOP_IFPRIMTOP, 0, 18,
/*44*/ JSOP_SWAP,
/*45*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*48*/ JSOP_CALL, 0, 1,
/*51*/ JSOP_IFPRIMTOP, 0, 17,
/*54*/ JSOP_POP,
/*55*/ JSOP_DUP,
/*56*/ JSOP_GOTO, 0, 4,
/*59*/ JSOP_POP,
/*60*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*63*/ JSOP_CALL, 0, 0,
/*66*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*68*/ JSOP_SWAP,
/*69*/ JSOP_POP,
/*70*/ JSOP_IMACOP,
/*71*/ JSOP_STOP,
},
};
static struct {
jsbytecode any_obj[34];
jsbytecode obj_any[36];
jsbytecode obj_obj[68];
jsbytecode any_obj[36];
jsbytecode obj_any[38];
jsbytecode obj_obj[72];
} add_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 16,
/* 5*/ JSOP_IFPRIMTOP, 0, 18,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 15,
/*18*/ JSOP_GOTO, 0, 4,
/*21*/ JSOP_POP,
/*22*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*25*/ JSOP_CALL, 0, 0,
/*28*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*30*/ JSOP_SWAP,
/*31*/ JSOP_POP,
/*32*/ JSOP_ADD,
/*33*/ JSOP_STOP,
},
{
/* 0*/ JSOP_SWAP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_DUP,
/* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 6*/ JSOP_IFPRIMTOP, 0, 16,
/* 9*/ JSOP_SWAP,
/*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 15,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*31*/ JSOP_SWAP,
/*32*/ JSOP_POP,
/*33*/ JSOP_SWAP,
/*15*/ JSOP_IFPRIMTOP, 0, 17,
/*18*/ JSOP_POP,
/*19*/ JSOP_DUP,
/*20*/ JSOP_GOTO, 0, 4,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*32*/ JSOP_SWAP,
/*33*/ JSOP_POP,
/*34*/ JSOP_ADD,
/*35*/ JSOP_STOP,
},
@ -178,108 +169,141 @@ static struct {
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_DUP,
/* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 6*/ JSOP_IFPRIMTOP, 0, 16,
/* 6*/ JSOP_IFPRIMTOP, 0, 18,
/* 9*/ JSOP_SWAP,
/*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 15,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*31*/ JSOP_SWAP,
/*32*/ JSOP_POP,
/*16*/ JSOP_IFPRIMTOP, 0, 17,
/*19*/ JSOP_POP,
/*20*/ JSOP_DUP,
/*21*/ JSOP_GOTO, 0, 4,
/*24*/ JSOP_POP,
/*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*28*/ JSOP_CALL, 0, 0,
/*31*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*33*/ JSOP_SWAP,
/*34*/ JSOP_DUP,
/*35*/ JSOP_DUP,
/*36*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*39*/ JSOP_IFPRIMTOP, 0, 16,
/*42*/ JSOP_SWAP,
/*43*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*46*/ JSOP_CALL, 0, 1,
/*49*/ JSOP_IFPRIMTOP, 0, 15,
/*52*/ JSOP_GOTO, 0, 4,
/*55*/ JSOP_POP,
/*56*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*59*/ JSOP_CALL, 0, 0,
/*62*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*64*/ JSOP_SWAP,
/*65*/ JSOP_POP,
/*66*/ JSOP_ADD,
/*67*/ JSOP_STOP,
/*34*/ JSOP_POP,
/*35*/ JSOP_SWAP,
/*36*/ JSOP_ADD,
/*37*/ JSOP_STOP,
},
{
/* 0*/ JSOP_SWAP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_DUP,
/* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 6*/ JSOP_IFPRIMTOP, 0, 18,
/* 9*/ JSOP_SWAP,
/*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 17,
/*19*/ JSOP_POP,
/*20*/ JSOP_DUP,
/*21*/ JSOP_GOTO, 0, 4,
/*24*/ JSOP_POP,
/*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*28*/ JSOP_CALL, 0, 0,
/*31*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*33*/ JSOP_SWAP,
/*34*/ JSOP_POP,
/*35*/ JSOP_SWAP,
/*36*/ JSOP_DUP,
/*37*/ JSOP_DUP,
/*38*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*41*/ JSOP_IFPRIMTOP, 0, 18,
/*44*/ JSOP_SWAP,
/*45*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*48*/ JSOP_CALL, 0, 1,
/*51*/ JSOP_IFPRIMTOP, 0, 17,
/*54*/ JSOP_POP,
/*55*/ JSOP_DUP,
/*56*/ JSOP_GOTO, 0, 4,
/*59*/ JSOP_POP,
/*60*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*63*/ JSOP_CALL, 0, 0,
/*66*/ JSOP_PRIMTOP, (JSTYPE_VOID),
/*68*/ JSOP_SWAP,
/*69*/ JSOP_POP,
/*70*/ JSOP_ADD,
/*71*/ JSOP_STOP,
},
};
static struct {
jsbytecode sign[39];
jsbytecode sign[41];
} unary_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 21,
/* 5*/ JSOP_IFPRIMTOP, 0, 23,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 6,
/*18*/ JSOP_GOTO, 0, 9,
/*21*/ JSOP_SWAP,
/*22*/ JSOP_POP,
/*23*/ JSOP_GOTO, 0, 14,
/*26*/ JSOP_POP,
/*27*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*30*/ JSOP_CALL, 0, 0,
/*33*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*35*/ JSOP_SWAP,
/*36*/ JSOP_POP,
/*37*/ JSOP_IMACOP,
/*38*/ JSOP_STOP,
/*15*/ JSOP_IFPRIMTOP, 0, 8,
/*18*/ JSOP_POP,
/*19*/ JSOP_DUP,
/*20*/ JSOP_GOTO, 0, 9,
/*23*/ JSOP_SWAP,
/*24*/ JSOP_POP,
/*25*/ JSOP_GOTO, 0, 14,
/*28*/ JSOP_POP,
/*29*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*32*/ JSOP_CALL, 0, 0,
/*35*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
/*37*/ JSOP_SWAP,
/*38*/ JSOP_POP,
/*39*/ JSOP_IMACOP,
/*40*/ JSOP_STOP,
},
};
static struct {
jsbytecode String[36];
jsbytecode String[38];
} call_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(toString),
/* 5*/ JSOP_IFPRIMTOP, 0, 13,
/* 5*/ JSOP_IFPRIMTOP, 0, 15,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_CALL, 0, 0,
/*12*/ JSOP_IFPRIMTOP, 0, 18,
/*15*/ JSOP_GOTO, 0, 4,
/*18*/ JSOP_POP,
/*19*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*22*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_STRING),
/*25*/ JSOP_CALL, 0, 1,
/*28*/ JSOP_PRIMTOP, (JSTYPE_STRING),
/*30*/ JSOP_SWAP,
/*31*/ JSOP_POP,
/*32*/ JSOP_CALL, 0, 1,
/*35*/ JSOP_STOP,
/*12*/ JSOP_IFPRIMTOP, 0, 20,
/*15*/ JSOP_POP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_GOTO, 0, 4,
/*20*/ JSOP_POP,
/*21*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*24*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_STRING),
/*27*/ JSOP_CALL, 0, 1,
/*30*/ JSOP_PRIMTOP, (JSTYPE_STRING),
/*32*/ JSOP_SWAP,
/*33*/ JSOP_POP,
/*34*/ JSOP_CALL, 0, 1,
/*37*/ JSOP_STOP,
},
};
static struct {
jsbytecode String[36];
jsbytecode String[38];
} new_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(toString),
/* 5*/ JSOP_IFPRIMTOP, 0, 13,
/* 5*/ JSOP_IFPRIMTOP, 0, 15,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_CALL, 0, 0,
/*12*/ JSOP_IFPRIMTOP, 0, 18,
/*15*/ JSOP_GOTO, 0, 4,
/*18*/ JSOP_POP,
/*19*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*22*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_STRING),
/*25*/ JSOP_CALL, 0, 1,
/*28*/ JSOP_PRIMTOP, (JSTYPE_STRING),
/*30*/ JSOP_SWAP,
/*31*/ JSOP_POP,
/*32*/ JSOP_NEW, 0, 1,
/*35*/ JSOP_STOP,
/*12*/ JSOP_IFPRIMTOP, 0, 20,
/*15*/ JSOP_POP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_GOTO, 0, 4,
/*20*/ JSOP_POP,
/*21*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*24*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_STRING),
/*27*/ JSOP_CALL, 0, 1,
/*30*/ JSOP_PRIMTOP, (JSTYPE_STRING),
/*32*/ JSOP_SWAP,
/*33*/ JSOP_POP,
/*34*/ JSOP_NEW, 0, 1,
/*37*/ JSOP_STOP,
},
};
static struct {
@ -891,17 +915,17 @@ uint8 js_opcode2extra[JSOP_LIMIT] = {
)
jsbytecode*
js_GetImacroStart(jsbytecode* pc) {
if (size_t(pc - equality_imacros.any_obj) < 34) return equality_imacros.any_obj;
if (size_t(pc - equality_imacros.obj_any) < 36) return equality_imacros.obj_any;
if (size_t(pc - binary_imacros.any_obj) < 34) return binary_imacros.any_obj;
if (size_t(pc - equality_imacros.any_obj) < 36) return equality_imacros.any_obj;
if (size_t(pc - equality_imacros.obj_any) < 38) return equality_imacros.obj_any;
if (size_t(pc - binary_imacros.any_obj) < 36) return binary_imacros.any_obj;
if (size_t(pc - binary_imacros.obj_any) < 38) return binary_imacros.obj_any;
if (size_t(pc - binary_imacros.obj_obj) < 68) return binary_imacros.obj_obj;
if (size_t(pc - add_imacros.any_obj) < 34) return add_imacros.any_obj;
if (size_t(pc - add_imacros.obj_any) < 36) return add_imacros.obj_any;
if (size_t(pc - add_imacros.obj_obj) < 68) return add_imacros.obj_obj;
if (size_t(pc - unary_imacros.sign) < 39) return unary_imacros.sign;
if (size_t(pc - call_imacros.String) < 36) return call_imacros.String;
if (size_t(pc - new_imacros.String) < 36) return new_imacros.String;
if (size_t(pc - binary_imacros.obj_obj) < 72) return binary_imacros.obj_obj;
if (size_t(pc - add_imacros.any_obj) < 36) return add_imacros.any_obj;
if (size_t(pc - add_imacros.obj_any) < 38) return add_imacros.obj_any;
if (size_t(pc - add_imacros.obj_obj) < 72) return add_imacros.obj_obj;
if (size_t(pc - unary_imacros.sign) < 41) return unary_imacros.sign;
if (size_t(pc - call_imacros.String) < 38) return call_imacros.String;
if (size_t(pc - new_imacros.String) < 38) return new_imacros.String;
if (size_t(pc - apply_imacros.apply0) < 8) return apply_imacros.apply0;
if (size_t(pc - apply_imacros.apply1) < 12) return apply_imacros.apply1;
if (size_t(pc - apply_imacros.apply2) < 16) return apply_imacros.apply2;

View File

@ -47,6 +47,8 @@
string void # any obj valueOf obj "void"
call 1 # any obj rval
ifprimtop 3 # any obj rval
pop # any obj
dup # any obj obj
goto 2
1: pop # any obj obj
2: callprop toString # any obj toString obj
@ -68,6 +70,8 @@
string void # any obj valueOf obj "void"
call 1 # any obj lval
ifprimtop 3 # any obj lval
pop # any obj
dup # any obj obj
goto 2
1: pop # any obj obj
2: callprop toString # any obj toString obj
@ -93,6 +97,8 @@
string number # any obj valueOf obj "number"
call 1 # any obj rval
ifprimtop 3 # any obj rval
pop # any obj
dup # any obj obj
goto 2
1: pop # any obj obj
2: callprop toString # any obj toString obj
@ -138,6 +144,8 @@
string number # obj2 obj1 valueOf obj1 "number"
call 1 # obj2 obj1 lval
ifprimtop 3 # obj2 obj1 lval
pop # obj2 obj1
dup # obj2 obj1 obj1
goto 2
1: pop # obj2 obj1 obj1
2: callprop toString # obj2 obj1 toString obj1
@ -154,6 +162,8 @@
string number # lval obj valueOf obj "number"
call 1 # lval obj rval
ifprimtop 6 # lval obj rval
pop # lval obj
dup # lval obj obj
goto 5
4: pop # lval obj obj
5: callprop toString # lval obj toString obj
@ -175,9 +185,11 @@
getprop valueOf # any obj obj valueOf
ifprimtop 1 # any obj obj valueOf
swap # any obj valueOf obj
string void # lval obj valueOf obj "void"
string void # any obj valueOf obj "void"
call 1 # any obj rval
ifprimtop 3 # any obj rval
pop # any obj
dup # any obj obj
goto 2
1: pop # any obj obj
2: callprop toString # any obj toString obj
@ -196,9 +208,11 @@
getprop valueOf # any obj obj valueOf
ifprimtop 1 # any obj obj valueOf
swap # any obj valueOf obj
string void # lval obj valueOf obj "void"
string void # any obj valueOf obj "void"
call 1 # any obj lval
ifprimtop 3 # any obj lval
pop # any obj
dup # any obj obj
goto 2
1: pop # any obj obj
2: callprop toString # any obj toString obj
@ -218,18 +232,20 @@
getprop valueOf # obj2 obj1 obj1 valueOf
ifprimtop 1 # obj2 obj1 obj1 valueOf
swap # obj2 obj1 valueOf obj1
string void # lval obj valueOf obj "void"
string void # obj2 obj1 valueOf obj1 "void"
call 1 # obj2 obj1 lval
ifprimtop 3 # obj2 obj1 lval
pop # obj2 obj1
dup # obj2 obj1 obj1
goto 2
1: pop # obj2 obj1 obj1
2: callprop toString # obj2 obj toString obj1
call 0 # obj2 obj lval
primtop (JSTYPE_VOID) # obj2 obj lval
2: callprop toString # obj2 obj1 toString obj1
call 0 # obj2 obj1 lval
primtop (JSTYPE_VOID) # obj2 obj1 lval
3: swap # obj2 lval obj1
pop # obj2 lval
swap # lval obj2
dup # lval obj1 obj1
dup # lval obj obj
dup # lval obj obj obj
getprop valueOf # lval obj obj valueOf
ifprimtop 4 # lval obj obj valueOf
@ -237,6 +253,8 @@
string void # lval obj valueOf obj "void"
call 1 # lval obj rval
ifprimtop 6 # lval obj rval
pop # lval obj
dup # lval obj obj
goto 5
4: pop # lval obj obj
5: callprop toString # lval obj toString obj
@ -261,6 +279,8 @@
string number # obj valueOf obj "number"
call 1 # obj lval
ifprimtop 1 # obj lval
pop # obj
dup # obj obj
goto 3
1: swap # lval obj
pop # lval
@ -287,6 +307,8 @@
swap # String this obj toString obj
call 0 # String this obj rval
ifprimtop 3 # String this obj rval
pop # String this obj
dup # String this obj obj
goto 2
1: pop # String this obj obj
2: callprop valueOf # String this obj valueOf obj
@ -311,6 +333,8 @@
swap # String this obj toString obj
call 0 # String this obj rval
ifprimtop 3 # String this obj rval
pop # String this obj
dup # String this obj obj
goto 2
1: pop # String this obj obj
2: callprop valueOf # String this obj valueOf obj