2009-05-04 02:46:13 -04:00
|
|
|
namespace factor
|
|
|
|
{
|
|
|
|
|
2009-05-04 05:50:24 -04:00
|
|
|
struct data_heap {
|
|
|
|
cell young_size;
|
|
|
|
cell aging_size;
|
|
|
|
cell tenured_size;
|
2009-05-02 05:04:19 -04:00
|
|
|
|
2009-10-07 12:59:59 -04:00
|
|
|
segment *seg;
|
|
|
|
|
|
|
|
zone *nursery;
|
2009-10-07 16:48:09 -04:00
|
|
|
aging_space *aging;
|
|
|
|
aging_space *aging_semispace;
|
|
|
|
tenured_space *tenured;
|
|
|
|
tenured_space *tenured_semispace;
|
2009-05-02 05:04:19 -04:00
|
|
|
|
2009-09-25 22:17:20 -04:00
|
|
|
char *cards;
|
|
|
|
char *cards_end;
|
2009-05-02 05:04:19 -04:00
|
|
|
|
2009-09-25 22:17:20 -04:00
|
|
|
char *decks;
|
|
|
|
char *decks_end;
|
2009-05-08 16:05:55 -04:00
|
|
|
|
2009-10-06 03:39:12 -04:00
|
|
|
explicit data_heap(factor_vm *myvm, cell young_size, cell aging_size, cell tenured_size);
|
2009-09-25 22:17:20 -04:00
|
|
|
~data_heap();
|
2009-05-02 10:19:09 -04:00
|
|
|
};
|
2009-05-02 05:04:19 -04:00
|
|
|
|
2009-10-07 09:33:54 -04:00
|
|
|
static const cell nursery_gen = 0;
|
|
|
|
static const cell aging_gen = 1;
|
|
|
|
static const cell tenured_gen = 2;
|
2009-10-06 03:39:12 -04:00
|
|
|
static const cell gen_count = 3;
|
2009-05-02 05:04:19 -04:00
|
|
|
|
2009-05-04 02:46:13 -04:00
|
|
|
}
|