]> gitweb.factorcode.org Git - factor.git/blob - vm/errors.hpp
vm: handle async signals at safepoints on unix
[factor.git] / vm / errors.hpp
1 namespace factor
2 {
3
4 /* Runtime errors */
5 enum vm_error_type
6 {
7         ERROR_EXPIRED = 0,
8         ERROR_IO,
9         ERROR_NOT_IMPLEMENTED,
10         ERROR_TYPE,
11         ERROR_DIVIDE_BY_ZERO,
12         ERROR_SIGNAL,
13         ERROR_ARRAY_SIZE,
14         ERROR_C_STRING,
15         ERROR_FFI,
16         ERROR_UNDEFINED_SYMBOL,
17         ERROR_DATASTACK_UNDERFLOW,
18         ERROR_DATASTACK_OVERFLOW,
19         ERROR_RETAINSTACK_UNDERFLOW,
20         ERROR_RETAINSTACK_OVERFLOW,
21         ERROR_CALLSTACK_UNDERFLOW,
22         ERROR_CALLSTACK_OVERFLOW,
23         ERROR_MEMORY,
24         ERROR_FP_TRAP,
25 };
26
27 void fatal_error(const char *msg, cell tagged);
28 void critical_error(const char *msg, cell tagged);
29 void out_of_memory();
30 void memory_signal_handler_impl();
31 void fp_signal_handler_impl();
32 void synchronous_signal_handler_impl();
33
34 }