LibJS/Bytecode: Move environment variable caches into instructions

These were out-of-line because we had some ideas about marking
instruction streams PROT_READ only, but that seems pretty arbitrary and
there's a lot of performance to be gained by putting these inline.
This commit is contained in:
Andreas Kling 2024-05-11 18:28:03 +02:00
commit 855f6417df
Notes: sideshowbarker 2024-07-17 14:33:07 +09:00
8 changed files with 33 additions and 53 deletions

View file

@ -33,8 +33,6 @@ struct GlobalVariableCache : public PropertyLookupCache {
u64 environment_serial_number { 0 };
};
using EnvironmentVariableCache = Optional<EnvironmentCoordinate>;
struct SourceRecord {
u32 source_start_offset {};
u32 source_end_offset {};
@ -54,7 +52,6 @@ public:
NonnullRefPtr<SourceCode const>,
size_t number_of_property_lookup_caches,
size_t number_of_global_variable_caches,
size_t number_of_environment_variable_caches,
size_t number_of_registers,
bool is_strict_mode);
@ -64,7 +61,6 @@ public:
Vector<u8> bytecode;
Vector<PropertyLookupCache> property_lookup_caches;
Vector<GlobalVariableCache> global_variable_caches;
Vector<EnvironmentVariableCache> environment_variable_caches;
NonnullOwnPtr<StringTable> string_table;
NonnullOwnPtr<IdentifierTable> identifier_table;
NonnullOwnPtr<RegexTable> regex_table;