mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:17:36 +00:00
LibJS/Bytecode: Bring back the bytecode optimization pipeline
...minus the EliminateLoads pass, since it was not compatible with the new bytecode format.
This commit is contained in:
parent
836d93f7e3
commit
5b29974bfa
15 changed files with 962 additions and 65 deletions
|
@ -76,7 +76,7 @@ public:
|
|||
void* slot = m_current_basic_block->data() + slot_offset;
|
||||
new (slot) OpType(forward<Args>(args)...);
|
||||
if constexpr (OpType::IsTerminator)
|
||||
m_current_basic_block->terminate({});
|
||||
m_current_basic_block->terminate({}, slot_offset);
|
||||
auto* op = static_cast<OpType*>(slot);
|
||||
op->set_source_record({ m_current_ast_node->start_offset(), m_current_ast_node->end_offset() });
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ public:
|
|||
void* slot = m_current_basic_block->data() + slot_offset;
|
||||
new (slot) OpType(forward<Args>(args)...);
|
||||
if constexpr (OpType::IsTerminator)
|
||||
m_current_basic_block->terminate({});
|
||||
m_current_basic_block->terminate({}, slot_offset);
|
||||
auto* op = static_cast<OpType*>(slot);
|
||||
op->set_source_record({ m_current_ast_node->start_offset(), m_current_ast_node->end_offset() });
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue