diff options
Diffstat (limited to 'src/javascript/jsc/bindings/BunGCOutputConstraint.cpp')
-rw-r--r-- | src/javascript/jsc/bindings/BunGCOutputConstraint.cpp | 198 |
1 files changed, 99 insertions, 99 deletions
diff --git a/src/javascript/jsc/bindings/BunGCOutputConstraint.cpp b/src/javascript/jsc/bindings/BunGCOutputConstraint.cpp index ec487edc9..97ee0761b 100644 --- a/src/javascript/jsc/bindings/BunGCOutputConstraint.cpp +++ b/src/javascript/jsc/bindings/BunGCOutputConstraint.cpp @@ -31,105 +31,105 @@ #include "JavaScriptCore/VM.h" #include "JavaScriptCore/MarkingConstraint.h" -namespace JSC { - -class VisitCounter { -public: - VisitCounter() {} - - VisitCounter(AbstractSlotVisitor& visitor) - : m_visitor(&visitor) - , m_initialVisitCount(visitor.visitCount()) - { - } - - AbstractSlotVisitor& visitor() const { return *m_visitor; } - - size_t visitCount() const - { - return m_visitor->visitCount() - m_initialVisitCount; - } - -private: - AbstractSlotVisitor* m_visitor { nullptr }; - size_t m_initialVisitCount { 0 }; -}; - -static constexpr bool verboseMarkingConstraint = false; - -MarkingConstraint::MarkingConstraint(CString abbreviatedName, CString name, ConstraintVolatility volatility, ConstraintConcurrency concurrency, ConstraintParallelism parallelism) - : m_abbreviatedName(abbreviatedName) - , m_name(WTFMove(name)) - , m_volatility(volatility) - , m_concurrency(concurrency) - , m_parallelism(parallelism) -{ -} - -MarkingConstraint::~MarkingConstraint() -{ -} - -void MarkingConstraint::resetStats() -{ - m_lastVisitCount = 0; -} - -void MarkingConstraint::execute(SlotVisitor& visitor) -{ - ASSERT(!visitor.heap()->isMarkingForGCVerifier()); - VisitCounter visitCounter(visitor); - executeImpl(visitor); - m_lastVisitCount += visitCounter.visitCount(); - if (verboseMarkingConstraint && visitCounter.visitCount()) - dataLog("(", abbreviatedName(), " visited ", visitCounter.visitCount(), " in execute)"); -} - -void MarkingConstraint::executeSynchronously(AbstractSlotVisitor& visitor) -{ - prepareToExecuteImpl(NoLockingNecessary, visitor); - executeImpl(visitor); -} - -double MarkingConstraint::quickWorkEstimate(SlotVisitor&) -{ - return 0; -} - -double MarkingConstraint::workEstimate(SlotVisitor& visitor) -{ - return lastVisitCount() + quickWorkEstimate(visitor); -} - -void MarkingConstraint::prepareToExecute(const AbstractLocker& constraintSolvingLocker, SlotVisitor& visitor) -{ - ASSERT(!visitor.heap()->isMarkingForGCVerifier()); - dataLogIf(Options::logGC(), abbreviatedName()); - VisitCounter visitCounter(visitor); - prepareToExecuteImpl(constraintSolvingLocker, visitor); - m_lastVisitCount = visitCounter.visitCount(); - if (verboseMarkingConstraint && visitCounter.visitCount()) - dataLog("(", abbreviatedName(), " visited ", visitCounter.visitCount(), " in prepareToExecute)"); -} - -void MarkingConstraint::doParallelWork(SlotVisitor& visitor, SharedTask<void(SlotVisitor&)>& task) -{ - ASSERT(!visitor.heap()->isMarkingForGCVerifier()); - VisitCounter visitCounter(visitor); - task.run(visitor); - if (verboseMarkingConstraint && visitCounter.visitCount()) - dataLog("(", abbreviatedName(), " visited ", visitCounter.visitCount(), " in doParallelWork)"); - { - Locker locker { m_lock }; - m_lastVisitCount += visitCounter.visitCount(); - } -} - -void MarkingConstraint::prepareToExecuteImpl(const AbstractLocker&, AbstractSlotVisitor&) -{ -} - -} // namespace JSC +// namespace JSC { + +// class VisitCounter { +// public: +// VisitCounter() {} + +// VisitCounter(AbstractSlotVisitor& visitor) +// : m_visitor(&visitor) +// , m_initialVisitCount(visitor.visitCount()) +// { +// } + +// AbstractSlotVisitor& visitor() const { return *m_visitor; } + +// size_t visitCount() const +// { +// return m_visitor->visitCount() - m_initialVisitCount; +// } + +// private: +// AbstractSlotVisitor* m_visitor { nullptr }; +// size_t m_initialVisitCount { 0 }; +// }; + +// static constexpr bool verboseMarkingConstraint = false; + +// MarkingConstraint::MarkingConstraint(CString abbreviatedName, CString name, ConstraintVolatility volatility, ConstraintConcurrency concurrency, ConstraintParallelism parallelism) +// : m_abbreviatedName(abbreviatedName) +// , m_name(WTFMove(name)) +// , m_volatility(volatility) +// , m_concurrency(concurrency) +// , m_parallelism(parallelism) +// { +// } + +// MarkingConstraint::~MarkingConstraint() +// { +// } + +// void MarkingConstraint::resetStats() +// { +// m_lastVisitCount = 0; +// } + +// void MarkingConstraint::execute(SlotVisitor& visitor) +// { +// ASSERT(!visitor.heap()->isMarkingForGCVerifier()); +// VisitCounter visitCounter(visitor); +// executeImpl(visitor); +// m_lastVisitCount += visitCounter.visitCount(); +// if (verboseMarkingConstraint && visitCounter.visitCount()) +// dataLog("(", abbreviatedName(), " visited ", visitCounter.visitCount(), " in execute)"); +// } + +// void MarkingConstraint::executeSynchronously(AbstractSlotVisitor& visitor) +// { +// prepareToExecuteImpl(NoLockingNecessary, visitor); +// executeImpl(visitor); +// } + +// double MarkingConstraint::quickWorkEstimate(SlotVisitor&) +// { +// return 0; +// } + +// double MarkingConstraint::workEstimate(SlotVisitor& visitor) +// { +// return lastVisitCount() + quickWorkEstimate(visitor); +// } + +// void MarkingConstraint::prepareToExecute(const AbstractLocker& constraintSolvingLocker, SlotVisitor& visitor) +// { +// ASSERT(!visitor.heap()->isMarkingForGCVerifier()); +// dataLogIf(Options::logGC(), abbreviatedName()); +// VisitCounter visitCounter(visitor); +// prepareToExecuteImpl(constraintSolvingLocker, visitor); +// m_lastVisitCount = visitCounter.visitCount(); +// if (verboseMarkingConstraint && visitCounter.visitCount()) +// dataLog("(", abbreviatedName(), " visited ", visitCounter.visitCount(), " in prepareToExecute)"); +// } + +// void MarkingConstraint::doParallelWork(SlotVisitor& visitor, SharedTask<void(SlotVisitor&)>& task) +// { +// ASSERT(!visitor.heap()->isMarkingForGCVerifier()); +// VisitCounter visitCounter(visitor); +// task.run(visitor); +// if (verboseMarkingConstraint && visitCounter.visitCount()) +// dataLog("(", abbreviatedName(), " visited ", visitCounter.visitCount(), " in doParallelWork)"); +// { +// Locker locker { m_lock }; +// m_lastVisitCount += visitCounter.visitCount(); +// } +// } + +// void MarkingConstraint::prepareToExecuteImpl(const AbstractLocker&, AbstractSlotVisitor&) +// { +// } + +// } // namespace JSC #include "BunGCOutputConstraint.h" |