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
parent 4cf4ea92a7
commit 5a08544138
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); }