factor/vm/object_start_map.hpp

23 lines
544 B
C++
Raw Normal View History

namespace factor
{
2009-10-09 04:20:50 -04:00
static const cell card_starts_inside_object = 0xff;
struct object_start_map {
cell size, start;
2009-10-09 04:20:50 -04:00
card *object_start_offsets;
card *object_start_offsets_end;
explicit object_start_map(cell size_, cell start_);
~object_start_map();
2009-10-14 20:55:02 -04:00
cell first_object_in_card(cell card_index);
cell find_object_containing_card(cell card_index);
2009-10-09 04:20:50 -04:00
void record_object_start_offset(object *obj);
void clear_object_start_offsets();
2009-11-01 21:15:42 -05:00
void update_card_for_sweep(cell index, u16 mask);
void update_for_sweep(mark_bits<object> *state);
};
}