mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-03 04:52:06 +02:00
LibJS: Cache Executable constants for asm Call
Mirror Executable's constants size and data pointer in adjacent fields so the asm Call fast path can pair-load them together. The underlying Vector layout keeps size and data apart, so a small cached raw span lets the hot constant-copy loop fetch both pieces of metadata at once.
This commit is contained in:
committed by
Andreas Kling
parent
5761f6bc54
commit
b6c7f6c0c4
Notes:
github-actions[bot]
2026-04-14 10:38:12 +00:00
Author: https://github.com/awesomekling Commit: https://github.com/LadybirdBrowser/ladybird/commit/b6c7f6c0c42 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8912
@@ -83,6 +83,8 @@ Executable::Executable(
|
||||
template_object_caches.resize(number_of_template_object_caches);
|
||||
object_shape_caches.resize(number_of_object_shape_caches);
|
||||
object_property_iterator_caches.resize(number_of_object_property_iterator_caches);
|
||||
asm_constants_size = this->constants.size();
|
||||
asm_constants_data = this->constants.data();
|
||||
}
|
||||
|
||||
Executable::~Executable() = default;
|
||||
|
||||
Reference in New Issue
Block a user