bug 441686 - eliminating JSStackFrame.(nvars|vars). r=brendan

This commit is contained in:
Igor Bukanov
2008-07-20 22:13:17 +02:00
parent 4b6980a693
commit e9875f6677
17 changed files with 473 additions and 423 deletions

View File

@@ -241,10 +241,10 @@ JS_STATIC_ASSERT(sizeof(uint32) * JS_BITS_PER_BYTE >= INDEX_LIMIT_LOG2 + 1);
#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 GET_SLOTNO(pc) GET_UINT16(pc)
#define SET_SLOTNO(pc,varno) SET_UINT16(pc,varno)
#define SLOTNO_LEN 2
#define SLOTNO_LIMIT UINT16_LIMIT
struct JSCodeSpec {
int8 length; /* length including opcode byte */
@@ -336,6 +336,12 @@ js_GetIndexFromBytecode(JSContext *cx, JSScript *script, jsbytecode *pc,
JS_GET_SCRIPT_REGEXP((script), index_, obj); \
JS_END_MACRO
/*
* Get the length of variable-length bytecode like JSOP_TABLESWITCH.
*/
extern uintN
js_GetVariableBytecodeLength(jsbytecode *pc);
#ifdef DEBUG
/*
* Disassemblers, for debugging only.