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:
Andreas Kling 2026-04-14 10:16:33 +02:00 committed by Andreas Kling
parent 5761f6bc54
commit b6c7f6c0c4
Notes: github-actions[bot] 2026-04-14 10:38:12 +00:00
4 changed files with 7 additions and 2 deletions

View file

@ -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;