Bug 487676 - Nesting deep-aborting trace calls don't work. r=gal.

This commit is contained in:
Jason Orendorff
2009-04-09 18:07:00 -05:00
parent 3ec3b7a153
commit 3cfec69a50
8 changed files with 51 additions and 39 deletions

View File

@@ -1690,7 +1690,7 @@ Array_p_join(JSContext* cx, JSObject* obj, JSString *str)
{
JSAutoTempValueRooter tvr(cx);
if (!array_join_sub(cx, obj, TO_STRING, str, tvr.addr())) {
cx->builtinStatus |= JSBUILTIN_ERROR;
js_SetBuiltinError(cx);
return NULL;
}
return JSVAL_TO_STRING(tvr.value());
@@ -1701,7 +1701,7 @@ Array_p_toString(JSContext* cx, JSObject* obj)
{
JSAutoTempValueRooter tvr(cx);
if (!array_join_sub(cx, obj, TO_STRING, NULL, tvr.addr())) {
cx->builtinStatus |= JSBUILTIN_ERROR;
js_SetBuiltinError(cx);
return NULL;
}
return JSVAL_TO_STRING(tvr.value());
@@ -2317,7 +2317,7 @@ Array_p_push1(JSContext* cx, JSObject* obj, jsval v)
: array_push_slowly(cx, obj, 1, tvr.addr(), tvr.addr())) {
return tvr.value();
}
cx->builtinStatus |= JSBUILTIN_ERROR;
js_SetBuiltinError(cx);
return JSVAL_VOID;
}
#endif
@@ -2389,7 +2389,7 @@ Array_p_pop(JSContext* cx, JSObject* obj)
: array_pop_slowly(cx, obj, tvr.addr())) {
return tvr.value();
}
cx->builtinStatus |= JSBUILTIN_ERROR;
js_SetBuiltinError(cx);
return JSVAL_VOID;
}
#endif