35 lines
694 B
C
Executable File
35 lines
694 B
C
Executable File
/* compiled code */
|
|
F_HEAP code_heap;
|
|
|
|
INLINE F_BLOCK *compiled_to_block(F_CODE_BLOCK *compiled)
|
|
{
|
|
return (F_BLOCK *)compiled - 1;
|
|
}
|
|
|
|
INLINE F_CODE_BLOCK *block_to_compiled(F_BLOCK *block)
|
|
{
|
|
return (F_CODE_BLOCK *)(block + 1);
|
|
}
|
|
|
|
void init_code_heap(CELL size);
|
|
|
|
bool in_code_heap_p(CELL ptr);
|
|
|
|
void default_word_code(F_WORD *word, bool relocate);
|
|
|
|
void set_word_code(F_WORD *word, F_CODE_BLOCK *compiled);
|
|
|
|
typedef void (*CODE_HEAP_ITERATOR)(F_CODE_BLOCK *compiled);
|
|
|
|
void iterate_code_heap(CODE_HEAP_ITERATOR iter);
|
|
|
|
void copy_code_heap_roots(void);
|
|
|
|
void update_code_heap_roots(void);
|
|
|
|
void primitive_modify_code_heap(void);
|
|
|
|
void primitive_code_room(void);
|
|
|
|
void compact_code_heap(void);
|