mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:07:34 +00:00
LibJS: Add a VM accessor to Bytecode::Interpreter :^)
This commit is contained in:
parent
69dddd4ef5
commit
6da5d17416
2 changed files with 5 additions and 1 deletions
|
@ -7,11 +7,13 @@
|
||||||
#include <LibJS/Bytecode/Block.h>
|
#include <LibJS/Bytecode/Block.h>
|
||||||
#include <LibJS/Bytecode/Instruction.h>
|
#include <LibJS/Bytecode/Instruction.h>
|
||||||
#include <LibJS/Bytecode/Interpreter.h>
|
#include <LibJS/Bytecode/Interpreter.h>
|
||||||
|
#include <LibJS/Runtime/GlobalObject.h>
|
||||||
|
|
||||||
namespace JS::Bytecode {
|
namespace JS::Bytecode {
|
||||||
|
|
||||||
Interpreter::Interpreter(GlobalObject& global_object)
|
Interpreter::Interpreter(GlobalObject& global_object)
|
||||||
: m_global_object(global_object)
|
: m_vm(global_object.vm())
|
||||||
|
, m_global_object(global_object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,12 +19,14 @@ public:
|
||||||
~Interpreter();
|
~Interpreter();
|
||||||
|
|
||||||
GlobalObject& global_object() { return m_global_object; }
|
GlobalObject& global_object() { return m_global_object; }
|
||||||
|
VM& vm() { return m_vm; }
|
||||||
|
|
||||||
void run(Bytecode::Block const&);
|
void run(Bytecode::Block const&);
|
||||||
|
|
||||||
Value& reg(Register const& r) { return m_registers[r.index()]; }
|
Value& reg(Register const& r) { return m_registers[r.index()]; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
VM& m_vm;
|
||||||
GlobalObject& m_global_object;
|
GlobalObject& m_global_object;
|
||||||
Vector<Value> m_registers;
|
Vector<Value> m_registers;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue