Save expression register when merging compiled code stack blocks.
authorChris Hanson <org/chris-hanson/cph>
Mon, 22 Jun 1987 19:59:38 +0000 (19:59 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 22 Jun 1987 19:59:38 +0000 (19:59 +0000)
v7/src/microcode/interp.c
v8/src/microcode/interp.c

index d5ebf9f34bda8d920bbac28eeb6e0350f8ddbb85..23d6042a9eabefd52edf52979c67055feda8c607 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.28 1987/06/19 15:53:44 jinx Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.29 1987/06/22 19:59:38 cph Exp $
  *
  * This file contains the heart of the Scheme Scode
  * interpreter
@@ -491,11 +491,16 @@ Eval_Non_Trapping:
       Do_Nth_Then(RC_CONDITIONAL_DECIDE, COND_PREDICATE, Pushed());
 
     case TC_COMPILED_EXPRESSION:
-      execute_compiled_setup();
-      Store_Expression( (Pointer) Get_Pointer( Fetch_Expression()));
-      Export_Registers();
-      Which_Way = enter_compiled_expression();
-      goto return_from_compiled_code;
+      {
+       Pointer compiled_expression;
+
+       compiled_expression = (Fetch_Expression ());
+       execute_compiled_setup();
+       Store_Expression ((Pointer) (Get_Pointer (compiled_expression)));
+       Export_Registers();
+       Which_Way = enter_compiled_expression();
+       goto return_from_compiled_code;
+      }
 
 /* Interpret() continues on the next page */
 \f
index 2ef351fbbab0ebb0b1d819c5670e7685bcc15ab9..355ef58fea2640db9c098e67fa0a9131ca78866e 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.28 1987/06/19 15:53:44 jinx Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.29 1987/06/22 19:59:38 cph Exp $
  *
  * This file contains the heart of the Scheme Scode
  * interpreter
@@ -491,11 +491,16 @@ Eval_Non_Trapping:
       Do_Nth_Then(RC_CONDITIONAL_DECIDE, COND_PREDICATE, Pushed());
 
     case TC_COMPILED_EXPRESSION:
-      execute_compiled_setup();
-      Store_Expression( (Pointer) Get_Pointer( Fetch_Expression()));
-      Export_Registers();
-      Which_Way = enter_compiled_expression();
-      goto return_from_compiled_code;
+      {
+       Pointer compiled_expression;
+
+       compiled_expression = (Fetch_Expression ());
+       execute_compiled_setup();
+       Store_Expression ((Pointer) (Get_Pointer (compiled_expression)));
+       Export_Registers();
+       Which_Way = enter_compiled_expression();
+       goto return_from_compiled_code;
+      }
 
 /* Interpret() continues on the next page */
 \f