mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
Added TODO
This commit is contained in:
parent
f4773216c6
commit
2be274d1be
1 changed files with 22 additions and 0 deletions
22
gc.c
22
gc.c
|
@ -613,6 +613,28 @@ void gc_mark_gray(gc_thread_data *thd, object obj)
|
|||
}
|
||||
}
|
||||
|
||||
TODO:
|
||||
// TODO: before doing this, may want to debug a bit and see what is
|
||||
// being passed to gc_mut_update. see if those objects tend to have
|
||||
// any heap refs. may need to add debug code to do that...
|
||||
//
|
||||
//
|
||||
//// This is called from the heap write barrier. The issue here is that
|
||||
//// this is not called during GC, so obj and some of its refs may be
|
||||
//// on the stack. So scan all refs and mark the ones that are on the heap
|
||||
//void gc_mark_gray_rec(gc_thread_data *thd, object obj)
|
||||
//{
|
||||
// int mark;
|
||||
//
|
||||
// if (is_object_type(obj)) {
|
||||
// mark = mark(obj);
|
||||
//
|
||||
//// TODO: if we leave red as red and keep going, this could hang
|
||||
//// if there is a cycle!!
|
||||
// }&& mark(obj) == gc_color_clear) { // TODO: sync??
|
||||
//
|
||||
//}
|
||||
|
||||
void gc_collector_trace()
|
||||
{
|
||||
gc_thread_data *m;
|
||||
|
|
Loading…
Add table
Reference in a new issue