]> gitweb.factorcode.org Git - factor.git/blob - vm/errors.hpp
xmode.marker: more correct faster update-match-group
[factor.git] / vm / errors.hpp
1 namespace factor {
2
3 // Runtime errors must be kept in sync with:
4 //   basis/debugger/debugger.factor
5 //   core/kernel/kernel.factor
6 #define KERNEL_ERROR 0xfac7
7
8 enum vm_error_type {
9   ERROR_EXPIRED = 0,
10   ERROR_IO,
11   ERROR_UNUSED,
12   ERROR_TYPE,
13   ERROR_DIVIDE_BY_ZERO,
14   ERROR_SIGNAL,
15   ERROR_ARRAY_SIZE,
16   ERROR_OUT_OF_FIXNUM_RANGE,
17   ERROR_FFI,
18   ERROR_UNDEFINED_SYMBOL,
19   ERROR_DATASTACK_UNDERFLOW,
20   ERROR_DATASTACK_OVERFLOW,
21   ERROR_RETAINSTACK_UNDERFLOW,
22   ERROR_RETAINSTACK_OVERFLOW,
23   ERROR_CALLSTACK_UNDERFLOW,
24   ERROR_CALLSTACK_OVERFLOW,
25   ERROR_MEMORY,
26   ERROR_FP_TRAP,
27   ERROR_INTERRUPT,
28   ERROR_CALLBACK_SPACE_OVERFLOW
29 };
30
31 void fatal_error(const char* msg, cell tagged);
32 void critical_error(const char* msg, cell tagged);
33 void memory_signal_handler_impl();
34 void fp_signal_handler_impl();
35 void synchronous_signal_handler_impl();
36
37 }