general_error(ERROR_MEMORY, from_unsigned_cell(addr), false_object);
}
-/* Allocates memory */
-void factor_vm::signal_error(cell signal) {
- general_error(ERROR_SIGNAL, from_unsigned_cell(signal), false_object);
-}
-
/* Allocates memory */
void factor_vm::divide_by_zero_error() {
general_error(ERROR_DIVIDE_BY_ZERO, false_object, false_object);
}
-/* Allocates memory */
-void factor_vm::fp_trap_error(unsigned int fpu_status) {
- general_error(ERROR_FP_TRAP, tag_fixnum(fpu_status), false_object);
-}
-
/* For testing purposes */
/* Allocates memory */
void factor_vm::primitive_unimplemented() { not_implemented_error(); }
/* Allocates memory */
void factor_vm::synchronous_signal_handler_impl() {
- signal_error(signal_number);
+ general_error(ERROR_SIGNAL, from_unsigned_cell(signal_number), false_object);
}
/* Allocates memory */
/* Clear pending exceptions to avoid getting stuck in a loop */
set_fpu_state(get_fpu_state());
- fp_trap_error(signal_fpu_status);
+ general_error(ERROR_FP_TRAP, tag_fixnum(signal_fpu_status), false_object);
}
/* Allocates memory */
void not_implemented_error();
void verify_memory_protection_error(cell addr);
void memory_protection_error(cell pc, cell addr);
- void signal_error(cell signal);
void divide_by_zero_error();
- void fp_trap_error(unsigned int fpu_status);
void primitive_unimplemented();
void memory_signal_handler_impl();
void synchronous_signal_handler_impl();