From: Chris Hanson Date: Mon, 22 Jun 1987 19:59:38 +0000 (+0000) Subject: Save expression register when merging compiled code stack blocks. X-Git-Tag: 20090517-FFI~13341 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=f6a38eec4c6a52381f533c1778021e9ba566ac10;p=mit-scheme.git Save expression register when merging compiled code stack blocks. --- diff --git a/v7/src/microcode/interp.c b/v7/src/microcode/interp.c index d5ebf9f34..23d6042a9 100644 --- a/v7/src/microcode/interp.c +++ b/v7/src/microcode/interp.c @@ -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 */ diff --git a/v8/src/microcode/interp.c b/v8/src/microcode/interp.c index 2ef351fbb..355ef58fe 100644 --- a/v8/src/microcode/interp.c +++ b/v8/src/microcode/interp.c @@ -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 */