Kick off 0.87 with better callstack underflow handling
parent
f8e2b1112a
commit
f67ee0f315
|
@ -38,7 +38,6 @@
|
|||
- allow rebinding styles
|
||||
- fix windows gcc issue
|
||||
- robustify stepper -- see if step back past a throw works
|
||||
- empty callstack: should throw an exception instead of being a critical error
|
||||
|
||||
+ ui:
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
IN: kernel
|
||||
: version "0.86" ;
|
||||
: version "0.87" ;
|
||||
|
|
|
@ -104,7 +104,5 @@ int main(int argc, char** argv)
|
|||
|
||||
run_toplevel();
|
||||
|
||||
critical_error("run_toplevel() returned due to empty callstack",0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
5
vm/run.c
5
vm/run.c
|
@ -69,8 +69,13 @@ void interpreter_loop(void)
|
|||
if(callframe_scan == callframe_end)
|
||||
{
|
||||
if(cs_bot - cs == CELLS)
|
||||
{
|
||||
if(stack_chain->next)
|
||||
return;
|
||||
|
||||
general_error(ERROR_CS_UNDERFLOW,F,F,false);
|
||||
}
|
||||
|
||||
callframe_end = get(cs);
|
||||
callframe_scan = get(cs - CELLS);
|
||||
callframe = get(cs - CELLS * 2);
|
||||
|
|
Loading…
Reference in New Issue