LibJS: Add Cell::interpreter() convenience helper

This allows you to go from any Cell* to the Interpreter.
This commit is contained in:
Andreas Kling 2020-03-15 15:08:27 +01:00
parent fbefb19e10
commit 9b4358e150
Notes: sideshowbarker 2024-07-19 08:17:53 +09:00
3 changed files with 9 additions and 0 deletions

View file

@ -26,6 +26,7 @@
#include <AK/LogStream.h>
#include <LibJS/Cell.h>
#include <LibJS/Heap.h>
#include <LibJS/HeapBlock.h>
#include <LibJS/Object.h>
#include <LibJS/PrimitiveString.h>
@ -44,6 +45,11 @@ Heap& Cell::heap()
return HeapBlock::from_cell(this)->heap();
}
Interpreter& Cell::interpreter()
{
return heap().interpreter();
}
const LogStream& operator<<(const LogStream& stream, const Cell* cell)
{
if (!cell)

View file

@ -52,6 +52,7 @@ public:
virtual void visit_children(Visitor&) {}
Heap& heap();
Interpreter& interpreter();
private:
bool m_mark { false };

View file

@ -53,6 +53,8 @@ public:
void collect_garbage();
Interpreter& interpreter() { return m_interpreter; }
private:
Cell* allocate_cell(size_t);