mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Bug 1626825 - Remove JSScript::analyzedArgsUsage. r=anba
Replace with the standard flag accessor: needsArgsAnalysis(). Differential Revision: https://phabricator.services.mozilla.com/D69430 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
068d850bc3
commit
030f14bcf8
@ -4486,7 +4486,7 @@ bool jit::AnalyzeArgumentsUsage(JSContext* cx, JSScript* scriptArg) {
|
||||
RootedScript script(cx, scriptArg);
|
||||
AutoEnterAnalysis enter(cx);
|
||||
|
||||
MOZ_ASSERT(!script->analyzedArgsUsage());
|
||||
MOZ_ASSERT(script->needsArgsAnalysis());
|
||||
MOZ_ASSERT(script->argumentsHasVarBinding());
|
||||
|
||||
// Treat the script as needing an arguments object until we determine it
|
||||
|
@ -800,7 +800,7 @@ static bool FormatFrame(JSContext* cx, const FrameIter& iter, Sprinter& sp,
|
||||
arg = MagicValue(JS_OPTIMIZED_OUT);
|
||||
}
|
||||
} else if (iter.hasUsableAbstractFramePtr()) {
|
||||
if (script->analyzedArgsUsage() && script->argsObjAliasesFormals() &&
|
||||
if (!script->needsArgsAnalysis() && script->argsObjAliasesFormals() &&
|
||||
iter.hasArgsObj()) {
|
||||
arg = iter.argsObj().arg(i);
|
||||
} else {
|
||||
|
@ -2751,7 +2751,7 @@ void DebugEnvironments::takeFrameSnapshot(
|
||||
* Copy in formals that are not aliased via the scope chain
|
||||
* but are aliased via the arguments object.
|
||||
*/
|
||||
if (script->analyzedArgsUsage() && script->needsArgsObj() &&
|
||||
if (!script->needsArgsAnalysis() && script->needsArgsObj() &&
|
||||
frame.hasArgsObj()) {
|
||||
for (unsigned i = 0; i < frame.numFormalArgs(); ++i) {
|
||||
if (script->formalLivesInArgumentsObject(i)) {
|
||||
|
@ -160,10 +160,10 @@ inline js::Shape* JSScript::initialEnvironmentShape() const {
|
||||
}
|
||||
|
||||
inline bool JSScript::ensureHasAnalyzedArgsUsage(JSContext* cx) {
|
||||
if (analyzedArgsUsage()) {
|
||||
return true;
|
||||
if (needsArgsAnalysis()) {
|
||||
return js::jit::AnalyzeArgumentsUsage(cx, this);
|
||||
}
|
||||
return js::jit::AnalyzeArgumentsUsage(cx, this);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool JSScript::isDebuggee() const {
|
||||
|
@ -5303,7 +5303,7 @@ void js::SetFrameArgumentsObject(JSContext* cx, AbstractFramePtr frame,
|
||||
/* static */
|
||||
void JSScript::argumentsOptimizationFailed(JSContext* cx, HandleScript script) {
|
||||
MOZ_ASSERT(script->isFunction());
|
||||
MOZ_ASSERT(script->analyzedArgsUsage());
|
||||
MOZ_ASSERT(!script->needsArgsAnalysis());
|
||||
MOZ_ASSERT(script->argumentsHasVarBinding());
|
||||
|
||||
/*
|
||||
|
@ -2404,12 +2404,9 @@ class JSScript : public js::BaseScript {
|
||||
* maintain the invariant that needsArgsObj is only called after the script
|
||||
* has been analyzed.
|
||||
*/
|
||||
bool analyzedArgsUsage() const {
|
||||
return !hasFlag(MutableFlags::NeedsArgsAnalysis);
|
||||
}
|
||||
inline bool ensureHasAnalyzedArgsUsage(JSContext* cx);
|
||||
bool needsArgsObj() const {
|
||||
MOZ_ASSERT(analyzedArgsUsage());
|
||||
MOZ_ASSERT(!needsArgsAnalysis());
|
||||
return hasFlag(MutableFlags::NeedsArgsObj);
|
||||
}
|
||||
void setNeedsArgsObj(bool needsArgsObj);
|
||||
|
Loading…
Reference in New Issue
Block a user