VM: Refactor code_roots to Factor style

db4
Erik Charlebois 2013-05-11 21:52:05 -04:00
parent 7f56458820
commit ef7c009d2a
1 changed files with 13 additions and 19 deletions

View File

@ -1,29 +1,23 @@
namespace factor namespace factor {
{
struct code_root { struct code_root {
cell value; cell value;
bool valid; bool valid;
factor_vm *parent; factor_vm* parent;
void push() void push() { parent->code_roots.push_back(this); }
{
parent->code_roots.push_back(this);
}
explicit code_root(cell value_, factor_vm *parent_) : explicit code_root(cell value_, factor_vm* parent_)
value(value_), valid(true), parent(parent_) : value(value_), valid(true), parent(parent_) {
{ push();
push(); }
}
~code_root() ~code_root() {
{
#ifdef FACTOR_DEBUG #ifdef FACTOR_DEBUG
FACTOR_ASSERT(parent->code_roots.back() == this); FACTOR_ASSERT(parent->code_roots.back() == this);
#endif #endif
parent->code_roots.pop_back(); parent->code_roots.pop_back();
} }
}; };
} }