version 1.245, 2012/03/23 19:53:37
|
version 1.246, 2012/03/23 20:49:44
|
Line 139 int ufileattr[6]= {
|
Line 139 int ufileattr[6]= {
|
#endif |
#endif |
|
|
#ifdef MSDOS |
#ifdef MSDOS |
jmp_buf throw_jmp_buf; |
jmp_buf throw_jmp_handler; |
#endif |
#endif |
|
|
#if defined(DOUBLY_INDIRECT) |
#if defined(DOUBLY_INDIRECT) |
Line 710 int gforth_go(void *image, int stack, Ce
|
Line 710 int gforth_go(void *image, int stack, Ce
|
Xt *ip0=(Xt *)(image_header->boot_entry); |
Xt *ip0=(Xt *)(image_header->boot_entry); |
#ifdef SYSSIGNALS |
#ifdef SYSSIGNALS |
int throw_code; |
int throw_code; |
|
jmp_buf throw_jmp_buf; |
#endif |
#endif |
|
|
/* ensure that the cached elements (if any) are accessible */ |
/* ensure that the cached elements (if any) are accessible */ |
Line 726 int gforth_go(void *image, int stack, Ce
|
Line 727 int gforth_go(void *image, int stack, Ce
|
|
|
install_signal_handlers(); /* right place? */ |
install_signal_handlers(); /* right place? */ |
|
|
debugp(stderr, "setjmp(%lx)\n", throw_jmp_buf); |
throw_jmp_handler = &throw_jmp_buf; |
if ((throw_code=setjmp(throw_jmp_buf))) { |
|
|
debugp(stderr, "setjmp(%lx)\n", *throw_jmp_handler); |
|
if ((throw_code=setjmp(*throw_jmp_handler))) { |
static Cell signal_data_stack[24]; |
static Cell signal_data_stack[24]; |
static Cell signal_return_stack[16]; |
static Cell signal_return_stack[16]; |
static Float signal_fp_stack[1]; |
static Float signal_fp_stack[1]; |
Line 2326 void* gforth_pointers(Cell n)
|
Line 2329 void* gforth_pointers(Cell n)
|
case 6: return (void*)&cstr; |
case 6: return (void*)&cstr; |
case 7: return (void*)&tilde_cstr; |
case 7: return (void*)&tilde_cstr; |
#endif |
#endif |
case 8: return (void*)&throw_jmp_buf; |
case 8: return (void*)&throw_jmp_handler; |
default: return NULL; |
default: return NULL; |
} |
} |
} |
} |