Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e5e9b260874b56172ad5b7a4e75eaa946d627b34
      
https://github.com/WebKit/WebKit/commit/e5e9b260874b56172ad5b7a4e75eaa946d627b34
  Author: Yusuke Suzuki <[email protected]>
  Date:   2024-04-09 (Tue, 09 Apr 2024)

  Changed paths:
    M Source/JavaScriptCore/dfg/DFGDesiredWeakReferences.cpp
    M Source/JavaScriptCore/dfg/DFGDesiredWeakReferences.h
    M Source/JavaScriptCore/runtime/JSCast.h

  Log Message:
  -----------
  [JSC] DesiredWeakReferences::reallyAdd should avoid allocating and destroying 
Vectors
https://bugs.webkit.org/show_bug.cgi?id=272421
rdar://126167184

Reviewed by Justin Michaud.

This patch reorganizes DesiredWeakReferences.

1. DesiredWeakReferences should have separate HashSet for JSCell and Structure. 
So DesiredWeakReferences::reallyAdd becomes simpler.
   This is important since DesiredWeakReferences::reallyAdd runs on the main 
thread.
2. (1) allows us to compute FixedVector size before iterating HashSet in 
DesiredWeakReferences::reallyAdd. We stop using Vector and
   materialize exact sized FixedVector and fill them with values.

* Source/JavaScriptCore/dfg/DFGDesiredWeakReferences.cpp:
(JSC::DFG::DesiredWeakReferences::addLazily):
(JSC::DFG::DesiredWeakReferences::contains):
(JSC::DFG::DesiredWeakReferences::reallyAdd):
(JSC::DFG::DesiredWeakReferences::visitChildren):
(JSC::DFG::DesiredWeakReferences::~DesiredWeakReferences): Deleted.
* Source/JavaScriptCore/dfg/DFGDesiredWeakReferences.h:
* Source/JavaScriptCore/runtime/JSCast.h:

Canonical link: https://commits.webkit.org/277279@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