зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1034280 - Don't report warnings for recover instructions when snapshotting frames for PJS bailout warnings. (r=nbp)
This commit is contained in:
Родитель
0922ccbcca
Коммит
6fcca6b438
|
@ -419,7 +419,8 @@ class SnapshotIterator
|
|||
template <class Op>
|
||||
void readFunctionFrameArgs(Op &op, ArgumentsObject **argsObj, Value *thisv,
|
||||
unsigned start, unsigned end, JSScript *script,
|
||||
const Value &unreadablePlaceholder = UndefinedValue())
|
||||
const Value &unreadablePlaceholder = UndefinedValue(),
|
||||
bool silentFailure = false)
|
||||
{
|
||||
// Assumes that the common frame arguments have already been read.
|
||||
if (script->argumentsHasVarBinding()) {
|
||||
|
@ -447,7 +448,7 @@ class SnapshotIterator
|
|||
// We are not always able to read values from the snapshots, some values
|
||||
// such as non-gc things may still be live in registers and cause an
|
||||
// error while reading the machine state.
|
||||
Value v = maybeRead(unreadablePlaceholder);
|
||||
Value v = maybeRead(unreadablePlaceholder, silentFailure);
|
||||
op(v);
|
||||
}
|
||||
}
|
||||
|
@ -535,7 +536,8 @@ class InlineFrameIterator
|
|||
JSObject **scopeChain, Value *rval,
|
||||
ArgumentsObject **argsObj, Value *thisv,
|
||||
ReadFrameArgsBehavior behavior,
|
||||
const Value &unreadablePlaceholder = UndefinedValue()) const
|
||||
const Value &unreadablePlaceholder = UndefinedValue(),
|
||||
bool silentFailure = false) const
|
||||
{
|
||||
SnapshotIterator s(si_);
|
||||
|
||||
|
@ -556,7 +558,7 @@ class InlineFrameIterator
|
|||
// done.
|
||||
if (behavior != ReadFrame_Overflown) {
|
||||
s.readFunctionFrameArgs(argOp, argsObj, thisv, 0, nformal, script(),
|
||||
unreadablePlaceholder);
|
||||
unreadablePlaceholder, silentFailure);
|
||||
}
|
||||
|
||||
if (behavior != ReadFrame_Formals) {
|
||||
|
@ -605,7 +607,7 @@ class InlineFrameIterator
|
|||
// recovering slots.
|
||||
//
|
||||
// FIXME bug 1029963.
|
||||
localOp(s.maybeRead(unreadablePlaceholder));
|
||||
localOp(s.maybeRead(unreadablePlaceholder, silentFailure));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ RematerializedFrame::RematerializedFrame(ThreadSafeContext *cx, uint8_t *top,
|
|||
CopyValueToRematerializedFrame op(slots_);
|
||||
iter.readFrameArgsAndLocals(cx, op, op, &scopeChain_, &returnValue_,
|
||||
&argsObj_, &thisValue_, ReadFrame_Actuals,
|
||||
MagicValue(JS_OPTIMIZED_OUT));
|
||||
MagicValue(JS_OPTIMIZED_OUT), /* silentFailure = */ true);
|
||||
}
|
||||
|
||||
/* static */ RematerializedFrame *
|
||||
|
|
Загрузка…
Ссылка в новой задаче