Bug 462027 - Bail off trace when reentering interpreter. r=gal.

This commit is contained in:
Jason Orendorff
2009-02-03 18:25:12 -06:00
parent 3c4ad9b90e
commit 80ee6ad537
12 changed files with 495 additions and 213 deletions

View File

@@ -1544,8 +1544,10 @@ static JSString* FASTCALL
Array_p_join(JSContext* cx, JSObject* obj, JSString *str)
{
jsval v;
if (!array_join_sub(cx, obj, TO_STRING, str, &v))
if (!array_join_sub(cx, obj, TO_STRING, str, &v)) {
cx->builtinStatus |= JSBUILTIN_ERROR;
return NULL;
}
JS_ASSERT(JSVAL_IS_STRING(v));
return JSVAL_TO_STRING(v);
}
@@ -2146,7 +2148,8 @@ Array_p_push1(JSContext* cx, JSObject* obj, jsval v)
: array_push_slowly(cx, obj, 1, &v, &v)) {
return v;
}
return JSVAL_ERROR_COOKIE;
cx->builtinStatus |= JSBUILTIN_ERROR;
return JSVAL_VOID;
}
#endif
@@ -2213,12 +2216,13 @@ static jsval FASTCALL
Array_p_pop(JSContext* cx, JSObject* obj)
{
jsval v;
if (OBJ_IS_DENSE_ARRAY(cx, obj)
if (OBJ_IS_DENSE_ARRAY(cx, obj)
? array_pop_dense(cx, obj, &v)
: array_pop_slowly(cx, obj, &v)) {
return v;
}
return JSVAL_ERROR_COOKIE;
cx->builtinStatus |= JSBUILTIN_ERROR;
return JSVAL_VOID;
}
#endif