зеркало из https://github.com/mozilla/gecko-dev.git
Fix bustage in d6242989d95d; pushInvokeArgs should just LeaveTrace and avoid the silly requirement on callers (r=orange)
--HG-- extra : rebase_source : 2e3f97f7d4bc10c6fa90e91b6a76802ed31f4a72
This commit is contained in:
Родитель
90d87b30d6
Коммит
528949098b
|
@ -1823,7 +1823,6 @@ fun_toSource(JSContext *cx, uintN argc, Value *vp)
|
|||
JSBool
|
||||
js_fun_call(JSContext *cx, uintN argc, Value *vp)
|
||||
{
|
||||
LeaveTrace(cx);
|
||||
Value fval = vp[1];
|
||||
|
||||
if (!js_IsCallable(fval)) {
|
||||
|
@ -1889,8 +1888,6 @@ js_fun_apply(JSContext *cx, uintN argc, Value *vp)
|
|||
if (!js_GetLengthProperty(cx, aobj, &length))
|
||||
return false;
|
||||
|
||||
LeaveTrace(cx);
|
||||
|
||||
/* Step 6. */
|
||||
if (length > StackSpace::ARGS_LENGTH_MAX) {
|
||||
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_TOO_MANY_FUN_APPLY_ARGS);
|
||||
|
@ -1998,8 +1995,6 @@ CallOrConstructBoundFunction(JSContext *cx, uintN argc, Value *vp)
|
|||
JS_ASSERT(obj->isFunction());
|
||||
JS_ASSERT(obj->isBoundFunction());
|
||||
|
||||
LeaveTrace(cx);
|
||||
|
||||
bool constructing = IsConstructing(vp);
|
||||
|
||||
/* 15.3.4.5.1 step 1, 15.3.4.5.2 step 3. */
|
||||
|
|
|
@ -659,12 +659,6 @@ js::InvokeKernel(JSContext *cx, const CallArgs &argsRef, MaybeConstruct construc
|
|||
if (fun->isNative())
|
||||
return CallJSNative(cx, fun->u.n.native, args);
|
||||
|
||||
#ifdef JS_TRACER
|
||||
if (TRACE_RECORDER(cx))
|
||||
AbortRecording(cx, "attempt to reenter VM while recording");
|
||||
LeaveTrace(cx);
|
||||
#endif
|
||||
|
||||
TypeMonitorCall(cx, args, construct);
|
||||
|
||||
/* Get pointer to new frame/slots, prepare arguments. */
|
||||
|
@ -693,8 +687,6 @@ bool
|
|||
js::Invoke(JSContext *cx, const Value &thisv, const Value &fval, uintN argc, Value *argv,
|
||||
Value *rval)
|
||||
{
|
||||
LeaveTrace(cx);
|
||||
|
||||
InvokeArgsGuard args;
|
||||
if (!cx->stack.pushInvokeArgs(cx, argc, &args))
|
||||
return false;
|
||||
|
@ -725,8 +717,6 @@ js::Invoke(JSContext *cx, const Value &thisv, const Value &fval, uintN argc, Val
|
|||
bool
|
||||
js::InvokeConstructor(JSContext *cx, const Value &fval, uintN argc, Value *argv, Value *rval)
|
||||
{
|
||||
LeaveTrace(cx);
|
||||
|
||||
InvokeArgsGuard args;
|
||||
if (!cx->stack.pushInvokeArgs(cx, argc, &args))
|
||||
return false;
|
||||
|
@ -1142,8 +1132,6 @@ bool
|
|||
js::InvokeConstructorWithGivenThis(JSContext *cx, JSObject *thisobj, const Value &fval,
|
||||
uintN argc, Value *argv, Value *rval)
|
||||
{
|
||||
LeaveTrace(cx);
|
||||
|
||||
InvokeArgsGuard args;
|
||||
if (!cx->stack.pushInvokeArgs(cx, argc, &args))
|
||||
return JS_FALSE;
|
||||
|
|
|
@ -302,7 +302,6 @@ PreprocessValue(JSContext *cx, JSObject *holder, jsid key, Value *vp, StringifyC
|
|||
if (!keyStr)
|
||||
return false;
|
||||
|
||||
LeaveTrace(cx);
|
||||
InvokeArgsGuard args;
|
||||
if (!cx->stack.pushInvokeArgs(cx, 1, &args))
|
||||
return false;
|
||||
|
|
|
@ -2074,7 +2074,6 @@ str_replace_flat_lambda(JSContext *cx, uintN argc, Value *vp, ReplaceData &rdata
|
|||
const FlatMatch &fm)
|
||||
{
|
||||
JS_ASSERT(fm.match() >= 0);
|
||||
LeaveTrace(cx);
|
||||
|
||||
JSString *matchStr = js_NewDependentString(cx, rdata.str, fm.match(), fm.patternLength());
|
||||
if (!matchStr)
|
||||
|
|
|
@ -644,6 +644,7 @@ ContextStack::popSegment()
|
|||
bool
|
||||
ContextStack::pushInvokeArgs(JSContext *cx, uintN argc, InvokeArgsGuard *iag)
|
||||
{
|
||||
LeaveTrace(cx);
|
||||
JS_ASSERT(argc <= StackSpace::ARGS_LENGTH_MAX);
|
||||
|
||||
uintN nvars = 2 + argc;
|
||||
|
|
Загрузка…
Ссылка в новой задаче