mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:17:44 +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
|
@ -131,10 +131,13 @@ public:
|
|||
#undef __BYTECODE_OP
|
||||
};
|
||||
|
||||
[[nodiscard]] bool is_terminator() const;
|
||||
|
||||
Type type() const { return m_type; }
|
||||
size_t length() const { return m_length; }
|
||||
ByteString to_byte_string(Bytecode::Executable const&) const;
|
||||
ThrowCompletionOr<void> execute(Bytecode::Interpreter&) const;
|
||||
void replace_references(BasicBlock const& from, BasicBlock const& to);
|
||||
static void destroy(Instruction&);
|
||||
|
||||
// FIXME: Find a better way to organize this information
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue