Ignore:
Timestamp:
Nov 12, 2018, 2:10:38 PM (7 years ago)
Author:
[email protected]
Message:

Unreviewed. Rollout 238026: It caused ~8% JetStream 2 regressions on some iOS devices
https://bugs.webkit.org/show_bug.cgi?id=191555

  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::UnlinkedFunctionExecutable::fromGlobalCode):

  • bytecode/UnlinkedFunctionExecutable.h:
  • parser/SourceCodeKey.h:

(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::operator== const):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getUnlinkedGlobalCodeBlock):
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):

  • runtime/CodeCache.h:
  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/FunctionExecutable.cpp:

(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/FunctionExecutable.h:
File:
1 edited

Legend:

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

    r238026 r238109  
    3030#include "UnlinkedSourceCode.h"
    3131#include <wtf/HashTraits.h>
    32 #include <wtf/Hasher.h>
    3332
    3433namespace JSC {
     
    7372class SourceCodeKey {
    7473public:
    75     SourceCodeKey() = default;
     74    SourceCodeKey()
     75    {
     76    }
    7677
    7778    SourceCodeKey(
    7879        const UnlinkedSourceCode& sourceCode, const String& name, SourceCodeType codeType, JSParserStrictMode strictMode,
    7980        JSParserScriptMode scriptMode, DerivedContextType derivedContextType, EvalContextType evalContextType, bool isArrowFunctionContext,
    80         DebuggerMode debuggerMode, TypeProfilerEnabled typeProfilerEnabled, ControlFlowProfilerEnabled controlFlowProfilerEnabled, std::optional<int> functionConstructorParametersEndPosition)
     81        DebuggerMode debuggerMode, TypeProfilerEnabled typeProfilerEnabled, ControlFlowProfilerEnabled controlFlowProfilerEnabled)
    8182            : m_sourceCode(sourceCode)
    8283            , m_name(name)
    8384            , m_flags(codeType, strictMode, scriptMode, derivedContextType, evalContextType, isArrowFunctionContext, debuggerMode, typeProfilerEnabled, controlFlowProfilerEnabled)
    84             , m_functionConstructorParametersEndPosition(functionConstructorParametersEndPosition.value_or(-1))
    85             , m_hash(sourceCode.hash() ^ DefaultHash<unsigned>::Hash::hash(m_flags.bits()) ^ DefaultHash<int>::Hash::hash(m_functionConstructorParametersEndPosition))
     85            , m_hash(sourceCode.hash() ^ m_flags.bits())
    8686    {
    8787    }
     
    109109            && length() == other.length()
    110110            && m_flags == other.m_flags
    111             && m_functionConstructorParametersEndPosition == other.m_functionConstructorParametersEndPosition
    112111            && m_name == other.m_name
    113112            && string() == other.string();
     
    129128    String m_name;
    130129    SourceCodeFlags m_flags;
    131     int m_functionConstructorParametersEndPosition { -1 };
    132     unsigned m_hash { 0 };
     130    unsigned m_hash;
    133131};
    134132
Note: See TracChangeset for help on using the changeset viewer.