Make Entity application check for interrupts to avoid blowing machine
authorJoe Marshall <edu/mit/csail/zurich/jrm>
Wed, 23 Mar 1988 18:31:25 +0000 (18:31 +0000)
committerJoe Marshall <edu/mit/csail/zurich/jrm>
Wed, 23 Mar 1988 18:31:25 +0000 (18:31 +0000)
away in the case of an entity's procedure being that entity.
This will allow you to abort if you are quick enough, but no stack
check is currently being done, so errors here would probably blow
scheme away anyhow.

v7/src/microcode/interp.c
v8/src/microcode/interp.c

index f92f26f2ba27ca11d95b893238846baba956fbbd..0ce0040a5345954faa106fce879b0207737bf5c2 100644 (file)
@@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising,
 promotional, or sales literature without prior written consent from
 MIT in each case. */
 
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.41 1988/03/13 15:52:28 jinx Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.42 1988/03/23 18:31:25 jrm Exp $
  *
  * This file contains the heart of the Scheme Scode
  * interpreter
@@ -1379,7 +1379,7 @@ Perform_Application:
            Push(Fast_Vector_Ref(Function, ENTITY_OPERATOR));
            Push(nargs + 1);
            /* No interrupts, etc. */
-           goto Perform_Application;
+           goto Apply_Non_Trapping;
          }
 
 /* Interpret() continues on the next page */
index 3a69a8b73c7c96480406ec124ebf9a8243b0799a..c542948f86f9274a1c5c25787c8e75595eece4df 100644 (file)
@@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising,
 promotional, or sales literature without prior written consent from
 MIT in each case. */
 
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.41 1988/03/13 15:52:28 jinx Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.42 1988/03/23 18:31:25 jrm Exp $
  *
  * This file contains the heart of the Scheme Scode
  * interpreter
@@ -1379,7 +1379,7 @@ Perform_Application:
            Push(Fast_Vector_Ref(Function, ENTITY_OPERATOR));
            Push(nargs + 1);
            /* No interrupts, etc. */
-           goto Perform_Application;
+           goto Apply_Non_Trapping;
          }
 
 /* Interpret() continues on the next page */