38 lines
		
	
	
		
			844 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			844 B
		
	
	
	
		
			C++
		
	
	
| namespace factor {
 | |
| 
 | |
| // Runtime errors must be kept in sync with:
 | |
| //   basis/debugger/debugger.factor
 | |
| //   core/kernel/kernel.factor
 | |
| #define KERNEL_ERROR 0xfac7
 | |
| 
 | |
| enum vm_error_type {
 | |
|   ERROR_EXPIRED = 0,
 | |
|   ERROR_IO,
 | |
|   ERROR_UNUSED,
 | |
|   ERROR_TYPE,
 | |
|   ERROR_DIVIDE_BY_ZERO,
 | |
|   ERROR_SIGNAL,
 | |
|   ERROR_ARRAY_SIZE,
 | |
|   ERROR_OUT_OF_FIXNUM_RANGE,
 | |
|   ERROR_FFI,
 | |
|   ERROR_UNDEFINED_SYMBOL,
 | |
|   ERROR_DATASTACK_UNDERFLOW,
 | |
|   ERROR_DATASTACK_OVERFLOW,
 | |
|   ERROR_RETAINSTACK_UNDERFLOW,
 | |
|   ERROR_RETAINSTACK_OVERFLOW,
 | |
|   ERROR_CALLSTACK_UNDERFLOW,
 | |
|   ERROR_CALLSTACK_OVERFLOW,
 | |
|   ERROR_MEMORY,
 | |
|   ERROR_FP_TRAP,
 | |
|   ERROR_INTERRUPT,
 | |
|   ERROR_CALLBACK_SPACE_OVERFLOW
 | |
| };
 | |
| 
 | |
| void fatal_error(const char* msg, cell tagged);
 | |
| void critical_error(const char* msg, cell tagged);
 | |
| void memory_signal_handler_impl();
 | |
| void fp_signal_handler_impl();
 | |
| void synchronous_signal_handler_impl();
 | |
| 
 | |
| }
 |