[webkit-changes] [WebKit/WebKit] da2296: [JSC] Use getIfPropertyExists instead of hasProper...
Yusuke Suzuki
noreply at github.com
Mon Dec 5 20:46:40 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: da22966f8e5eb32c035454a25df1fd6f8b52c122
https://github.com/WebKit/WebKit/commit/da22966f8e5eb32c035454a25df1fd6f8b52c122
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2022-12-05 (Mon, 05 Dec 2022)
Changed paths:
M Source/JavaScriptCore/runtime/ObjectConstructor.cpp
Log Message:
-----------
[JSC] Use getIfPropertyExists instead of hasProperty+get
https://bugs.webkit.org/show_bug.cgi?id=248756
rdar://102973977
Reviewed by Ross Kirsling and Justin Michaud.
hasProperty+get should be done separately since this two operations are observable (e.g. Proxy will see them differently).
But for most of objects, they can be done by one getPropertySlot. JSObject::getIfPropertyExists can handle this case and
automatically does efficient hasProperty+get combination. We should use it for toPropertyDescriptor.
ToT Patched
redefine-property-accessor-dictionary 6.6732+-0.0235 ^ 6.1863+-0.0115 ^ definitely 1.0787x faster
redefine-property-previous-attributes 64.1454+-0.0491 ^ 52.8705+-0.4305 ^ definitely 1.2133x faster
redefine-property-data-dictionary 5.4420+-0.0105 ^ 5.2991+-0.0157 ^ definitely 1.0270x faster
redefine-property-data 4.5836+-0.0124 ^ 4.4179+-0.0101 ^ definitely 1.0375x faster
redefine-property-accessor 5.8084+-0.0248 ^ 5.2639+-0.0125 ^ definitely 1.1034x faster
* Source/JavaScriptCore/runtime/ObjectConstructor.cpp:
(JSC::toPropertyDescriptor):
Canonical link: https://commits.webkit.org/257392@main
More information about the webkit-changes
mailing list