LibJS/Bytecode: Keep instruction source mappings in Executable

Instead of storing source offsets with each instruction, we now keep
them in a side table in Executable.

This shrinks each instruction by 8 bytes, further improving locality.
This commit is contained in:
Andreas Kling 2024-05-06 07:51:14 +02:00
commit 5a08544138
Notes: sideshowbarker 2024-07-17 02:28:18 +09:00
8 changed files with 27 additions and 14 deletions

View file

@ -84,6 +84,8 @@ public:
Vector<ExceptionHandlers> exception_handlers;
Vector<size_t> basic_block_start_offsets;
HashMap<size_t, SourceRecord> source_map;
ByteString const& get_string(StringTableIndex index) const { return string_table->get(index); }
DeprecatedFlyString const& get_identifier(IdentifierTableIndex index) const { return identifier_table->get(index); }