Ignore:
Timestamp:
Dec 1, 2015, 6:39:58 AM (10 years ago)
Author:
Carlos Garcia Campos
Message:

Unreviewed, rolling out r192876.

It broke a lot of JSC and layout tests for GTK and EFL

Reverted changeset:

"[ES6] "super" and "this" should be lexically bound inside an
arrow function and should live in a JSLexicalEnvironment"
https://bugs.webkit.org/show_bug.cgi?id=149338
http://trac.webkit.org/changeset/192876

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/Executable.h

    r192876 r192882  
    345345    bool usesArguments() const { return m_features & ArgumentsFeature; }
    346346    bool needsActivation() const { return m_hasCapturedVariables || m_features & (EvalFeature | WithFeature); }
    347     bool isArrowFunctionContext() const { return m_isArrowFunctionContext; }
    348347    bool isStrictMode() const { return m_features & StrictModeFeature; }
    349     bool isDerivedConstructorContext() const { return m_isDerivedConstructorContext; }
    350348    ECMAMode ecmaMode() const { return isStrictMode() ? StrictMode : NotStrictMode; }
    351349       
     
    396394
    397395protected:
    398     ScriptExecutable(Structure*, VM&, const SourceCode&, bool isInStrictContext, bool isInDerivedConstructorContext, bool isInArrowFunctionContext);
     396    ScriptExecutable(Structure* structure, VM& vm, const SourceCode& source, bool isInStrictContext);
    399397
    400398    void finishCreation(VM& vm)
     
    415413    bool m_neverOptimize { false };
    416414    bool m_didTryToEnterInLoop;
    417     bool m_isDerivedConstructorContext;
    418     bool m_isArrowFunctionContext;
    419415    int m_overrideLineNumber;
    420416    int m_firstLine;
     
    439435    }
    440436
    441     static EvalExecutable* create(ExecState*, const SourceCode&, bool isInStrictContext, ThisTDZMode, bool isDerivedConstructorContext, bool isArrowFunctionContext, const VariableEnvironment*);
     437    static EvalExecutable* create(ExecState*, const SourceCode&, bool isInStrictContext, ThisTDZMode, const VariableEnvironment*);
    442438
    443439    PassRefPtr<JITCode> generatedJITCode()
     
    453449    DECLARE_INFO;
    454450
    455     ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false, ConstructorKind::None, false, isDerivedConstructorContext(), isArrowFunctionContext()); }
     451    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false, ConstructorKind::None, false); }
    456452
    457453    unsigned numVariables() { return m_unlinkedEvalCodeBlock->numVariables(); }
     
    461457    friend class ExecutableBase;
    462458    friend class ScriptExecutable;
    463     EvalExecutable(ExecState*, const SourceCode&, bool inStrictContext, bool isDerivedConstructorContext, bool isArrowFunctionContext);
     459    EvalExecutable(ExecState*, const SourceCode&, bool);
    464460
    465461    static void visitChildren(JSCell*, SlotVisitor&);
     
    506502    DECLARE_INFO;
    507503
    508     ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false, ConstructorKind::None, false, isDerivedConstructorContext(), false); }
     504    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false, ConstructorKind::None, false); }
    509505
    510506private:
     
    547543    DECLARE_INFO;
    548544
    549     ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false, ConstructorKind::None, false, isDerivedConstructorContext(), false); }
    550 
     545    ExecutableInfo executableInfo() const { return ExecutableInfo(needsActivation(), usesEval(), isStrictMode(), false, false, ConstructorKind::None, false); }
    551546    UnlinkedModuleProgramCodeBlock* unlinkedModuleProgramCodeBlock() { return m_unlinkedModuleProgramCodeBlock.get(); }
    552547
     
    657652    ConstructAbility constructAbility() const { return m_unlinkedExecutable->constructAbility(); }
    658653    bool isArrowFunction() const { return m_unlinkedExecutable->isArrowFunction(); }
    659     bool isDerivedConstructorContext() const { return m_unlinkedExecutable->isDerivedConstructorContext(); }
    660654    bool isClassConstructorFunction() const { return m_unlinkedExecutable->isClassConstructorFunction(); }
    661655    const Identifier& name() { return m_unlinkedExecutable->name(); }
Note: See TracChangeset for help on using the changeset viewer.