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

Reply via email to