Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 56 lines (49 sloc) 1.157 kb
namespace factor
{
enum gc_op {
collect_nursery_op,
collect_aging_op,
collect_to_tenured_op,
collect_full_op,
collect_compact_op,
collect_growing_heap_op
};
struct gc_event {
gc_op op;
data_heap_room data_heap_before;
code_heap_room code_heap_before;
data_heap_room data_heap_after;
code_heap_room code_heap_after;
cell cards_scanned;
cell decks_scanned;
cell code_blocks_scanned;
u64 start_time;
cell total_time;
cell card_scan_time;
cell code_scan_time;
cell data_sweep_time;
cell code_sweep_time;
cell compaction_time;
u64 temp_time;
gc_event(gc_op op_, factor_vm *parent);
void started_card_scan();
void ended_card_scan(cell cards_scanned_, cell decks_scanned_);
void started_code_scan();
void ended_code_scan(cell code_blocks_scanned_);
void started_data_sweep();
void ended_data_sweep();
void started_code_sweep();
void ended_code_sweep();
void started_compaction();
void ended_compaction();
void ended_gc(factor_vm *parent);
};
struct gc_state {
gc_op op;
u64 start_time;
gc_event *event;
explicit gc_state(gc_op op_, factor_vm *parent);
~gc_state();
void start_again(gc_op op_, factor_vm *parent);
};
}
Jump to Line
Something went wrong with that request. Please try again.