diff --git a/js/src/gc/GC.cpp b/js/src/gc/GC.cpp index 2cb8e38899c2..ccc67653e687 100644 --- a/js/src/gc/GC.cpp +++ b/js/src/gc/GC.cpp @@ -4205,8 +4205,7 @@ bool GCRuntime::beginMarkPhase(JS::GCReason reason, AutoGCSession& session) { */ { AutoLockHelperThreadState helperLock; - HelperThreadState().startHandlingCompressionTasks( - helperLock, GlobalHelperThreadState::ScheduleCompressionTask::GC); + HelperThreadState().startHandlingCompressionTasks(helperLock); } return true; diff --git a/js/src/vm/HelperThreads.cpp b/js/src/vm/HelperThreads.cpp index d1a80a11d4f5..339dbb078af2 100644 --- a/js/src/vm/HelperThreads.cpp +++ b/js/src/vm/HelperThreads.cpp @@ -1675,20 +1675,20 @@ bool GlobalHelperThreadState::canStartCompressionTask( } void GlobalHelperThreadState::startHandlingCompressionTasks( - const AutoLockHelperThreadState& lock, ScheduleCompressionTask schedule) { - scheduleCompressionTasks(lock, schedule); + const AutoLockHelperThreadState& lock) { + scheduleCompressionTasks(lock); if (canStartCompressionTask(lock)) { notifyOne(PRODUCER, lock); } } void GlobalHelperThreadState::scheduleCompressionTasks( - const AutoLockHelperThreadState& lock, ScheduleCompressionTask schedule) { + const AutoLockHelperThreadState& lock) { auto& pending = compressionPendingList(lock); auto& worklist = compressionWorklist(lock); for (size_t i = 0; i < pending.length(); i++) { - if (pending[i]->shouldStart() || schedule != ScheduleCompressionTask::GC) { + if (pending[i]->shouldStart()) { // OOMing during appending results in the task not being scheduled // and deleted. Unused << worklist.append(std::move(pending[i])); @@ -2369,8 +2369,7 @@ void js::RunPendingSourceCompressions(JSRuntime* runtime) { return; } - HelperThreadState().startHandlingCompressionTasks( - lock, GlobalHelperThreadState::ScheduleCompressionTask::API); + HelperThreadState().startHandlingCompressionTasks(lock); // Wait for all in-process compression tasks to complete. while (!HelperThreadState().compressionWorklist(lock).empty()) { diff --git a/js/src/vm/HelperThreads.h b/js/src/vm/HelperThreads.h index 0f9332d96f6b..e60733d38a19 100644 --- a/js/src/vm/HelperThreads.h +++ b/js/src/vm/HelperThreads.h @@ -294,18 +294,14 @@ class GlobalHelperThreadState { bool canStartCompressionTask(const AutoLockHelperThreadState& lock); bool canStartGCParallelTask(const AutoLockHelperThreadState& lock); - enum class ScheduleCompressionTask { GC, API }; - // Used by a major GC to signal processing enqueued compression tasks. - void startHandlingCompressionTasks(const AutoLockHelperThreadState&, - ScheduleCompressionTask schedule); + void startHandlingCompressionTasks(const AutoLockHelperThreadState&); jit::IonCompileTask* highestPriorityPendingIonCompile( const AutoLockHelperThreadState& lock); private: - void scheduleCompressionTasks(const AutoLockHelperThreadState&, - ScheduleCompressionTask schedule); + void scheduleCompressionTasks(const AutoLockHelperThreadState&); UniquePtr finishParseTaskCommon(JSContext* cx, ParseTaskKind kind, JS::OffThreadToken* token);