gecko/js/src/imacros.c.out

892 lines
21 KiB
Plaintext

/* GENERATED BY imacro_asm.js -- DO NOT EDIT!!! */
static struct {
jsbytecode any_obj[37];
jsbytecode obj_any[39];
} equality_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 16,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 18,
/*18*/ JSOP_GOTO, 0, 4,
/*21*/ JSOP_POP,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP,
/*30*/ JSOP_GOTO, 0, 5,
/*33*/ JSOP_SWAP,
/*34*/ JSOP_POP,
/*35*/ JSOP_IMACOP,
/*36*/ 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, 18,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP,
/*31*/ JSOP_GOTO, 0, 5,
/*34*/ JSOP_SWAP,
/*35*/ JSOP_POP,
/*36*/ JSOP_SWAP,
/*37*/ JSOP_IMACOP,
/*38*/ JSOP_STOP,
},
};
static struct {
jsbytecode any_obj[37];
jsbytecode obj_any[39];
jsbytecode obj_obj[74];
} binary_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 16,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 18,
/*18*/ JSOP_GOTO, 0, 4,
/*21*/ JSOP_POP,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP,
/*30*/ JSOP_GOTO, 0, 5,
/*33*/ JSOP_SWAP,
/*34*/ JSOP_POP,
/*35*/ JSOP_IMACOP,
/*36*/ 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_NUMBER),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 18,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP,
/*31*/ JSOP_GOTO, 0, 5,
/*34*/ JSOP_SWAP,
/*35*/ JSOP_POP,
/*36*/ JSOP_SWAP,
/*37*/ JSOP_IMACOP,
/*38*/ 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_NUMBER),
/*13*/ JSOP_CALL, 0, 1,
/*16*/ JSOP_IFPRIMTOP, 0, 18,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP,
/*31*/ JSOP_GOTO, 0, 5,
/*34*/ JSOP_SWAP,
/*35*/ JSOP_POP,
/*36*/ JSOP_SWAP,
/*37*/ JSOP_DUP,
/*38*/ JSOP_DUP,
/*39*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*42*/ JSOP_IFPRIMTOP, 0, 16,
/*45*/ JSOP_SWAP,
/*46*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
/*49*/ JSOP_CALL, 0, 1,
/*52*/ JSOP_IFPRIMTOP, 0, 18,
/*55*/ JSOP_GOTO, 0, 4,
/*58*/ JSOP_POP,
/*59*/ JSOP_POP,
/*60*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*63*/ JSOP_CALL, 0, 0,
/*66*/ JSOP_PRIMTOP,
/*67*/ JSOP_GOTO, 0, 5,
/*70*/ JSOP_SWAP,
/*71*/ JSOP_POP,
/*72*/ JSOP_IMACOP,
/*73*/ JSOP_STOP,
},
};
static struct {
jsbytecode any_obj[37];
jsbytecode obj_any[39];
jsbytecode obj_obj[74];
} add_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 16,
/* 8*/ JSOP_SWAP,
/* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*12*/ JSOP_CALL, 0, 1,
/*15*/ JSOP_IFPRIMTOP, 0, 18,
/*18*/ JSOP_GOTO, 0, 4,
/*21*/ JSOP_POP,
/*22*/ JSOP_POP,
/*23*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*26*/ JSOP_CALL, 0, 0,
/*29*/ JSOP_PRIMTOP,
/*30*/ JSOP_GOTO, 0, 5,
/*33*/ JSOP_SWAP,
/*34*/ JSOP_POP,
/*35*/ JSOP_ADD,
/*36*/ 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, 18,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP,
/*31*/ JSOP_GOTO, 0, 5,
/*34*/ JSOP_SWAP,
/*35*/ JSOP_POP,
/*36*/ JSOP_SWAP,
/*37*/ JSOP_ADD,
/*38*/ 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, 18,
/*19*/ JSOP_GOTO, 0, 4,
/*22*/ JSOP_POP,
/*23*/ JSOP_POP,
/*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*27*/ JSOP_CALL, 0, 0,
/*30*/ JSOP_PRIMTOP,
/*31*/ JSOP_GOTO, 0, 5,
/*34*/ JSOP_SWAP,
/*35*/ JSOP_POP,
/*36*/ JSOP_SWAP,
/*37*/ JSOP_DUP,
/*38*/ JSOP_DUP,
/*39*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/*42*/ JSOP_IFPRIMTOP, 0, 16,
/*45*/ JSOP_SWAP,
/*46*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
/*49*/ JSOP_CALL, 0, 1,
/*52*/ JSOP_IFPRIMTOP, 0, 18,
/*55*/ JSOP_GOTO, 0, 4,
/*58*/ JSOP_POP,
/*59*/ JSOP_POP,
/*60*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*63*/ JSOP_CALL, 0, 0,
/*66*/ JSOP_PRIMTOP,
/*67*/ JSOP_GOTO, 0, 5,
/*70*/ JSOP_SWAP,
/*71*/ JSOP_POP,
/*72*/ JSOP_ADD,
/*73*/ JSOP_STOP,
},
};
static struct {
jsbytecode sign[37];
} unary_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
/* 5*/ JSOP_IFPRIMTOP, 0, 21,
/* 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, 12,
/*26*/ JSOP_POP,
/*27*/ JSOP_POP,
/*28*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
/*31*/ JSOP_CALL, 0, 0,
/*34*/ JSOP_PRIMTOP,
/*35*/ JSOP_IMACOP,
/*36*/ JSOP_STOP,
},
};
static struct {
jsbytecode apply0[8];
jsbytecode apply1[12];
jsbytecode apply2[16];
jsbytecode apply3[21];
jsbytecode apply4[26];
jsbytecode apply5[31];
jsbytecode apply6[36];
jsbytecode apply7[41];
jsbytecode apply8[46];
jsbytecode call0[7];
jsbytecode call1[7];
jsbytecode call2[7];
jsbytecode call3[7];
jsbytecode call4[7];
jsbytecode call5[7];
jsbytecode call6[7];
jsbytecode call7[7];
jsbytecode call8[7];
} apply_imacros = {
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_POP,
/* 4*/ JSOP_CALL, 0, 0,
/* 7*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_POP,
/* 8*/ JSOP_CALL, 0, 1,
/*11*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_POP,
/*12*/ JSOP_CALL, 0, 2,
/*15*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_DUP,
/*12*/ JSOP_INT8, 2,
/*14*/ JSOP_GETELEM,
/*15*/ JSOP_SWAP,
/*16*/ JSOP_POP,
/*17*/ JSOP_CALL, 0, 3,
/*20*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_DUP,
/*12*/ JSOP_INT8, 2,
/*14*/ JSOP_GETELEM,
/*15*/ JSOP_SWAP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_INT8, 3,
/*19*/ JSOP_GETELEM,
/*20*/ JSOP_SWAP,
/*21*/ JSOP_POP,
/*22*/ JSOP_CALL, 0, 4,
/*25*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_DUP,
/*12*/ JSOP_INT8, 2,
/*14*/ JSOP_GETELEM,
/*15*/ JSOP_SWAP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_INT8, 3,
/*19*/ JSOP_GETELEM,
/*20*/ JSOP_SWAP,
/*21*/ JSOP_DUP,
/*22*/ JSOP_INT8, 4,
/*24*/ JSOP_GETELEM,
/*25*/ JSOP_SWAP,
/*26*/ JSOP_POP,
/*27*/ JSOP_CALL, 0, 5,
/*30*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_DUP,
/*12*/ JSOP_INT8, 2,
/*14*/ JSOP_GETELEM,
/*15*/ JSOP_SWAP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_INT8, 3,
/*19*/ JSOP_GETELEM,
/*20*/ JSOP_SWAP,
/*21*/ JSOP_DUP,
/*22*/ JSOP_INT8, 4,
/*24*/ JSOP_GETELEM,
/*25*/ JSOP_SWAP,
/*26*/ JSOP_DUP,
/*27*/ JSOP_INT8, 5,
/*29*/ JSOP_GETELEM,
/*30*/ JSOP_SWAP,
/*31*/ JSOP_POP,
/*32*/ JSOP_CALL, 0, 6,
/*35*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_DUP,
/*12*/ JSOP_INT8, 2,
/*14*/ JSOP_GETELEM,
/*15*/ JSOP_SWAP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_INT8, 3,
/*19*/ JSOP_GETELEM,
/*20*/ JSOP_SWAP,
/*21*/ JSOP_DUP,
/*22*/ JSOP_INT8, 4,
/*24*/ JSOP_GETELEM,
/*25*/ JSOP_SWAP,
/*26*/ JSOP_DUP,
/*27*/ JSOP_INT8, 5,
/*29*/ JSOP_GETELEM,
/*30*/ JSOP_SWAP,
/*31*/ JSOP_DUP,
/*32*/ JSOP_INT8, 6,
/*34*/ JSOP_GETELEM,
/*35*/ JSOP_SWAP,
/*36*/ JSOP_POP,
/*37*/ JSOP_CALL, 0, 7,
/*40*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_DUP,
/* 4*/ JSOP_ZERO,
/* 5*/ JSOP_GETELEM,
/* 6*/ JSOP_SWAP,
/* 7*/ JSOP_DUP,
/* 8*/ JSOP_ONE,
/* 9*/ JSOP_GETELEM,
/*10*/ JSOP_SWAP,
/*11*/ JSOP_DUP,
/*12*/ JSOP_INT8, 2,
/*14*/ JSOP_GETELEM,
/*15*/ JSOP_SWAP,
/*16*/ JSOP_DUP,
/*17*/ JSOP_INT8, 3,
/*19*/ JSOP_GETELEM,
/*20*/ JSOP_SWAP,
/*21*/ JSOP_DUP,
/*22*/ JSOP_INT8, 4,
/*24*/ JSOP_GETELEM,
/*25*/ JSOP_SWAP,
/*26*/ JSOP_DUP,
/*27*/ JSOP_INT8, 5,
/*29*/ JSOP_GETELEM,
/*30*/ JSOP_SWAP,
/*31*/ JSOP_DUP,
/*32*/ JSOP_INT8, 6,
/*34*/ JSOP_GETELEM,
/*35*/ JSOP_SWAP,
/*36*/ JSOP_DUP,
/*37*/ JSOP_INT8, 7,
/*39*/ JSOP_GETELEM,
/*40*/ JSOP_SWAP,
/*41*/ JSOP_POP,
/*42*/ JSOP_CALL, 0, 8,
/*45*/ JSOP_STOP,
},
{
/* 0*/ JSOP_SWAP,
/* 1*/ JSOP_POP,
/* 2*/ JSOP_NULLTHIS,
/* 3*/ JSOP_CALL, 0, 0,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 2,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 0,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 3,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 1,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 4,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 2,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 5,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 3,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 6,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 4,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 7,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 5,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 8,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 6,
/* 6*/ JSOP_STOP,
},
{
/* 0*/ JSOP_PICK, 9,
/* 2*/ JSOP_POP,
/* 3*/ JSOP_CALL, 0, 7,
/* 6*/ JSOP_STOP,
},
};
static struct {
jsbytecode for_in[13];
jsbytecode for_each[13];
jsbytecode for_in_native[10];
jsbytecode for_each_native[10];
} iter_imacros = {
{
/* 0*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(iterator),
/* 3*/ JSOP_INT8, (JSITER_ENUMERATE),
/* 5*/ JSOP_CALL, 0, 1,
/* 8*/ JSOP_OBJTOP, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff00) >> 8, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff),
/*11*/ JSOP_PUSH,
/*12*/ JSOP_STOP,
},
{
/* 0*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(iterator),
/* 3*/ JSOP_INT8, (JSITER_ENUMERATE|JSITER_FOREACH),
/* 5*/ JSOP_CALL, 0, 1,
/* 8*/ JSOP_OBJTOP, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff00) >> 8, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff),
/*11*/ JSOP_PUSH,
/*12*/ JSOP_STOP,
},
{
/* 0*/ JSOP_CALLBUILTIN, ((JSBUILTIN_ObjectToIterator) & 0xff00) >> 8, ((JSBUILTIN_ObjectToIterator) & 0xff),
/* 3*/ JSOP_INT8, (JSITER_ENUMERATE),
/* 5*/ JSOP_CALL, 0, 1,
/* 8*/ JSOP_PUSH,
/* 9*/ JSOP_STOP,
},
{
/* 0*/ JSOP_CALLBUILTIN, ((JSBUILTIN_ObjectToIterator) & 0xff00) >> 8, ((JSBUILTIN_ObjectToIterator) & 0xff),
/* 3*/ JSOP_INT8, (JSITER_ENUMERATE|JSITER_FOREACH),
/* 5*/ JSOP_CALL, 0, 1,
/* 8*/ JSOP_PUSH,
/* 9*/ JSOP_STOP,
},
};
static struct {
jsbytecode custom_iter_next[10];
jsbytecode native_iter_next[12];
} nextiter_imacros = {
{
/* 0*/ JSOP_POP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(next),
/* 5*/ JSOP_CALL, 0, 0,
/* 8*/ JSOP_TRUE,
/* 9*/ JSOP_STOP,
},
{
/* 0*/ JSOP_POP,
/* 1*/ JSOP_DUP,
/* 2*/ JSOP_CALLBUILTIN, ((JSBUILTIN_CallIteratorNext) & 0xff00) >> 8, ((JSBUILTIN_CallIteratorNext) & 0xff),
/* 5*/ JSOP_CALL, 0, 0,
/* 8*/ JSOP_DUP,
/* 9*/ JSOP_HOLE,
/*10*/ JSOP_STRICTNE,
/*11*/ JSOP_STOP,
},
};
static struct {
jsbytecode getprop[10];
jsbytecode getelem[10];
} getelem_imacros = {
{
/* 0*/ JSOP_SWAP,
/* 1*/ JSOP_CALLBUILTIN, ((JSBUILTIN_GetProperty) & 0xff00) >> 8, ((JSBUILTIN_GetProperty) & 0xff),
/* 4*/ JSOP_PICK, 2,
/* 6*/ JSOP_CALL, 0, 1,
/* 9*/ JSOP_STOP,
},
{
/* 0*/ JSOP_SWAP,
/* 1*/ JSOP_CALLBUILTIN, ((JSBUILTIN_GetElement) & 0xff00) >> 8, ((JSBUILTIN_GetElement) & 0xff),
/* 4*/ JSOP_PICK, 2,
/* 6*/ JSOP_CALL, 0, 1,
/* 9*/ JSOP_STOP,
},
};
static struct {
jsbytecode setprop[15];
jsbytecode setelem[15];
} setelem_imacros = {
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_PICK, 3,
/* 3*/ JSOP_CALLBUILTIN, ((JSBUILTIN_SetProperty) & 0xff00) >> 8, ((JSBUILTIN_SetProperty) & 0xff),
/* 6*/ JSOP_PICK, 4,
/* 8*/ JSOP_PICK, 4,
/*10*/ JSOP_CALL, 0, 2,
/*13*/ JSOP_POP,
/*14*/ JSOP_STOP,
},
{
/* 0*/ JSOP_DUP,
/* 1*/ JSOP_PICK, 3,
/* 3*/ JSOP_CALLBUILTIN, ((JSBUILTIN_SetElement) & 0xff00) >> 8, ((JSBUILTIN_SetElement) & 0xff),
/* 6*/ JSOP_PICK, 4,
/* 8*/ JSOP_PICK, 4,
/*10*/ JSOP_CALL, 0, 2,
/*13*/ JSOP_POP,
/*14*/ JSOP_STOP,
},
};
static struct {
jsbytecode initelem[15];
} initelem_imacros = {
{
/* 0*/ JSOP_PICK, 2,
/* 2*/ JSOP_DUP,
/* 3*/ JSOP_CALLBUILTIN, ((JSBUILTIN_SetElement) & 0xff00) >> 8, ((JSBUILTIN_SetElement) & 0xff),
/* 6*/ JSOP_PICK, 4,
/* 8*/ JSOP_PICK, 4,
/*10*/ JSOP_CALL, 0, 2,
/*13*/ JSOP_POP,
/*14*/ JSOP_STOP,
},
};
uint8 js_opcode2extra[JSOP_LIMIT] = {
0, /* JSOP_NOP */
0, /* JSOP_PUSH */
0, /* JSOP_POPV */
0, /* JSOP_ENTERWITH */
0, /* JSOP_LEAVEWITH */
0, /* JSOP_RETURN */
0, /* JSOP_GOTO */
0, /* JSOP_IFEQ */
0, /* JSOP_IFNE */
0, /* JSOP_ARGUMENTS */
0, /* JSOP_FORARG */
0, /* JSOP_FORLOCAL */
0, /* JSOP_DUP */
0, /* JSOP_DUP2 */
0, /* JSOP_SETCONST */
3, /* JSOP_BITOR */
3, /* JSOP_BITXOR */
3, /* JSOP_BITAND */
3, /* JSOP_EQ */
3, /* JSOP_NE */
3, /* JSOP_LT */
3, /* JSOP_LE */
3, /* JSOP_GT */
3, /* JSOP_GE */
3, /* JSOP_LSH */
3, /* JSOP_RSH */
3, /* JSOP_URSH */
3, /* JSOP_ADD */
3, /* JSOP_SUB */
3, /* JSOP_MUL */
3, /* JSOP_DIV */
3, /* JSOP_MOD */
0, /* JSOP_NOT */
0, /* JSOP_BITNOT */
3, /* JSOP_NEG */
3, /* JSOP_POS */
0, /* JSOP_DELNAME */
0, /* JSOP_DELPROP */
0, /* JSOP_DELELEM */
0, /* JSOP_TYPEOF */
0, /* JSOP_VOID */
0, /* JSOP_INCNAME */
0, /* JSOP_INCPROP */
0, /* JSOP_INCELEM */
0, /* JSOP_DECNAME */
0, /* JSOP_DECPROP */
0, /* JSOP_DECELEM */
0, /* JSOP_NAMEINC */
0, /* JSOP_PROPINC */
0, /* JSOP_ELEMINC */
0, /* JSOP_NAMEDEC */
0, /* JSOP_PROPDEC */
0, /* JSOP_ELEMDEC */
0, /* JSOP_GETPROP */
0, /* JSOP_SETPROP */
2, /* JSOP_GETELEM */
3, /* JSOP_SETELEM */
0, /* JSOP_CALLNAME */
0, /* JSOP_CALL */
0, /* JSOP_NAME */
0, /* JSOP_DOUBLE */
0, /* JSOP_STRING */
0, /* JSOP_ZERO */
0, /* JSOP_ONE */
0, /* JSOP_NULL */
0, /* JSOP_THIS */
0, /* JSOP_FALSE */
0, /* JSOP_TRUE */
0, /* JSOP_OR */
0, /* JSOP_AND */
0, /* JSOP_TABLESWITCH */
0, /* JSOP_LOOKUPSWITCH */
0, /* JSOP_STRICTEQ */
0, /* JSOP_STRICTNE */
0, /* JSOP_NULLTHIS */
3, /* JSOP_ITER */
2, /* JSOP_NEXTITER */
0, /* JSOP_ENDITER */
8, /* JSOP_APPLY */
0, /* JSOP_SWAP */
0, /* JSOP_OBJECT */
0, /* JSOP_POP */
0, /* JSOP_NEW */
0, /* JSOP_TRAP */
0, /* JSOP_GETARG */
0, /* JSOP_SETARG */
0, /* JSOP_GETLOCAL */
0, /* JSOP_SETLOCAL */
0, /* JSOP_UINT16 */
0, /* JSOP_NEWINIT */
0, /* JSOP_ENDINIT */
0, /* JSOP_INITPROP */
3, /* JSOP_INITELEM */
0, /* JSOP_DEFSHARP */
0, /* JSOP_USESHARP */
0, /* JSOP_INCARG */
0, /* JSOP_DECARG */
0, /* JSOP_ARGINC */
0, /* JSOP_ARGDEC */
0, /* JSOP_INCLOCAL */
0, /* JSOP_DECLOCAL */
0, /* JSOP_LOCALINC */
0, /* JSOP_LOCALDEC */
0, /* JSOP_IMACOP */
0, /* JSOP_FORNAME */
0, /* JSOP_FORPROP */
0, /* JSOP_FORELEM */
0, /* JSOP_POPN */
0, /* JSOP_BINDNAME */
0, /* JSOP_SETNAME */
0, /* JSOP_THROW */
0, /* JSOP_IN */
0, /* JSOP_INSTANCEOF */
0, /* JSOP_DEBUGGER */
0, /* JSOP_GOSUB */
0, /* JSOP_RETSUB */
0, /* JSOP_EXCEPTION */
0, /* JSOP_LINENO */
0, /* JSOP_CONDSWITCH */
0, /* JSOP_CASE */
0, /* JSOP_DEFAULT */
0, /* JSOP_EVAL */
0, /* JSOP_ENUMELEM */
0, /* JSOP_GETTER */
0, /* JSOP_SETTER */
0, /* JSOP_DEFFUN */
0, /* JSOP_DEFCONST */
0, /* JSOP_DEFVAR */
0, /* JSOP_ANONFUNOBJ */
0, /* JSOP_NAMEDFUNOBJ */
0, /* JSOP_SETLOCALPOP */
0, /* JSOP_IFPRIMTOP */
0, /* JSOP_SETCALL */
0, /* JSOP_TRY */
0, /* JSOP_FINALLY */
0, /* JSOP_OBJTOP */
0, /* JSOP_ARGSUB */
0, /* JSOP_ARGCNT */
0, /* JSOP_DEFLOCALFUN */
0, /* JSOP_GOTOX */
0, /* JSOP_IFEQX */
0, /* JSOP_IFNEX */
0, /* JSOP_ORX */
0, /* JSOP_ANDX */
0, /* JSOP_GOSUBX */
0, /* JSOP_CASEX */
0, /* JSOP_DEFAULTX */
0, /* JSOP_TABLESWITCHX */
0, /* JSOP_LOOKUPSWITCHX */
0, /* JSOP_BACKPATCH */
0, /* JSOP_BACKPATCH_POP */
0, /* JSOP_THROWING */
0, /* JSOP_SETRVAL */
0, /* JSOP_RETRVAL */
0, /* JSOP_GETGVAR */
0, /* JSOP_SETGVAR */
0, /* JSOP_INCGVAR */
0, /* JSOP_DECGVAR */
0, /* JSOP_GVARINC */
0, /* JSOP_GVARDEC */
0, /* JSOP_REGEXP */
0, /* JSOP_DEFXMLNS */
0, /* JSOP_ANYNAME */
0, /* JSOP_QNAMEPART */
0, /* JSOP_QNAMECONST */
0, /* JSOP_QNAME */
0, /* JSOP_TOATTRNAME */
0, /* JSOP_TOATTRVAL */
0, /* JSOP_ADDATTRNAME */
0, /* JSOP_ADDATTRVAL */
0, /* JSOP_BINDXMLNAME */
0, /* JSOP_SETXMLNAME */
0, /* JSOP_XMLNAME */
0, /* JSOP_DESCENDANTS */
0, /* JSOP_FILTER */
0, /* JSOP_ENDFILTER */
0, /* JSOP_TOXML */
0, /* JSOP_TOXMLLIST */
0, /* JSOP_XMLTAGEXPR */
0, /* JSOP_XMLELTEXPR */
0, /* JSOP_XMLOBJECT */
0, /* JSOP_XMLCDATA */
0, /* JSOP_XMLCOMMENT */
0, /* JSOP_XMLPI */
0, /* JSOP_CALLPROP */
0, /* JSOP_GETFUNNS */
0, /* JSOP_GETUPVAR */
0, /* JSOP_DELDESC */
0, /* JSOP_UINT24 */
0, /* JSOP_INDEXBASE */
0, /* JSOP_RESETBASE */
0, /* JSOP_RESETBASE0 */
0, /* JSOP_STARTXML */
0, /* JSOP_STARTXMLEXPR */
0, /* JSOP_CALLELEM */
0, /* JSOP_STOP */
0, /* JSOP_GETXPROP */
0, /* JSOP_CALLXMLNAME */
0, /* JSOP_TYPEOFEXPR */
0, /* JSOP_ENTERBLOCK */
0, /* JSOP_LEAVEBLOCK */
0, /* JSOP_PICK */
0, /* JSOP_PRIMTOP */
0, /* JSOP_UNUSED203 */
0, /* JSOP_UNUSED204 */
0, /* JSOP_UNUSED205 */
0, /* JSOP_UNUSED206 */
0, /* JSOP_UNUSED207 */
0, /* JSOP_UNUSED208 */
0, /* JSOP_UNUSED209 */
0, /* JSOP_GENERATOR */
0, /* JSOP_YIELD */
0, /* JSOP_ARRAYPUSH */
0, /* JSOP_CALLUPVAR */
0, /* JSOP_ENUMCONSTELEM */
0, /* JSOP_LEAVEBLOCKEXPR */
0, /* JSOP_GETTHISPROP */
0, /* JSOP_GETARGPROP */
0, /* JSOP_GETLOCALPROP */
0, /* JSOP_UNUSED219 */
0, /* JSOP_INDEXBASE1 */
0, /* JSOP_INDEXBASE2 */
0, /* JSOP_INDEXBASE3 */
0, /* JSOP_CALLGVAR */
0, /* JSOP_CALLLOCAL */
0, /* JSOP_CALLARG */
0, /* JSOP_CALLBUILTIN */
0, /* JSOP_INT8 */
0, /* JSOP_INT32 */
0, /* JSOP_LENGTH */
0, /* JSOP_NEWARRAY */
0, /* JSOP_HOLE */
0, /* JSOP_LOOP */
};