1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:17:44 +00:00

LibJS: Include executable name in bytecode dumps

This commit is contained in:
Andreas Kling 2021-10-24 14:33:56 +02:00
parent c95dde971b
commit f75d78f56a
6 changed files with 16 additions and 6 deletions

View file

@ -10,6 +10,7 @@ namespace JS::Bytecode {
void Executable::dump() const
{
dbgln("\033[33;1mJS::Bytecode::Executable\033[0m ({})", name);
for (auto& block : basic_blocks)
block.dump(*this);
if (!string_table->is_empty()) {

View file

@ -6,6 +6,7 @@
#pragma once
#include <AK/FlyString.h>
#include <AK/NonnullOwnPtrVector.h>
#include <LibJS/Bytecode/BasicBlock.h>
#include <LibJS/Bytecode/StringTable.h>
@ -13,6 +14,7 @@
namespace JS::Bytecode {
struct Executable {
FlyString name;
NonnullOwnPtrVector<BasicBlock> basic_blocks;
NonnullOwnPtr<StringTable> string_table;
size_t number_of_registers { 0 };

View file

@ -44,7 +44,7 @@ Executable Generator::generate(ASTNode const& node, bool is_in_generator_functio
generator.emit<Bytecode::Op::Yield>(nullptr);
}
}
return { move(generator.m_root_basic_blocks), move(generator.m_string_table), generator.m_next_register };
return { {}, move(generator.m_root_basic_blocks), move(generator.m_string_table), generator.m_next_register };
}
void Generator::grow(size_t additional_size)