LibJS: Remove inline capacity from MarkedVector

Turns out this was hurting performance instead of helping it.
By removing the inline capacity, we shrink the size of ExecutionContext
by 512 bytes, which substantially reduces the stack pressure created by
JS recursion (each call creates a new ExecutionContext on the stack).

4.4% speed-up on the entire Kraken benchmark :^)
This commit is contained in:
Andreas Kling 2023-10-09 08:37:46 +02:00
parent f10db48bab
commit 13057812d5

View file

@ -297,7 +297,7 @@ class ThrowCompletionOr;
template<class T>
class Handle;
template<class T, size_t inline_capacity = 32>
template<class T, size_t inline_capacity = 0>
class MarkedVector;
namespace Bytecode {