move fixed object (mark and sweep) support into heap.cpp and refine algorithms for determining when and how much to GC

This commit is contained in:
Joel Dice
2007-10-28 13:14:53 -06:00
parent 60072b9fdc
commit 7f1837fecd
9 changed files with 463 additions and 500 deletions

View File

@ -2955,11 +2955,11 @@ class MyProcessor: public Processor {
{
Thread* t = static_cast<Thread*>(vmt);
visit(t, v, &(t->code));
v->visit(&(t->code));
for (unsigned i = 0; i < t->sp; ++i) {
if (t->stack[i * 2] == ObjectTag) {
visit(t, v, reinterpret_cast<object*>(t->stack + (i * 2) + 1));
v->visit(reinterpret_cast<object*>(t->stack + (i * 2) + 1));
}
}
}