[OpenBIOS] [commit] r910 - trunk/openbios-devel/forth/system

repository service svn at openbios.org
Sun Oct 17 00:21:51 CEST 2010


Author: mcayland
Date: Sun Oct 17 00:21:51 2010
New Revision: 910
URL: http://tracker.coreboot.org/trac/openbios/changeset/910

Log:
Force any errors in the CIF interpret word to reset the Forth engine back to the Forth interpret state.

This fixes various errors being caused by previous calls to CIF interpret throwing exceptions whilst in the Forth compile 
state. Without this fix, subsequent calls to CIF interpret could be executed erroneusly in Forth compile state rather than the 
Forth interpret state causing hard-to-detect Forth errors.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>

Modified:
   trunk/openbios-devel/forth/system/ciface.fs

Modified: trunk/openbios-devel/forth/system/ciface.fs
==============================================================================
--- trunk/openbios-devel/forth/system/ciface.fs	Sat Oct 16 19:36:22 2010	(r909)
+++ trunk/openbios-devel/forth/system/ciface.fs	Sun Oct 17 00:21:51 2010	(r910)
@@ -273,6 +273,10 @@
   ['] evaluate catch dup if
     \ this is not necessary an error...
     ." interpret: exception " dup . ." caught" cr
+
+    \ Force back to interpret state on error, otherwise the next call to
+    \ interpret gets confused if the error occurred in compile mode
+    0 state !
   then
   \ ." --- " cr
 ;



More information about the OpenBIOS mailing list