Ignore:
Timestamp:
Jan 9, 2018, 4:30:38 PM (8 years ago)
Author:
[email protected]
Message:

CodeBlocks should be in IsoSubspaces
https://bugs.webkit.org/show_bug.cgi?id=180884

Reviewed by Saam Barati.
Source/JavaScriptCore:


This moves CodeBlocks into IsoSubspaces. Doing so means that we no longer need to have the
special CodeBlockSet HashSets of new and old CodeBlocks. We also no longer use
WeakReferenceHarvester or UnconditionalFinalizer. Instead:

  • Code block sweeping is now just eager sweeping. This means that it automatically takes advantage of our unswept set, which roughly corresponds to what CodeBlockSet used to use its eden set for.


  • Those idea of Executable "weakly visiting" the CodeBlock is replaced by Executable marking a ExecutableToCodeBlockEdge object. That object being marked corresponds to what we used to call CodeBlock "having been weakly visited". This means that CodeBlockSet no longer has to clear the set of weakly visited code blocks. This also means that determining CodeBlock liveness, propagating CodeBlock transitions, and jettisoning CodeBlocks during GC are now the edge's job. The edge is also in an IsoSubspace and it has IsoCellSets to tell us which edges have output constraints (what we used to call CodeBlock's weak reference harvester) and which have unconditional finalizers.


  • CodeBlock now uses an IsoCellSet to tell if it has an unconditional finalizer.


  • CodeBlockSet still exists! It has one unified HashSet of CodeBlocks that we use to handle requests from the sampler, debugger, and other facilities. They may want to ask if some pointer corresponds to a CodeBlock during stages of execution during which the GC is unable to answer isLive() queries. The trickiest is the sampling profiler thread. There is no way that the GC's isLive could tell us of a CodeBlock that had already been allocated has now been full constructed.


  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::finishCreationCommon):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::CodeBlock::hasInstalledVMTrapBreakpoints const):
(JSC::CodeBlock::installVMTrapBreakpoints):
(JSC::CodeBlock::dumpMathICStats):
(JSC::CodeBlock::visitWeakly): Deleted.
(JSC::CodeBlock::WeakReferenceHarvester::visitWeakReferences): Deleted.
(JSC::CodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::subspaceFor):
(JSC::CodeBlock::ownerEdge const):
(JSC::CodeBlock::clearVisitWeaklyHasBeenCalled): Deleted.

  • bytecode/EvalCodeBlock.h:

(JSC::EvalCodeBlock::create): Deleted.
(JSC::EvalCodeBlock::createStructure): Deleted.
(JSC::EvalCodeBlock::variable): Deleted.
(JSC::EvalCodeBlock::numVariables): Deleted.
(JSC::EvalCodeBlock::functionHoistingCandidate): Deleted.
(JSC::EvalCodeBlock::numFunctionHoistingCandidates): Deleted.
(JSC::EvalCodeBlock::EvalCodeBlock): Deleted.
(JSC::EvalCodeBlock::unlinkedEvalCodeBlock const): Deleted.

  • bytecode/ExecutableToCodeBlockEdge.cpp: Added.

(JSC::ExecutableToCodeBlockEdge::createStructure):
(JSC::ExecutableToCodeBlockEdge::create):
(JSC::ExecutableToCodeBlockEdge::visitChildren):
(JSC::ExecutableToCodeBlockEdge::visitOutputConstraints):
(JSC::ExecutableToCodeBlockEdge::finalizeUnconditionally):
(JSC::ExecutableToCodeBlockEdge::activate):
(JSC::ExecutableToCodeBlockEdge::deactivate):
(JSC::ExecutableToCodeBlockEdge::deactivateAndUnwrap):
(JSC::ExecutableToCodeBlockEdge::wrap):
(JSC::ExecutableToCodeBlockEdge::wrapAndActivate):
(JSC::ExecutableToCodeBlockEdge::ExecutableToCodeBlockEdge):
(JSC::ExecutableToCodeBlockEdge::runConstraint):

  • bytecode/ExecutableToCodeBlockEdge.h: Added.

(JSC::ExecutableToCodeBlockEdge::subspaceFor):
(JSC::ExecutableToCodeBlockEdge::codeBlock const):
(JSC::ExecutableToCodeBlockEdge::unwrap):

  • bytecode/FunctionCodeBlock.h:

(JSC::FunctionCodeBlock::subspaceFor):
(JSC::FunctionCodeBlock::createStructure):

  • bytecode/ModuleProgramCodeBlock.h:

(JSC::ModuleProgramCodeBlock::create): Deleted.
(JSC::ModuleProgramCodeBlock::createStructure): Deleted.
(JSC::ModuleProgramCodeBlock::ModuleProgramCodeBlock): Deleted.

  • bytecode/ProgramCodeBlock.h:

(JSC::ProgramCodeBlock::create): Deleted.
(JSC::ProgramCodeBlock::createStructure): Deleted.
(JSC::ProgramCodeBlock::ProgramCodeBlock): Deleted.

  • debugger/Debugger.cpp:

(JSC::Debugger::SetSteppingModeFunctor::operator() const):
(JSC::Debugger::ToggleBreakpointFunctor::operator() const):
(JSC::Debugger::ClearCodeBlockDebuggerRequestsFunctor::operator() const):
(JSC::Debugger::ClearDebuggerRequestsFunctor::operator() const):

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::contains):
(JSC::CodeBlockSet::dump const):
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::remove):
(JSC::CodeBlockSet::promoteYoungCodeBlocks): Deleted.
(JSC::CodeBlockSet::clearMarksForFullCollection): Deleted.
(JSC::CodeBlockSet::lastChanceToFinalize): Deleted.
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced): Deleted.

  • heap/CodeBlockSet.h:
  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterate):
(JSC::CodeBlockSet::iterateViaSubspaces):

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddPointer):
(JSC::DummyMarkHook::markKnownJSCell):
(JSC::CompositeMarkHook::mark):
(JSC::CompositeMarkHook::markKnownJSCell):

  • heap/ConservativeRoots.h:
  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::finalizeMarkedUnconditionalFinalizers):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::beginMarking):
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::sweepInFinalize):
(JSC::Heap::forEachCodeBlockImpl):
(JSC::Heap::forEachCodeBlockIgnoringJITPlansImpl):
(JSC::Heap::addCoreConstraints):
(JSC::Heap::finalizeUnconditionalFinalizersInIsoSubspace): Deleted.

  • heap/Heap.h:
  • heap/HeapCell.h:
  • heap/HeapCellInlines.h:

(JSC::HeapCell::subspace const):

  • heap/HeapInlines.h:

(JSC::Heap::forEachCodeBlock):
(JSC::Heap::forEachCodeBlockIgnoringJITPlans):

  • heap/HeapUtil.h:

(JSC::HeapUtil::findGCObjectPointersForMarking):

  • heap/IsoCellSet.cpp:

(JSC::IsoCellSet::parallelNotEmptyMarkedBlockSource):

  • heap/IsoCellSet.h:
  • heap/IsoCellSetInlines.h:

(JSC::IsoCellSet::forEachMarkedCellInParallel):
(JSC::IsoCellSet::forEachLiveCell):

  • heap/LargeAllocation.h:

(JSC::LargeAllocation::subspace const):

  • heap/MarkStackMergingConstraint.cpp:

(JSC::MarkStackMergingConstraint::executeImpl):

  • heap/MarkStackMergingConstraint.h:
  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::parallelNotEmptyBlockSource):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::Handle::didAddToAllocator):
(JSC::MarkedBlock::Handle::didRemoveFromAllocator):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::subspace const):

  • heap/MarkedBlockInlines.h:

(JSC::MarkedBlock::Handle::forEachLiveCell):

  • heap/MarkedSpaceInlines.h:

(JSC::MarkedSpace::forEachLiveCell):

  • heap/MarkingConstraint.cpp:

(JSC::MarkingConstraint::execute):
(JSC::MarkingConstraint::doParallelWork):
(JSC::MarkingConstraint::finishParallelWork): Deleted.
(JSC::MarkingConstraint::doParallelWorkImpl): Deleted.
(JSC::MarkingConstraint::finishParallelWorkImpl): Deleted.

  • heap/MarkingConstraint.h:
  • heap/MarkingConstraintSet.cpp:

(JSC::MarkingConstraintSet::add):

  • heap/MarkingConstraintSet.h:

(JSC::MarkingConstraintSet::add):

  • heap/MarkingConstraintSolver.cpp:

(JSC::MarkingConstraintSolver::execute):
(JSC::MarkingConstraintSolver::addParallelTask):
(JSC::MarkingConstraintSolver::runExecutionThread):
(JSC::MarkingConstraintSolver::didExecute): Deleted.

  • heap/MarkingConstraintSolver.h:

(JSC::MarkingConstraintSolver::TaskWithConstraint::TaskWithConstraint):
(JSC::MarkingConstraintSolver::TaskWithConstraint::operator== const):

  • heap/SimpleMarkingConstraint.cpp:

(JSC::SimpleMarkingConstraint::SimpleMarkingConstraint):
(JSC::SimpleMarkingConstraint::executeImpl):

  • heap/SimpleMarkingConstraint.h:

(JSC::SimpleMarkingConstraint::SimpleMarkingConstraint):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::addParallelConstraintTask):

  • heap/SlotVisitor.h:
  • heap/Subspace.cpp:

(JSC::Subspace::sweep):

  • heap/Subspace.h:
  • heap/SubspaceInlines.h:

(JSC::Subspace::forEachLiveCell):

  • llint/LowLevelInterpreter.asm:
  • runtime/EvalExecutable.cpp:

(JSC::EvalExecutable::visitChildren):

  • runtime/EvalExecutable.h:

(JSC::EvalExecutable::codeBlock):

  • runtime/FunctionExecutable.cpp:

(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::FunctionExecutable::visitChildren):

  • runtime/FunctionExecutable.h:
  • runtime/JSType.h:
  • runtime/ModuleProgramExecutable.cpp:

(JSC::ModuleProgramExecutable::visitChildren):

  • runtime/ModuleProgramExecutable.h:
  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::visitChildren):

  • runtime/ProgramExecutable.h:
  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::installCode):
(JSC::ScriptExecutable::newReplacementCodeBlockFor):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::SpaceAndFinalizerSet::SpaceAndFinalizerSet):
(JSC::VM::SpaceAndFinalizerSet::finalizerSetFor):
(JSC::VM::forEachCodeBlockSpace):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::handleTraps):

  • tools/VMInspector.cpp:

(JSC::VMInspector::codeBlockForMachinePC):
(JSC::VMInspector::isValidCodeBlock):

Source/WebCore:

No new tests because no new behavior.

Adopting new parallel constraint API, so that more of the logic of doing parallel
constraint solving is shared between the DOM's output constraints and JSC's output
constraints.

  • bindings/js/DOMGCOutputConstraint.cpp:

(WebCore::DOMGCOutputConstraint::executeImpl):
(WebCore::DOMGCOutputConstraint::doParallelWorkImpl): Deleted.
(WebCore::DOMGCOutputConstraint::finishParallelWorkImpl): Deleted.

  • bindings/js/DOMGCOutputConstraint.h:

Source/WTF:


Deque<>::contains() is helpful for a debug ASSERT.

  • wtf/Deque.h:

(WTF::inlineCapacity>::contains):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r226658 r226667  
     12018-01-04  Filip Pizlo  <[email protected]>
     2
     3        CodeBlocks should be in IsoSubspaces
     4        https://bugs.webkit.org/show_bug.cgi?id=180884
     5
     6        Reviewed by Saam Barati.
     7       
     8        This moves CodeBlocks into IsoSubspaces. Doing so means that we no longer need to have the
     9        special CodeBlockSet HashSets of new and old CodeBlocks. We also no longer use
     10        WeakReferenceHarvester or UnconditionalFinalizer. Instead:
     11       
     12        - Code block sweeping is now just eager sweeping. This means that it automatically takes
     13          advantage of our unswept set, which roughly corresponds to what CodeBlockSet used to use
     14          its eden set for.
     15       
     16        - Those idea of Executable "weakly visiting" the CodeBlock is replaced by Executable
     17          marking a ExecutableToCodeBlockEdge object. That object being marked corresponds to what
     18          we used to call CodeBlock "having been weakly visited". This means that CodeBlockSet no
     19          longer has to clear the set of weakly visited code blocks. This also means that
     20          determining CodeBlock liveness, propagating CodeBlock transitions, and jettisoning
     21          CodeBlocks during GC are now the edge's job. The edge is also in an IsoSubspace and it
     22          has IsoCellSets to tell us which edges have output constraints (what we used to call
     23          CodeBlock's weak reference harvester) and which have unconditional finalizers.
     24       
     25        - CodeBlock now uses an IsoCellSet to tell if it has an unconditional finalizer.
     26       
     27        - CodeBlockSet still exists!  It has one unified HashSet of CodeBlocks that we use to
     28          handle requests from the sampler, debugger, and other facilities. They may want to ask
     29          if some pointer corresponds to a CodeBlock during stages of execution during which the
     30          GC is unable to answer isLive() queries. The trickiest is the sampling profiler thread.
     31          There is no way that the GC's isLive could tell us of a CodeBlock that had already been
     32          allocated has now been full constructed.
     33       
     34        * JavaScriptCore.xcodeproj/project.pbxproj:
     35        * Sources.txt:
     36        * bytecode/CodeBlock.cpp:
     37        (JSC::CodeBlock::CodeBlock):
     38        (JSC::CodeBlock::finishCreation):
     39        (JSC::CodeBlock::finishCreationCommon):
     40        (JSC::CodeBlock::~CodeBlock):
     41        (JSC::CodeBlock::visitChildren):
     42        (JSC::CodeBlock::propagateTransitions):
     43        (JSC::CodeBlock::determineLiveness):
     44        (JSC::CodeBlock::finalizeUnconditionally):
     45        (JSC::CodeBlock::stronglyVisitStrongReferences):
     46        (JSC::CodeBlock::hasInstalledVMTrapBreakpoints const):
     47        (JSC::CodeBlock::installVMTrapBreakpoints):
     48        (JSC::CodeBlock::dumpMathICStats):
     49        (JSC::CodeBlock::visitWeakly): Deleted.
     50        (JSC::CodeBlock::WeakReferenceHarvester::visitWeakReferences): Deleted.
     51        (JSC::CodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.
     52        * bytecode/CodeBlock.h:
     53        (JSC::CodeBlock::subspaceFor):
     54        (JSC::CodeBlock::ownerEdge const):
     55        (JSC::CodeBlock::clearVisitWeaklyHasBeenCalled): Deleted.
     56        * bytecode/EvalCodeBlock.h:
     57        (JSC::EvalCodeBlock::create): Deleted.
     58        (JSC::EvalCodeBlock::createStructure): Deleted.
     59        (JSC::EvalCodeBlock::variable): Deleted.
     60        (JSC::EvalCodeBlock::numVariables): Deleted.
     61        (JSC::EvalCodeBlock::functionHoistingCandidate): Deleted.
     62        (JSC::EvalCodeBlock::numFunctionHoistingCandidates): Deleted.
     63        (JSC::EvalCodeBlock::EvalCodeBlock): Deleted.
     64        (JSC::EvalCodeBlock::unlinkedEvalCodeBlock const): Deleted.
     65        * bytecode/ExecutableToCodeBlockEdge.cpp: Added.
     66        (JSC::ExecutableToCodeBlockEdge::createStructure):
     67        (JSC::ExecutableToCodeBlockEdge::create):
     68        (JSC::ExecutableToCodeBlockEdge::visitChildren):
     69        (JSC::ExecutableToCodeBlockEdge::visitOutputConstraints):
     70        (JSC::ExecutableToCodeBlockEdge::finalizeUnconditionally):
     71        (JSC::ExecutableToCodeBlockEdge::activate):
     72        (JSC::ExecutableToCodeBlockEdge::deactivate):
     73        (JSC::ExecutableToCodeBlockEdge::deactivateAndUnwrap):
     74        (JSC::ExecutableToCodeBlockEdge::wrap):
     75        (JSC::ExecutableToCodeBlockEdge::wrapAndActivate):
     76        (JSC::ExecutableToCodeBlockEdge::ExecutableToCodeBlockEdge):
     77        (JSC::ExecutableToCodeBlockEdge::runConstraint):
     78        * bytecode/ExecutableToCodeBlockEdge.h: Added.
     79        (JSC::ExecutableToCodeBlockEdge::subspaceFor):
     80        (JSC::ExecutableToCodeBlockEdge::codeBlock const):
     81        (JSC::ExecutableToCodeBlockEdge::unwrap):
     82        * bytecode/FunctionCodeBlock.h:
     83        (JSC::FunctionCodeBlock::subspaceFor):
     84        (JSC::FunctionCodeBlock::createStructure):
     85        * bytecode/ModuleProgramCodeBlock.h:
     86        (JSC::ModuleProgramCodeBlock::create): Deleted.
     87        (JSC::ModuleProgramCodeBlock::createStructure): Deleted.
     88        (JSC::ModuleProgramCodeBlock::ModuleProgramCodeBlock): Deleted.
     89        * bytecode/ProgramCodeBlock.h:
     90        (JSC::ProgramCodeBlock::create): Deleted.
     91        (JSC::ProgramCodeBlock::createStructure): Deleted.
     92        (JSC::ProgramCodeBlock::ProgramCodeBlock): Deleted.
     93        * debugger/Debugger.cpp:
     94        (JSC::Debugger::SetSteppingModeFunctor::operator() const):
     95        (JSC::Debugger::ToggleBreakpointFunctor::operator() const):
     96        (JSC::Debugger::ClearCodeBlockDebuggerRequestsFunctor::operator() const):
     97        (JSC::Debugger::ClearDebuggerRequestsFunctor::operator() const):
     98        * heap/CodeBlockSet.cpp:
     99        (JSC::CodeBlockSet::contains):
     100        (JSC::CodeBlockSet::dump const):
     101        (JSC::CodeBlockSet::add):
     102        (JSC::CodeBlockSet::remove):
     103        (JSC::CodeBlockSet::promoteYoungCodeBlocks): Deleted.
     104        (JSC::CodeBlockSet::clearMarksForFullCollection): Deleted.
     105        (JSC::CodeBlockSet::lastChanceToFinalize): Deleted.
     106        (JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced): Deleted.
     107        * heap/CodeBlockSet.h:
     108        * heap/CodeBlockSetInlines.h:
     109        (JSC::CodeBlockSet::iterate):
     110        (JSC::CodeBlockSet::iterateViaSubspaces):
     111        * heap/ConservativeRoots.cpp:
     112        (JSC::ConservativeRoots::genericAddPointer):
     113        (JSC::DummyMarkHook::markKnownJSCell):
     114        (JSC::CompositeMarkHook::mark):
     115        (JSC::CompositeMarkHook::markKnownJSCell):
     116        * heap/ConservativeRoots.h:
     117        * heap/Heap.cpp:
     118        (JSC::Heap::lastChanceToFinalize):
     119        (JSC::Heap::finalizeMarkedUnconditionalFinalizers):
     120        (JSC::Heap::finalizeUnconditionalFinalizers):
     121        (JSC::Heap::beginMarking):
     122        (JSC::Heap::deleteUnmarkedCompiledCode):
     123        (JSC::Heap::sweepInFinalize):
     124        (JSC::Heap::forEachCodeBlockImpl):
     125        (JSC::Heap::forEachCodeBlockIgnoringJITPlansImpl):
     126        (JSC::Heap::addCoreConstraints):
     127        (JSC::Heap::finalizeUnconditionalFinalizersInIsoSubspace): Deleted.
     128        * heap/Heap.h:
     129        * heap/HeapCell.h:
     130        * heap/HeapCellInlines.h:
     131        (JSC::HeapCell::subspace const):
     132        * heap/HeapInlines.h:
     133        (JSC::Heap::forEachCodeBlock):
     134        (JSC::Heap::forEachCodeBlockIgnoringJITPlans):
     135        * heap/HeapUtil.h:
     136        (JSC::HeapUtil::findGCObjectPointersForMarking):
     137        * heap/IsoCellSet.cpp:
     138        (JSC::IsoCellSet::parallelNotEmptyMarkedBlockSource):
     139        * heap/IsoCellSet.h:
     140        * heap/IsoCellSetInlines.h:
     141        (JSC::IsoCellSet::forEachMarkedCellInParallel):
     142        (JSC::IsoCellSet::forEachLiveCell):
     143        * heap/LargeAllocation.h:
     144        (JSC::LargeAllocation::subspace const):
     145        * heap/MarkStackMergingConstraint.cpp:
     146        (JSC::MarkStackMergingConstraint::executeImpl):
     147        * heap/MarkStackMergingConstraint.h:
     148        * heap/MarkedAllocator.cpp:
     149        (JSC::MarkedAllocator::parallelNotEmptyBlockSource):
     150        * heap/MarkedBlock.cpp:
     151        (JSC::MarkedBlock::Handle::didAddToAllocator):
     152        (JSC::MarkedBlock::Handle::didRemoveFromAllocator):
     153        * heap/MarkedBlock.h:
     154        (JSC::MarkedBlock::subspace const):
     155        * heap/MarkedBlockInlines.h:
     156        (JSC::MarkedBlock::Handle::forEachLiveCell):
     157        * heap/MarkedSpaceInlines.h:
     158        (JSC::MarkedSpace::forEachLiveCell):
     159        * heap/MarkingConstraint.cpp:
     160        (JSC::MarkingConstraint::execute):
     161        (JSC::MarkingConstraint::doParallelWork):
     162        (JSC::MarkingConstraint::finishParallelWork): Deleted.
     163        (JSC::MarkingConstraint::doParallelWorkImpl): Deleted.
     164        (JSC::MarkingConstraint::finishParallelWorkImpl): Deleted.
     165        * heap/MarkingConstraint.h:
     166        * heap/MarkingConstraintSet.cpp:
     167        (JSC::MarkingConstraintSet::add):
     168        * heap/MarkingConstraintSet.h:
     169        (JSC::MarkingConstraintSet::add):
     170        * heap/MarkingConstraintSolver.cpp:
     171        (JSC::MarkingConstraintSolver::execute):
     172        (JSC::MarkingConstraintSolver::addParallelTask):
     173        (JSC::MarkingConstraintSolver::runExecutionThread):
     174        (JSC::MarkingConstraintSolver::didExecute): Deleted.
     175        * heap/MarkingConstraintSolver.h:
     176        (JSC::MarkingConstraintSolver::TaskWithConstraint::TaskWithConstraint):
     177        (JSC::MarkingConstraintSolver::TaskWithConstraint::operator== const):
     178        * heap/SimpleMarkingConstraint.cpp:
     179        (JSC::SimpleMarkingConstraint::SimpleMarkingConstraint):
     180        (JSC::SimpleMarkingConstraint::executeImpl):
     181        * heap/SimpleMarkingConstraint.h:
     182        (JSC::SimpleMarkingConstraint::SimpleMarkingConstraint):
     183        * heap/SlotVisitor.cpp:
     184        (JSC::SlotVisitor::addParallelConstraintTask):
     185        * heap/SlotVisitor.h:
     186        * heap/Subspace.cpp:
     187        (JSC::Subspace::sweep):
     188        * heap/Subspace.h:
     189        * heap/SubspaceInlines.h:
     190        (JSC::Subspace::forEachLiveCell):
     191        * llint/LowLevelInterpreter.asm:
     192        * runtime/EvalExecutable.cpp:
     193        (JSC::EvalExecutable::visitChildren):
     194        * runtime/EvalExecutable.h:
     195        (JSC::EvalExecutable::codeBlock):
     196        * runtime/FunctionExecutable.cpp:
     197        (JSC::FunctionExecutable::baselineCodeBlockFor):
     198        (JSC::FunctionExecutable::visitChildren):
     199        * runtime/FunctionExecutable.h:
     200        * runtime/JSType.h:
     201        * runtime/ModuleProgramExecutable.cpp:
     202        (JSC::ModuleProgramExecutable::visitChildren):
     203        * runtime/ModuleProgramExecutable.h:
     204        * runtime/ProgramExecutable.cpp:
     205        (JSC::ProgramExecutable::visitChildren):
     206        * runtime/ProgramExecutable.h:
     207        * runtime/ScriptExecutable.cpp:
     208        (JSC::ScriptExecutable::installCode):
     209        (JSC::ScriptExecutable::newReplacementCodeBlockFor):
     210        * runtime/VM.cpp:
     211        (JSC::VM::VM):
     212        * runtime/VM.h:
     213        (JSC::VM::SpaceAndFinalizerSet::SpaceAndFinalizerSet):
     214        (JSC::VM::SpaceAndFinalizerSet::finalizerSetFor):
     215        (JSC::VM::forEachCodeBlockSpace):
     216        * runtime/VMTraps.cpp:
     217        (JSC::VMTraps::handleTraps):
     218        * tools/VMInspector.cpp:
     219        (JSC::VMInspector::codeBlockForMachinePC):
     220        (JSC::VMInspector::isValidCodeBlock):
     221
    12222018-01-09  Michael Saboff  <[email protected]>
    2223
Note: See TracChangeset for help on using the changeset viewer.