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);
 |