factor/vm/code_heap.h

28 lines
574 B
C
Raw Normal View History

/* compiled code */
F_HEAP code_heap;
2007-09-20 18:09:08 -04:00
void init_code_heap(CELL size);
2007-09-20 18:09:08 -04:00
bool in_code_heap_p(CELL ptr);
2007-09-20 18:09:08 -04:00
void jit_compile_word(F_WORD *word, CELL def, bool relocate);
2008-01-02 19:36:36 -05:00
typedef void (*CODE_HEAP_ITERATOR)(F_CODE_BLOCK *compiled);
2007-09-20 18:09:08 -04:00
void iterate_code_heap(CODE_HEAP_ITERATOR iter);
void copy_code_heap_roots(void);
2007-09-20 18:09:08 -04:00
void primitive_modify_code_heap(void);
2009-01-24 18:42:28 -05:00
void primitive_code_room(void);
2009-01-24 18:42:28 -05:00
void compact_code_heap(void);
2009-04-29 00:05:18 -04:00
INLINE void check_code_pointer(CELL pointer)
{
#ifdef FACTOR_DEBUG
assert(pointer >= code_heap.segment->start && pointer < code_heap.segment->end);
#endif
}