Major and winning overhaul to for-in codegen (mad props to Andreas for advice).
This commit is contained in:
@@ -367,13 +367,22 @@ js_Any_setelem(JSContext* cx, JSObject* obj, JSString* idstr, jsval v)
|
||||
}
|
||||
|
||||
JSObject* FASTCALL
|
||||
js_ValueToEnumerator(JSContext* cx, jsval v)
|
||||
js_FastValueToIterator(JSContext* cx, jsuint flags, jsval v)
|
||||
{
|
||||
if (!js_ValueToIterator(cx, JSITER_ENUMERATE, &v))
|
||||
if (!js_ValueToIterator(cx, flags, &v))
|
||||
return NULL;
|
||||
return JSVAL_TO_OBJECT(v);
|
||||
}
|
||||
|
||||
jsval FASTCALL
|
||||
js_FastCallIteratorNext(JSContext* cx, JSObject* iterobj)
|
||||
{
|
||||
jsval v;
|
||||
if (!js_CallIteratorNext(cx, iterobj, &v))
|
||||
return JSVAL_ERROR_COOKIE;
|
||||
return v;
|
||||
}
|
||||
|
||||
GuardRecord* FASTCALL
|
||||
js_CallTree(InterpState* state, Fragment* f)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user