Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0f0092e17fdbdd3127963eeb9eb45e8db4506726
https://github.com/WebKit/WebKit/commit/0f0092e17fdbdd3127963eeb9eb45e8db4506726
Author: Alexey Shvayka <[email protected]>
Date: 2023-02-15 (Wed, 15 Feb 2023)
Changed paths:
A JSTests/microbenchmarks/reflect-get-with-receiver.js
A JSTests/microbenchmarks/reflect-get.js
M Source/JavaScriptCore/builtins/BuiltinNames.h
M Source/JavaScriptCore/builtins/ReflectObject.js
M Source/JavaScriptCore/runtime/ReflectObject.cpp
Log Message:
-----------
Optimize Reflect.get() leveraging the recently introduced GetByValWithThis IC
https://bugs.webkit.org/show_bug.cgi?id=252328
<rdar://problem/105504833>
Reviewed by Yusuke Suzuki.
This change re-implements Reflect.get() as JSBuiltin to leverage
GetByValWithThis IC,
speeding up microbenchmarks 8.5X times and JetStream3/proxy-vue by 1.5-2%.
ToT patch
reflect-get-with-receiver 331.8347+-1.6323 ^ 38.7435+-0.2977
^ definitely 8.5649x faster
reflect-get 91.5221+-0.3572 ^ 10.7350+-0.0942
^ definitely 8.5256x faster
* JSTests/microbenchmarks/reflect-get-with-receiver.js: Added.
* JSTests/microbenchmarks/reflect-get.js: Added.
* Source/JavaScriptCore/builtins/BuiltinNames.h:
* Source/JavaScriptCore/builtins/ReflectObject.js:
* Source/JavaScriptCore/runtime/ReflectObject.cpp:
Canonical link: https://commits.webkit.org/260327@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes