|
Classes |
| struct | JSCodeSpec |
Defines |
| #define | OPDEF(op, val, name, token, length, nuses, ndefs, prec, format) op = val, |
| #define | OPDEF(op, val, name, token, length, nuses, ndefs, prec, format) op##_LENGTH = length, |
| #define | JOF_BYTE 0 |
| #define | JOF_JUMP 1 |
| #define | JOF_CONST 2 |
| #define | JOF_UINT16 3 |
| #define | JOF_TABLESWITCH 4 |
| #define | JOF_LOOKUPSWITCH 5 |
| #define | JOF_QARG 6 |
| #define | JOF_QVAR 7 |
| #define | JOF_INDEXCONST 8 |
| #define | JOF_JUMPX 9 |
| #define | JOF_TABLESWITCHX 10 |
| #define | JOF_LOOKUPSWITCHX 11 |
| #define | JOF_UINT24 12 |
| #define | JOF_LITOPX 13 |
| #define | JOF_LOCAL 14 |
| #define | JOF_TYPEMASK 0x000f |
| #define | JOF_NAME 0x0010 |
| #define | JOF_PROP 0x0020 |
| #define | JOF_ELEM 0x0030 |
| #define | JOF_MODEMASK 0x0030 |
| #define | JOF_SET 0x0040 |
| #define | JOF_DEL 0x0080 |
| #define | JOF_DEC 0x0100 |
| #define | JOF_INC 0x0200 |
| #define | JOF_INCDEC 0x0300 |
| #define | JOF_POST 0x0400 |
| #define | JOF_IMPORT 0x0800 |
| #define | JOF_FOR 0x1000 |
| #define | JOF_ASSIGNING JOF_SET |
| #define | JOF_DETECTING 0x2000 |
| #define | JOF_BACKPATCH 0x4000 |
| #define | JOF_LEFTASSOC 0x8000 |
| #define | JOF_DECLARING 0x10000 |
| #define | JOF_XMLNAME 0x20000 |
| #define | JOF_TYPE_IS_EXTENDED_JUMP(t) ((unsigned)((t) - JOF_JUMPX) <= (unsigned)(JOF_LOOKUPSWITCHX - JOF_JUMPX)) |
| #define | JUMP_OFFSET_LEN 2 |
| #define | JUMP_OFFSET_HI(off) ((jsbytecode)((off) >> 8)) |
| #define | JUMP_OFFSET_LO(off) ((jsbytecode)(off)) |
| #define | GET_JUMP_OFFSET(pc) ((int16)(((pc)[1] << 8) | (pc)[2])) |
| #define | SET_JUMP_OFFSET(pc, off) |
| #define | JUMP_OFFSET_MIN ((int16)0x8000) |
| #define | JUMP_OFFSET_MAX ((int16)0x7fff) |
| #define | GET_SPANDEP_INDEX(pc) ((uint16)(((pc)[1] << 8) | (pc)[2])) |
| #define | SET_SPANDEP_INDEX(pc, i) |
| #define | SPANDEP_INDEX_MAX ((uint16)0xfffe) |
| #define | SPANDEP_INDEX_HUGE ((uint16)0xffff) |
| #define | JUMPX_OFFSET_LEN 4 |
| #define | JUMPX_OFFSET_B3(off) ((jsbytecode)((off) >> 24)) |
| #define | JUMPX_OFFSET_B2(off) ((jsbytecode)((off) >> 16)) |
| #define | JUMPX_OFFSET_B1(off) ((jsbytecode)((off) >> 8)) |
| #define | JUMPX_OFFSET_B0(off) ((jsbytecode)(off)) |
| #define | GET_JUMPX_OFFSET(pc) |
| #define | SET_JUMPX_OFFSET(pc, off) |
| #define | JUMPX_OFFSET_MIN ((int32)0x80000000) |
| #define | JUMPX_OFFSET_MAX ((int32)0x7fffffff) |
| #define | ATOM_INDEX_LEN 2 |
| #define | ATOM_INDEX_HI(i) ((jsbytecode)((i) >> 8)) |
| #define | ATOM_INDEX_LO(i) ((jsbytecode)(i)) |
| #define | GET_ATOM_INDEX(pc) ((jsatomid)(((pc)[1] << 8) | (pc)[2])) |
| #define | SET_ATOM_INDEX(pc, i) |
| #define | GET_ATOM(cx, script, pc) |
| #define | UINT24_HI(i) ((jsbytecode)((i) >> 16)) |
| #define | UINT24_MID(i) ((jsbytecode)((i) >> 8)) |
| #define | UINT24_LO(i) ((jsbytecode)(i)) |
| #define | GET_UINT24(pc) |
| #define | SET_UINT24(pc, i) |
| #define | LITERAL_INDEX_LEN 3 |
| #define | LITERAL_INDEX_HI(i) UINT24_HI(i) |
| #define | LITERAL_INDEX_MID(i) UINT24_MID(i) |
| #define | LITERAL_INDEX_LO(i) UINT24_LO(i) |
| #define | GET_LITERAL_INDEX(pc) GET_UINT24(pc) |
| #define | SET_LITERAL_INDEX(pc, i) SET_UINT24(pc,i) |
| #define | ATOM_INDEX_LIMIT_LOG2 23 |
| #define | ATOM_INDEX_LIMIT ((uint32)1 << ATOM_INDEX_LIMIT_LOG2) |
| #define | UINT16_HI(i) ((jsbytecode)((i) >> 8)) |
| #define | UINT16_LO(i) ((jsbytecode)(i)) |
| #define | GET_UINT16(pc) ((uintN)(((pc)[1] << 8) | (pc)[2])) |
| #define | SET_UINT16(pc, i) ((pc)[1] = UINT16_HI(i), (pc)[2] = UINT16_LO(i)) |
| #define | UINT16_LIMIT ((uintN)1 << 16) |
| #define | ARGC_HI(argc) UINT16_HI(argc) |
| #define | ARGC_LO(argc) UINT16_LO(argc) |
| #define | GET_ARGC(pc) GET_UINT16(pc) |
| #define | ARGC_LIMIT UINT16_LIMIT |
| #define | GET_ARGNO(pc) GET_UINT16(pc) |
| #define | SET_ARGNO(pc, argno) SET_UINT16(pc,argno) |
| #define | ARGNO_LEN 2 |
| #define | ARGNO_LIMIT UINT16_LIMIT |
| #define | GET_VARNO(pc) GET_UINT16(pc) |
| #define | SET_VARNO(pc, varno) SET_UINT16(pc,varno) |
| #define | VARNO_LEN 2 |
| #define | VARNO_LIMIT UINT16_LIMIT |
| #define | JSDVG_IGNORE_STACK 0 |
| #define | JSDVG_SEARCH_STACK 1 |
Enumerations |
| enum | JSOp {
op,
op,
val,
val,
name,
name,
token,
token,
length,
length,
nuses,
nuses,
ndefs,
ndefs,
prec,
prec,
JSOP_LIMIT
} |
| enum | JSOpLength {
op,
op,
val,
val,
name,
name,
token,
token,
length,
length,
nuses,
nuses,
ndefs,
ndefs,
prec,
prec,
JSOP_LIMIT_LENGTH
} |
Functions |
| | JS_STATIC_ASSERT (sizeof(jsatomid)*JS_BITS_PER_BYTE >=ATOM_INDEX_LIMIT_LOG2+1) |
| JSString * | js_QuoteString (JSContext *cx, JSString *str, jschar quote) |
| JSPrinter * | js_NewPrinter (JSContext *cx, const char *name, uintN indent, JSBool pretty) |
| void | js_DestroyPrinter (JSPrinter *jp) |
| JSString * | js_GetPrinterOutput (JSPrinter *jp) |
| int | js_printf (JSPrinter *jp, const char *format,...) |
| JSBool | js_puts (JSPrinter *jp, const char *s) |
| JSBool | js_DecompileCode (JSPrinter *jp, JSScript *script, jsbytecode *pc, uintN len, uintN pcdepth) |
| JSBool | js_DecompileScript (JSPrinter *jp, JSScript *script) |
| JSBool | js_DecompileFunctionBody (JSPrinter *jp, JSFunction *fun) |
| JSBool | js_DecompileFunction (JSPrinter *jp, JSFunction *fun) |
| JSString * | js_DecompileValueGenerator (JSContext *cx, intN spindex, jsval v, JSString *fallback) |
Variables |
| const JSCodeSpec | js_CodeSpec [] |
| uintN | js_NumCodeSpecs |
| const jschar | js_EscapeMap [] |