Ignore:
Timestamp:
Apr 7, 2021, 2:14:57 PM (4 years ago)
Author:
[email protected]
Message:

[JSC] Use FixedVector more in bytecode dir and JumpTable
https://bugs.webkit.org/show_bug.cgi?id=224275

Reviewed by Michael Saboff and Mark Lam.

Source/JavaScriptCore:

  1. Use FixedVector more in bytecode/ directory's long-living data structures.
  2. Use FixedVector in SimpleJumpTable. This involves LLInt changes because we need to access FixedVector data from LLInt.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/InlineCallFrame.cpp:

(JSC::InlineCallFrame::dumpInContext const):

  • bytecode/InlineCallFrame.h:
  • bytecode/JumpTable.h:

(JSC::SimpleJumpTable::clear):

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::ObjectPropertyConditionSet::mergedWith const):
(JSC::ObjectPropertyConditionSet::dumpInContext const):
(JSC::ObjectPropertyConditionSet::isValidAndWatchable const):

  • bytecode/ObjectPropertyConditionSet.h:

(JSC::ObjectPropertyConditionSet::create):
(JSC::ObjectPropertyConditionSet::isValid const):
(JSC::ObjectPropertyConditionSet::size const):
(JSC::ObjectPropertyConditionSet::begin const):
(JSC::ObjectPropertyConditionSet::end const):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
(JSC::DFG::ByteCodeParser::flushImpl):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::validateReferences):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:
  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::argumentsStart):

  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetupVarargsFrameFastCase):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createWithInlineFrame):

Source/WTF:

  • wtf/FixedVector.h:

(WTF::FixedVector::offsetOfStorage):

  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::Header::size):
(WTF::RefCountedArray::Header::offsetOfLength):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ftl/FTLCompile.cpp

    r262098 r275626  
    9393            inlineCallFrame->argumentCountRegister += localsOffset;
    9494       
    95         for (unsigned argument = inlineCallFrame->argumentsWithFixup.size(); argument-- > 1;) {
    96             inlineCallFrame->argumentsWithFixup[argument] =
    97                 inlineCallFrame->argumentsWithFixup[argument].withLocalsOffset(localsOffset);
     95        for (unsigned argument = inlineCallFrame->m_argumentsWithFixup.size(); argument-- > 1;) {
     96            inlineCallFrame->m_argumentsWithFixup[argument] =
     97                inlineCallFrame->m_argumentsWithFixup[argument].withLocalsOffset(localsOffset);
    9898        }
    9999       
Note: See TracChangeset for help on using the changeset viewer.