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:
Ted Campbell 2020-04-02 19:29:33 +00:00
parent 068d850bc3
commit 030f14bcf8
6 changed files with 8 additions and 11 deletions

View File

@ -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

View File

@ -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 {

View File

@ -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)) {

View File

@ -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 {

View File

@ -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());
/*

View File

@ -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);