Ignore:
Timestamp:
Dec 7, 2019, 2:25:18 PM (5 years ago)
Author:
[email protected]
Message:

Unreviewed. Roll out r253201. It was not a progression on any benchmarks, and was 8% slower on JetStream 2 ML.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.rb:
  • bytecode/GetByValHistory.h: Added.

(JSC::GetByValHistory::observeNonUID):
(JSC::GetByValHistory::observe):
(JSC::GetByValHistory::count const):
(JSC::GetByValHistory::filter const):
(JSC::GetByValHistory::update):

  • bytecode/PointerHistory.h: Removed.
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGGraph.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetById):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):

  • generator/DSL.rb:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emitSlow_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emitSlow_op_get_by_id_direct):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/OptionsList.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

    r253201 r253263  
    986986{
    987987    ASSERT(accessType == AccessType::GetById || accessType == AccessType::GetByIdDirect || accessType == AccessType::TryGetById);
    988 
    989     if (m_graph.m_shouldSkipIC.contains(node)) {
    990         JSValueOperand base(this, node->child1(), ManualOperandSpeculation);
    991         speculate(node, node->child1());
    992         JSValueRegs baseRegs = base.jsValueRegs();
    993 
    994         flushRegisters();
    995         JSValueRegsFlushedCallResult result(this);
    996         JSValueRegs resultRegs = result.regs();
    997         callOperation(appropriateGenericGetByIdFunction(accessType), resultRegs, TrustedImmPtr::weakPointer(m_graph, m_graph.globalObjectFor(node->origin.semantic)), baseRegs, TrustedImmPtr(identifierUID(node->identifierNumber())));
    998         m_jit.exceptionCheck();
    999         jsValueResult(resultRegs, node, DataFormatJS);
    1000         return;
    1001     }
    1002988
    1003989    switch (node->child1().useKind()) {
Note: See TracChangeset for help on using the changeset viewer.