-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[JSC] Use synchronous GCActivityCallback GC with RunLoopObserver
https://bugs.webkit.org/show_bug.cgi?id=265515 rdar://118930139 Reviewed by Wenson Hsieh. Now we can schedule GC only when we are idle from GCActivityCallback. So we do not need to run async version. This patch changes two things. 1. We set up RunLoopObserver and run GC when RunLoop gets idle state after GCActivityCallback detects GC opportunities. 2. We use sync GC instead of async GC since we now run this only when we are idle. We do not need to run async version. * Source/JavaScriptCore/heap/EdenGCActivityCallback.cpp: (JSC::EdenGCActivityCallback::EdenGCActivityCallback): (JSC::EdenGCActivityCallback::doCollection): * Source/JavaScriptCore/heap/EdenGCActivityCallback.h: (JSC::EdenGCActivityCallback::tryCreate): * Source/JavaScriptCore/heap/FullGCActivityCallback.cpp: (JSC::FullGCActivityCallback::FullGCActivityCallback): (JSC::FullGCActivityCallback::doCollection): * Source/JavaScriptCore/heap/FullGCActivityCallback.h: (JSC::FullGCActivityCallback::tryCreate): * Source/JavaScriptCore/heap/GCActivityCallback.cpp: (JSC::GCActivityCallback::GCActivityCallback): * Source/JavaScriptCore/heap/GCActivityCallback.h: * Source/JavaScriptCore/heap/Synchronousness.h: * Source/WebCore/page/OpportunisticTaskScheduler.cpp: (WebCore::OpportunisticTaskScheduler::FullGCActivityCallback::FullGCActivityCallback): (WebCore::OpportunisticTaskScheduler::FullGCActivityCallback::doCollection): (WebCore::OpportunisticTaskScheduler::EdenGCActivityCallback::EdenGCActivityCallback): (WebCore::OpportunisticTaskScheduler::EdenGCActivityCallback::doCollection): * Source/WebCore/page/OpportunisticTaskScheduler.h: Canonical link: https://commits.webkit.org/271324@main
- Loading branch information
1 parent
c4e7c9c
commit e0c479c
Showing
9 changed files
with
62 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,7 +27,7 @@ | |
|
||
namespace JSC { | ||
|
||
enum Synchronousness { | ||
enum Synchronousness : uint8_t { | ||
Async, | ||
Sync | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters