5 void factor_vm::dispatch_signal_handler(cell* sp, cell* pc, cell newpc) {
7 // bool in_code_seg = code->seg->in_segment_p(*pc);
8 // cell cs_limit = ctx->callstack_seg->start + stack_reserved;
9 // signal_resumable = in_code_seg && *sp >= cs_limit;
11 // if (signal_resumable) {
12 // dispatch_resumable_signal(sp, pc, handler);
14 // dispatch_non_resumable_signal(sp, pc, handler, cs_limit);
17 // Poking with the stack pointer, which the above code does, means
18 // that pointers to stack-allocated objects will become
19 // corrupted. Therefore the root vectors needs to be cleared because
20 // their pointers to stack variables are now garbage.