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