Changeset 174610 in webkit for trunk/Source/JavaScriptCore/parser


Ignore:
Timestamp:
Oct 10, 2014, 1:30:32 PM (11 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r174606.
https://bugs.webkit.org/show_bug.cgi?id=137621

broke a JSC test (Requested by estes on #webkit).

Reverted changeset:

"Various arguments optimisations in codegen fail to account
for arguments being in lexical record"
https://bugs.webkit.org/show_bug.cgi?id=137617
http://trac.webkit.org/changeset/174606

Location:
trunk/Source/JavaScriptCore/parser
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/parser/Nodes.h

    r174606 r174610  
    14411441        bool usesArguments() const { return (m_features & ArgumentsFeature) && !(m_features & ShadowsArgumentsFeature); }
    14421442        bool modifiesParameter() const { return m_features & ModifiedParameterFeature; }
    1443         bool modifiesArguments() const { return m_features & (EvalFeature | ModifiedArgumentsFeature); }
    14441443        bool isStrictMode() const { return m_features & StrictModeFeature; }
    14451444        void setUsesArguments() { m_features |= ArgumentsFeature; }
  • trunk/Source/JavaScriptCore/parser/Parser.cpp

    r174606 r174610  
    272272    IdentifierSet capturedVariables;
    273273    bool modifiedParameter = false;
    274     bool modifiedArguments = false;
    275     scope->getCapturedVariables(capturedVariables, modifiedParameter, modifiedArguments);
     274    scope->getCapturedVariables(capturedVariables, modifiedParameter);
    276275   
    277276    CodeFeatures features = context.features();
     
    282281    if (modifiedParameter)
    283282        features |= ModifiedParameterFeature;
    284     if (modifiedArguments)
    285         features |= ModifiedArgumentsFeature;
     283   
    286284    Vector<RefPtr<StringImpl>> closedVariables;
    287285    if (m_parsingBuiltin) {
     
    295293            if (scope->hasDeclaredParameter(Identifier(m_vm, variable.get())))
    296294                continue;
    297 
    298             if (variable == m_vm->propertyNames->arguments.impl())
    299                 continue;
    300 
    301295            closedVariables.append(variable);
    302296        }
  • trunk/Source/JavaScriptCore/parser/Parser.h

    r174606 r174610  
    280280    }
    281281
    282     void getCapturedVariables(IdentifierSet& capturedVariables, bool& modifiedParameter, bool& modifiedArguments)
     282    void getCapturedVariables(IdentifierSet& capturedVariables, bool& modifiedParameter)
    283283    {
    284284        if (m_needsFullActivation || m_usesEval) {
     
    293293        }
    294294        modifiedParameter = false;
    295         if (shadowsArguments())
    296             modifiedArguments = true;
    297295        if (m_declaredParameters.size()) {
    298296            IdentifierSet::iterator end = m_writtenVariables.end();
    299297            for (IdentifierSet::iterator ptr = m_writtenVariables.begin(); ptr != end; ++ptr) {
    300                 if (*ptr == m_vm->propertyNames->arguments.impl())
    301                     modifiedArguments = true;
    302298                if (!m_declaredParameters.contains(*ptr))
    303299                    continue;
  • trunk/Source/JavaScriptCore/parser/ParserModes.h

    r174606 r174610  
    7676const CodeFeatures ShadowsArgumentsFeature = 1 << 6;
    7777const CodeFeatures ModifiedParameterFeature = 1 << 7;
    78 const CodeFeatures ModifiedArgumentsFeature = 1 << 8;
    7978
    8079const CodeFeatures AllFeatures = EvalFeature | ArgumentsFeature | WithFeature | CatchFeature | ThisFeature | StrictModeFeature | ShadowsArgumentsFeature | ModifiedParameterFeature;
Note: See TracChangeset for help on using the changeset viewer.