1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-12 22:41:00 +00:00
serenity/Userland
Andreas Kling 27a83f7e5e LibJS: Make array-like Get access on ordinary objects much faster
This patch adds a fast path to the GetByValue bytecode op that bypasses
a ton of things *if* a set of assumptions hold:

- The property key must be a non-negative Int32
- The base object must not interfere with indexed property access
- The property key must already be present as an own property
- The existing value must not have any accessors defined

If this holds (which it should in the common case), we can poke directly
at the indexed property storage and save a boatload of time.

10% speed-up on the entire Kraken benchmark :^)
(including: 31% speed-up on Kraken/audio-dft.js)
(including: 23% speed-up on Kraken/stanford-crypto-aes.js)
2023-10-05 16:57:45 +02:00
..
Applets Userland: Make Window::set_main_widget() non-fallible 2023-09-21 10:20:23 +02:00
Applications Maps: Pad grid size to prevent missing tiles 2023-10-03 20:25:09 +02:00
BuggieBox checksum: Add support for BLAKE2b 2023-09-17 16:49:35 +03:30
Demos Userland: Use non-fallible EventReceiver::add() where possible 2023-09-25 10:58:31 +02:00
DevTools Userland: Compare event MIME type list with a StringView 2023-09-29 14:40:21 +01:00
DynamicLoader CMake: Use CMAKE_POSITION_INDEPENDENT_CODE instead of explicit -fpic 2023-09-18 10:26:42 +02:00
Games Hearts: Paint player names in white when background is a dark color 2023-10-04 20:10:04 +02:00
Libraries LibJS: Make array-like Get access on ordinary objects much faster 2023-10-05 16:57:45 +02:00
Services LibWeb+LibWebView+WebContent: Add support for meta theme-color 2023-10-03 16:17:43 -06:00
Shell Shell: Accept IoNumber as a valid redirection target 2023-10-02 21:21:38 +02:00
Utilities Utilities: Remove redundant target_link_libraries 2023-10-05 15:19:19 +02:00
CMakeLists.txt Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00