- Export JSSLOT_ITER_* from jsiter.cpp to jsiter.h, for jstracer.cpp to use.

- Fix OBJ_GET_SLOT to be STOBJ_GET_SLOT in jsiter.cpp, no thread safety here (bug on file).
- Move JSNativeEnumerator from jsobj.cpp to jsobj.h for jstracer.cpp as well.
- Rename JOF_2BYTE JOF_UINT8 for consistency, and actually decompile it.
- Trace JSOP_FORVAR (can't do anything in JSOP_ITER, it comes before the loop).
- Shortened some guardMyLongSummerVacationWithinBounds names ;-).
- Removed/refactored to avoid dslots_ins obligation on all callers.
This commit is contained in:
Brendan Eich
2008-07-30 16:32:33 -07:00
parent 2987cbf82d
commit 342e1a24b5
9 changed files with 229 additions and 109 deletions

View File

@@ -4129,20 +4129,6 @@ out:
return JS_TRUE;
}
/*
* Private type used to enumerate properties of a native JS object. It is not
* allocated when there are no enumerable properties in the object. Instead
* for empty enumerators the code uses JSVAL_ZERO as the enumeration state.
*/
struct JSNativeEnumerator {
uint32 cursor; /* index into ids array, runs from
length down to 0 */
uint32 length; /* length of ids array */
JSNativeEnumerator *next; /* double-linked list support */
JSNativeEnumerator **prevp;
jsid ids[1]; /* enumeration id array */
};
/*
* This function is used to enumerate the properties of native JSObjects
* and those host objects that do not define a JSNewEnumerateOp-style iterator