5 /* The actual memory area */
9 free_list_allocator<code_block> *allocator;
11 /* Keys are blocks which need to be initialized by initialize_code_block().
12 Values are literal tables. Literal table arrays are GC roots until the
13 time the block is initialized, after which point they are discarded. */
14 std::map<code_block *, cell> uninitialized_blocks;
16 /* Code blocks which may reference objects in the nursery */
17 std::set<code_block *> points_to_nursery;
19 /* Code blocks which may reference objects in aging space or the nursery */
20 std::set<code_block *> points_to_aging;
22 explicit code_heap(cell size);
24 void write_barrier(code_block *compiled);
25 void clear_remembered_set();
26 bool uninitialized_p(code_block *compiled);
27 bool marked_p(code_block *compiled);
28 void set_marked_p(code_block *compiled);
29 void clear_mark_bits();
30 void free(code_block *compiled);
34 struct code_heap_room {
39 cell free_block_count;