230 |
contregs->base = stack_start; |
contregs->base = stack_start; |
231 |
contregs->seq = ++n_dynamic_roots; |
contregs->seq = ++n_dynamic_roots; |
232 |
contregs->throw_value = SCM_BOOL_F; |
contregs->throw_value = SCM_BOOL_F; |
|
#ifdef DEBUG_EXTENSIONS |
|
233 |
contregs->dframe = 0; |
contregs->dframe = 0; |
|
#endif |
|
234 |
SCM_NEWSMOB (new_rootcont, scm_tc16_continuation, contregs); |
SCM_NEWSMOB (new_rootcont, scm_tc16_continuation, contregs); |
235 |
} |
} |
236 |
old_rootcont = scm_rootcont; |
old_rootcont = scm_rootcont; |
242 |
*/ |
*/ |
243 |
old_winds = scm_dynwinds; |
old_winds = scm_dynwinds; |
244 |
scm_dowinds (SCM_EOL, scm_ilength (scm_dynwinds)); |
scm_dowinds (SCM_EOL, scm_ilength (scm_dynwinds)); |
|
#ifdef DEBUG_EXTENSIONS |
|
245 |
SCM_DFRAME (old_rootcont) = scm_last_debug_frame; |
SCM_DFRAME (old_rootcont) = scm_last_debug_frame; |
246 |
scm_last_debug_frame = 0; |
scm_last_debug_frame = 0; |
|
#endif |
|
247 |
|
|
248 |
{ |
{ |
249 |
my_handler_data.run_handler = 0; |
my_handler_data.run_handler = 0; |
254 |
|
|
255 |
scm_dowinds (old_winds, - scm_ilength (old_winds)); |
scm_dowinds (old_winds, - scm_ilength (old_winds)); |
256 |
SCM_REDEFER_INTS; |
SCM_REDEFER_INTS; |
|
#ifdef DEBUG_EXTENSIONS |
|
257 |
scm_last_debug_frame = SCM_DFRAME (old_rootcont); |
scm_last_debug_frame = SCM_DFRAME (old_rootcont); |
|
#endif |
|
258 |
scm_rootcont = old_rootcont; |
scm_rootcont = old_rootcont; |
259 |
SCM_REALLOW_INTS; |
SCM_REALLOW_INTS; |
260 |
|
|