Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 289c5e96b86f1105aa984028ed4c6fdd7bcebe5c
https://github.com/WebKit/WebKit/commit/289c5e96b86f1105aa984028ed4c6fdd7bcebe5c
Author: Yusuke Suzuki <[email protected]>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M Source/JavaScriptCore/dfg/DFGDesiredGlobalProperties.cpp
M Source/JavaScriptCore/dfg/DFGDesiredGlobalProperties.h
M Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.cpp
M Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h
M Source/JavaScriptCore/dfg/DFGDesiredWeakReferences.cpp
M Source/JavaScriptCore/dfg/DFGDesiredWeakReferences.h
M Source/JavaScriptCore/dfg/DFGPlan.cpp
M Source/JavaScriptCore/dfg/DFGPlan.h
Log Message:
-----------
[JSC] Simplify watchpoint registration
https://bugs.webkit.org/show_bug.cgi?id=272498
rdar://126243456
Reviewed by Justin Michaud.
This patch makes DFG / FTL watchpoint registration simpler.
1. We should collect number of watchpoints in the compiler thread side. Not
doing it in the main thread.
2. We should not iterate the same hashset twice for areStillValid and
reallyAdd. Now reallyAdd can return
whether the registration succeeded.
3. Offload weak reference vector materialization to compiler thread.
* Source/JavaScriptCore/dfg/DFGDesiredGlobalProperties.cpp:
(JSC::DFG::DesiredGlobalProperties::reallyAdd):
* Source/JavaScriptCore/dfg/DFGDesiredGlobalProperties.h:
* Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.cpp:
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):
(JSC::DFG::SymbolTableAdaptor::add):
(JSC::DFG::FunctionExecutableAdaptor::add):
(JSC::DFG::AdaptiveStructureWatchpointAdaptor::add):
(JSC::DFG::DesiredWatchpoints::countWatchpoints):
(JSC::DFG::DesiredWatchpoints::reallyAdd):
(JSC::DFG::DesiredWatchpoints::areStillValid const): Deleted.
* Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h:
(JSC::DFG::SetPointerAdaptor::add):
(JSC::DFG::GenericDesiredWatchpoints::reallyAdd):
(JSC::DFG::GenericDesiredWatchpoints::areStillValid const): Deleted.
* Source/JavaScriptCore/dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::finalizeInThread):
(JSC::DFG::Plan::isStillValidCodeBlock):
(JSC::DFG::Plan::reallyAdd):
(JSC::DFG::Plan::finalize):
(JSC::DFG::Plan::isStillValid): Deleted.
(JSC::DFG::Plan::isStillValidOnMainThread): Deleted.
* Source/JavaScriptCore/dfg/DFGPlan.h:
Canonical link: https://commits.webkit.org/277400@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes