From 848bfee945713748b260a36d72e44bd42ed30832 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 2 Jul 2002 18:39:33 +0000 Subject: [PATCH] Eliminate references to Stack_Pointer. --- v7/src/microcode/bchmmg.c | 15 ++++++++------- v7/src/microcode/bkpt.c | 19 ++++++++++--------- v7/src/microcode/boot.c | 6 +++--- v7/src/microcode/cmpint.c | 26 +++++++++++++------------- v7/src/microcode/cmpint.h | 19 ++++++++++--------- v7/src/microcode/debug.c | 22 +++++++++------------- v7/src/microcode/default.h | 13 +++++++------ v7/src/microcode/fasload.c | 8 ++++---- v7/src/microcode/hooks.c | 16 ++++++++-------- v7/src/microcode/interp.h | 3 +-- v7/src/microcode/liarc.h | 10 +++++----- v7/src/microcode/memmag.c | 12 ++++++------ v7/src/microcode/nttrap.c | 32 ++++++++++++++++---------------- v7/src/microcode/os2xcpt.c | 8 ++++---- v7/src/microcode/sdata.h | 6 +++--- v7/src/microcode/stack.h | 24 ++++++++++++------------ v7/src/microcode/step.c | 9 +++++---- v7/src/microcode/sysprim.c | 9 +++++---- v7/src/microcode/utils.c | 20 ++++++++++---------- v7/src/microcode/uxtrap.c | 16 ++++++++-------- v7/src/microcode/xdebug.c | 9 +++++---- 21 files changed, 152 insertions(+), 150 deletions(-) diff --git a/v7/src/microcode/bchmmg.c b/v7/src/microcode/bchmmg.c index 85b789c75..f8259e128 100644 --- a/v7/src/microcode/bchmmg.c +++ b/v7/src/microcode/bchmmg.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: bchmmg.c,v 9.98 2000/12/05 21:34:56 cph Exp $ +$Id: bchmmg.c,v 9.99 2002/07/02 18:37:33 cph Exp $ -Copyright (c) 1987-2000 Massachusetts Institute of Technology +Copyright (c) 1987-2000, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* Memory management top level. Garbage collection to disk. */ @@ -3160,7 +3161,7 @@ void DEFUN (initialize_weak_pair_transport, (limit), SCHEME_OBJECT * limit) { Weak_Chain = EMPTY_WEAK_CHAIN; - weak_pair_stack_ptr = Stack_Pointer; + weak_pair_stack_ptr = sp_register; weak_pair_stack_limit = (limit + 1); /* in case it's odd */ return; } @@ -3173,7 +3174,7 @@ DEFUN (fix_weak_chain_1, (low_heap), SCHEME_OBJECT * low_heap) chain = Weak_Chain; initialize_new_space_buffer (chain, low_heap); - limit = Stack_Pointer; + limit = sp_register; for (ptr = weak_pair_stack_ptr; ptr < limit ; ptr += 2) *ptr = (update_weak_pointer (*ptr, low_heap)); @@ -3196,9 +3197,9 @@ DEFUN (fix_weak_chain_1, (low_heap), SCHEME_OBJECT * low_heap) void DEFUN_VOID (fix_weak_chain_2) { - fast SCHEME_OBJECT * ptr, * limit, new_car, * addr; + SCHEME_OBJECT * ptr, * limit, new_car, * addr; - limit = Stack_Pointer; + limit = sp_register; for (ptr = weak_pair_stack_ptr; ptr < limit ; ) { new_car = *ptr++; diff --git a/v7/src/microcode/bkpt.c b/v7/src/microcode/bkpt.c index abbb8572a..894612ff0 100644 --- a/v7/src/microcode/bkpt.c +++ b/v7/src/microcode/bkpt.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: bkpt.c,v 9.30 1999/01/02 06:11:34 cph Exp $ +$Id: bkpt.c,v 9.31 2002/07/02 18:37:39 cph Exp $ -Copyright (c) 1987-1999 Massachusetts Institute of Technology +Copyright (c) 1987-1999, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* This file contains breakpoint utilities. @@ -64,20 +65,20 @@ extern Boolean EXFUN (Print_One_Continuation_Frame, (SCHEME_OBJECT)); void DEFUN_VOID (Handle_Pop_Return_Break) { - SCHEME_OBJECT *Old_Stack = Stack_Pointer; + SCHEME_OBJECT *Old_Stack = sp_register; - printf ("Pop Return Break: SP = 0x%lx\n", ((long) Stack_Pointer)); + printf ("Pop Return Break: SP = 0x%lx\n", ((long) sp_register)); (void) (Print_One_Continuation_Frame (Return)); - Stack_Pointer = Old_Stack; + sp_register = Old_Stack; return; } void DEFUN_VOID (Pop_Return_Break_Point) { - fast SCHEME_OBJECT *SP = Stack_Pointer; - fast sp_record_list previous = &One_Before; - fast sp_record_list this = previous->next; /* = SP_List */ + SCHEME_OBJECT * SP = sp_register; + sp_record_list previous = &One_Before; + sp_record_list this = previous->next; /* = SP_List */ for ( ; this != sp_nil; diff --git a/v7/src/microcode/boot.c b/v7/src/microcode/boot.c index 4d493e768..72c8210fb 100644 --- a/v7/src/microcode/boot.c +++ b/v7/src/microcode/boot.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: boot.c,v 9.105 2001/07/31 03:10:57 cph Exp $ +$Id: boot.c,v 9.106 2002/07/02 18:37:45 cph Exp $ -Copyright (c) 1988-2001 Massachusetts Institute of Technology +Copyright (c) 1988-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -472,7 +472,7 @@ DEFUN (Start_Scheme, (Start_Prim, File_Name), Store_Expression (expr); /* Go to it! */ - if ((Stack_Pointer <= Stack_Guard) || (Free > MemTop)) + if ((sp_register <= Stack_Guard) || (Free > MemTop)) { outf_fatal ("Configuration won't hold initial data.\n"); termination_init_error (); diff --git a/v7/src/microcode/cmpint.c b/v7/src/microcode/cmpint.c index d0b620645..f496cae93 100644 --- a/v7/src/microcode/cmpint.c +++ b/v7/src/microcode/cmpint.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: cmpint.c,v 1.95 2001/12/16 06:01:32 cph Exp $ +$Id: cmpint.c,v 1.96 2002/07/02 18:37:52 cph Exp $ -Copyright (c) 1989-2001 Massachusetts Institute of Technology +Copyright (c) 1989-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -398,7 +398,7 @@ DEFUN (open_gap, gap_location = STACK_LOC (delta); source_location = STACK_LOC (0); - Stack_Pointer = gap_location; + sp_register = gap_location; while ((--nactuals) > 0) { STACK_LOCATIVE_POP (gap_location) = STACK_LOCATIVE_POP (source_location); @@ -515,7 +515,7 @@ DEFUN (setup_lexpr_invocation, (STACK_LOCATIVE_PUSH (gap_location)) = (STACK_LOCATIVE_PUSH (source_location)); } - Stack_Pointer = gap_location; + sp_register = gap_location; return (PRIM_DONE); } } @@ -684,7 +684,7 @@ DEFUN (apply_compiled_from_primitive, (arity), int arity) if (result == PRIM_DONE) { STACK_PUSH (procedure); - Stack_Pointer = (STACK_LOC (- arity)); + sp_register = (STACK_LOC (- arity)); return (SHARP_F); } else @@ -703,7 +703,7 @@ defer_application: STACK_PUSH (FIXNUM_ZERO + REFLECT_CODE_INTERNAL_APPLY); STACK_PUSH (reflect_to_interface); - Stack_Pointer = (STACK_LOC (- arity)); + sp_register = (STACK_LOC (- arity)); return (SHARP_F); } @@ -732,7 +732,7 @@ DEFUN (compiled_with_interrupt_mask, (old_mask, receiver, new_mask), STACK_PUSH (reflect_to_interface); } - Stack_Pointer = (STACK_LOC (- 2)); + sp_register = (STACK_LOC (- 2)); return (SHARP_F); } @@ -756,7 +756,7 @@ DEFUN (compiled_with_stack_marker, (thunk), SCHEME_OBJECT thunk) STACK_PUSH (reflect_to_interface); } - Stack_Pointer = (STACK_LOC (- 3)); + sp_register = (STACK_LOC (- 3)); return (SHARP_F); } @@ -1473,7 +1473,7 @@ DEFUN_VOID (comp_op_lookup_trap_restart) /* Discard name, env. and nargs */ - Stack_Pointer = (STACK_LOC (3)); + sp_register = (STACK_LOC (3)); old_trampoline = (OBJECT_ADDRESS (STACK_POP ())); code_block = ((TRAMPOLINE_STORAGE (old_trampoline))[1]); offset = (OBJECT_DATUM ((TRAMPOLINE_STORAGE (old_trampoline))[2])); @@ -1668,7 +1668,7 @@ DEFNX (comutil_operator_4_0_trap, { \ if (Free >= MemTop) \ Request_GC (Free - MemTop); \ - if (Stack_Pointer <= Stack_Guard) \ + if (sp_register <= Stack_Guard) \ REQUEST_INTERRUPT (INT_Stack_Overflow); \ } @@ -2911,7 +2911,7 @@ DEFUN (bkpt_proceed, (ep, handle, state), STACK_PUSH (FIXNUM_ZERO + REFLECT_CODE_CC_BKPT); STACK_PUSH (reflect_to_interface); - Stack_Pointer = (STACK_LOC (- BKPT_PROCEED_FRAME_SIZE)); + sp_register = (STACK_LOC (- BKPT_PROCEED_FRAME_SIZE)); return (SHARP_F); } #endif /* HAVE_BKPT_SUPPORT */ @@ -2954,7 +2954,7 @@ DEFNX (comutil_compiled_code_bkpt, else state = Val; - stack_ptr = (MAKE_POINTER_OBJECT (TC_STACK_ENVIRONMENT, Stack_Pointer)); + stack_ptr = (MAKE_POINTER_OBJECT (TC_STACK_ENVIRONMENT, sp_register)); STACK_PUSH (state); /* state to preserve */ STACK_PUSH (stack_ptr); /* "Environment" pointer */ STACK_PUSH (entry_point); /* argument to handler */ @@ -2975,7 +2975,7 @@ DEFNX (comutil_compiled_closure_bkpt, STACK_PUSH (entry_point); /* return address */ - stack_ptr = (MAKE_POINTER_OBJECT (TC_STACK_ENVIRONMENT, Stack_Pointer)); + stack_ptr = (MAKE_POINTER_OBJECT (TC_STACK_ENVIRONMENT, sp_register)); STACK_PUSH (SHARP_F); /* state to preserve */ STACK_PUSH (stack_ptr); /* "Environment" pointer */ STACK_PUSH (entry_point); /* argument to handler */ diff --git a/v7/src/microcode/cmpint.h b/v7/src/microcode/cmpint.h index 8ddedd979..c6ac3fbd8 100644 --- a/v7/src/microcode/cmpint.h +++ b/v7/src/microcode/cmpint.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: cmpint.h,v 10.7 2000/12/05 21:23:43 cph Exp $ +$Id: cmpint.h,v 10.8 2002/07/02 18:37:58 cph Exp $ -Copyright (c) 1987-1990, 1999, 2000 Massachusetts Institute of Technology +Copyright (c) 1987-1990, 1999, 2000, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* Macros for the interface between compiled code and interpreted code. */ @@ -30,13 +31,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #define With_Stack_Gap(Gap_Size, Gap_Position, Code) \ { \ - fast long size_to_move = (Gap_Position); \ - fast SCHEME_OBJECT * Destination = (STACK_LOC (- (Gap_Size))); \ + long size_to_move = (Gap_Position); \ + SCHEME_OBJECT * Destination = (STACK_LOC (- (Gap_Size))); \ SCHEME_OBJECT * Saved_Destination = Destination; \ while ((--size_to_move) >= 0) \ (STACK_LOCATIVE_POP (Destination)) = (STACK_POP ()); \ Code; \ - Stack_Pointer = Saved_Destination; \ + sp_register = Saved_Destination; \ } /* Close_Stack_Gap closes a gap Gap_Size wide Gap_Position cells above the @@ -45,12 +46,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #define Close_Stack_Gap(Gap_Size, Gap_Position, extra_code) \ { \ - fast long size_to_move; \ - fast SCHEME_OBJECT *Source; \ + long size_to_move; \ + SCHEME_OBJECT *Source; \ \ size_to_move = (Gap_Position); \ Source = (STACK_LOC (size_to_move)); \ - Stack_Pointer = (STACK_LOC ((Gap_Size) + size_to_move)); \ + sp_register = (STACK_LOC ((Gap_Size) + size_to_move)); \ extra_code; \ while (--size_to_move >= 0) \ { \ diff --git a/v7/src/microcode/debug.c b/v7/src/microcode/debug.c index 7ad67ab7c..306b2613d 100644 --- a/v7/src/microcode/debug.c +++ b/v7/src/microcode/debug.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: debug.c,v 9.53 2001/07/31 03:11:17 cph Exp $ +$Id: debug.c,v 9.54 2002/07/02 18:38:03 cph Exp $ -Copyright (c) 1987-2001 Massachusetts Institute of Technology +Copyright (c) 1987-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -706,7 +706,7 @@ DEFUN (print_one_continuation_frame, (stream, Temp), ((OBJECT_DATUM (Temp)) == RC_HALT)) return (true); if ((OBJECT_DATUM (Temp)) == RC_JOIN_STACKLETS) - Stack_Pointer = (Previous_Stack_Pointer (Expr)); + sp_register = (Previous_Stack_Pointer (Expr)); return (false); } @@ -728,7 +728,7 @@ DEFUN (Back_Trace, (stream), outf_channel stream) SCHEME_OBJECT Temp, * Old_Stack; Back_Trace_Entry_Hook(); - Old_Stack = Stack_Pointer; + Old_Stack = sp_register; while (true) { if ((STACK_LOCATIVE_DIFFERENCE (Stack_Top, (STACK_LOC (0)))) <= 0) @@ -768,28 +768,24 @@ DEFUN (Back_Trace, (stream), outf_channel stream) print_expression (stream, Temp, " ..."); if ((OBJECT_TYPE (Temp)) == TC_MANIFEST_NM_VECTOR) { - Stack_Pointer = (STACK_LOC (- ((long) (OBJECT_DATUM (Temp))))); + sp_register = (STACK_LOC (- ((long) (OBJECT_DATUM (Temp))))); outf (stream, " (skipping)"); } outf (stream, "\n"); } } - Stack_Pointer = Old_Stack; + sp_register = Old_Stack; Back_Trace_Exit_Hook(); outf_flush (stream); - return; } void DEFUN (print_stack, (sp), SCHEME_OBJECT * sp) { - SCHEME_OBJECT * saved_sp; - - saved_sp = Stack_Pointer; - Stack_Pointer = sp; + SCHEME_OBJECT * saved_sp = sp_register; + sp_register = sp; Back_Trace (console_output); - Stack_Pointer = saved_sp; - return; + sp_register = saved_sp; } extern void diff --git a/v7/src/microcode/default.h b/v7/src/microcode/default.h index 8992ed24b..d86d683ac 100644 --- a/v7/src/microcode/default.h +++ b/v7/src/microcode/default.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: default.h,v 9.44 2000/12/05 21:23:44 cph Exp $ +$Id: default.h,v 9.45 2002/07/02 18:38:11 cph Exp $ -Copyright (c) 1988-2000 Massachusetts Institute of Technology +Copyright (c) 1988-2000, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* This file contains default definitions for some hooks which @@ -67,7 +68,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #ifndef INITIALIZE_STACK #define INITIALIZE_STACK() do \ { \ - Stack_Pointer = Stack_Top; \ + sp_register = Stack_Top; \ SET_STACK_GUARD (Stack_Bottom + STACK_GUARD_SIZE); \ * Stack_Bottom \ = (MAKE_POINTER_OBJECT (TC_BROKEN_HEART, Stack_Bottom)); \ @@ -107,11 +108,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #endif #ifndef CONSTANT_AREA_END -#define CONSTANT_AREA_END() Free_Constant +#define CONSTANT_AREA_END() Free_Constant #endif #ifndef CONSTANT_AREA_START -#define CONSTANT_AREA_START() Stack_Pointer +#define CONSTANT_AREA_START() sp_register #endif /* CONSTANT_AREA_START */ #ifndef SEAL_CONSTANT_SPACE diff --git a/v7/src/microcode/fasload.c b/v7/src/microcode/fasload.c index 93f200ce8..da19c24c0 100644 --- a/v7/src/microcode/fasload.c +++ b/v7/src/microcode/fasload.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: fasload.c,v 9.91 2001/12/16 06:01:32 cph Exp $ +$Id: fasload.c,v 9.92 2002/07/02 18:38:16 cph Exp $ -Copyright (c) 1987-2001 Massachusetts Institute of Technology +Copyright (c) 1987-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -936,7 +936,7 @@ DEFUN (abort_band_load, (ap), PTR ap) Free_Constant = mp->free_constant; Constant_Space = mp->constant_space; Constant_Top = mp->constant_top; - Stack_Pointer = mp->stack_pointer; + sp_register = mp->stack_pointer; Stack_Bottom = mp->stack_bottom; Stack_Top = mp->stack_top; Stack_Guard = mp->stack_guard; @@ -1003,7 +1003,7 @@ DEFINE_PRIMITIVE ("LOAD-BAND", Prim_band_load, 1, 1, 0) mp->free_constant = Free_Constant; mp->constant_space = Constant_Space; mp->constant_top = Constant_Top; - mp->stack_pointer = Stack_Pointer; + mp->stack_pointer = sp_register; mp->stack_bottom = Stack_Bottom; mp->stack_top = Stack_Top; mp->stack_guard = Stack_Guard; diff --git a/v7/src/microcode/hooks.c b/v7/src/microcode/hooks.c index da60169a0..0015bf200 100644 --- a/v7/src/microcode/hooks.c +++ b/v7/src/microcode/hooks.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: hooks.c,v 9.60 2001/07/31 03:11:31 cph Exp $ +$Id: hooks.c,v 9.61 2002/07/02 18:38:22 cph Exp $ -Copyright (c) 1988-2001 Massachusetts Institute of Technology +Copyright (c) 1988-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -99,7 +99,7 @@ Invoke PROCEDURE on the arguments contained in list-of-ARGS.") #else /* Don't use Will_Push for this -- if the length of the list is too large to fit on the stack, it could cause Scheme to terminate. */ - if ((Stack_Pointer - (number_of_args + STACK_ENV_EXTRA_SLOTS + 1)) + if ((sp_register - (number_of_args + STACK_ENV_EXTRA_SLOTS + 1)) <= Stack_Guard) error_bad_range_arg (2); POP_PRIMITIVE_FRAME (2); @@ -127,7 +127,7 @@ Invoke PROCEDURE on the arguments contained in list-of-ARGS.") TOUCH_IN_PRIMITIVE ((PAIR_CDR (scan_list)), scan_list); } } - Stack_Pointer = (STACK_LOC (- number_of_args)); + sp_register = (STACK_LOC (- number_of_args)); STACK_PUSH (procedure); STACK_PUSH (STACK_FRAME_HEADER + number_of_args); #ifdef USE_STACKLETS @@ -166,7 +166,7 @@ Invoke PROCEDURE on the arguments contained in list-of-ARGS.") #else /* not USE_STACKLETS */ #define CWCC_STACK_SIZE() \ - ((Stack_Top - Stack_Pointer) + STACKLET_HEADER_SIZE \ + ((Stack_Top - sp_register) + STACKLET_HEADER_SIZE \ + CONTINUATION_SIZE + HISTORY_SIZE) /* When there are no stacklets, the two versions of CWCC are identical. */ @@ -272,7 +272,7 @@ DEFUN (CWCC, (return_code, reuse_flag, receiver), } #else /* not USE_STACKLETS */ { - fast long n_words = (Stack_Top - Stack_Pointer); + fast long n_words = (Stack_Top - sp_register); control_point = (allocate_marked_vector (TC_CONTROL_POINT, (n_words + (STACKLET_HEADER_SIZE - 1)), @@ -287,7 +287,7 @@ DEFUN (CWCC, (return_code, reuse_flag, receiver), while ((n_words--) > 0) (*scan++) = (STACK_POP ()); } - if (Consistency_Check && (Stack_Pointer != Stack_Top)) + if (Consistency_Check && (sp_register != Stack_Top)) Microcode_Termination (TERM_BAD_STACK); CLEAR_INTERRUPT (INT_Stack_Overflow); STACK_RESET (); @@ -373,7 +373,7 @@ Invoke THUNK with CONTROL-POINT as its control stack.") thunk = (ARG_REF (2)); /* This KNOWS the direction of stack growth. */ - Stack_Pointer = (Get_End_Of_Stacklet ()); + sp_register = (Get_End_Of_Stacklet ()); /* We've discarded the history with the stack contents. */ Prev_Restore_History_Stacklet = NULL; Prev_Restore_History_Offset = 0; diff --git a/v7/src/microcode/interp.h b/v7/src/microcode/interp.h index 0b4400aeb..4872334f3 100644 --- a/v7/src/microcode/interp.h +++ b/v7/src/microcode/interp.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: interp.h,v 9.43 2002/07/02 18:15:18 cph Exp $ +$Id: interp.h,v 9.44 2002/07/02 18:38:28 cph Exp $ Copyright (c) 1987-1999, 2002 Massachusetts Institute of Technology @@ -26,7 +26,6 @@ extern void EXFUN (abort_to_interpreter, (int argument)); extern int EXFUN (abort_to_interpreter_argument, (void)); #define Regs Registers -#define Stack_Pointer sp_register #define History history_register #define Env (Registers[REGBLOCK_ENV]) diff --git a/v7/src/microcode/liarc.h b/v7/src/microcode/liarc.h index dc454924e..fe40167eb 100644 --- a/v7/src/microcode/liarc.h +++ b/v7/src/microcode/liarc.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: liarc.h,v 1.16 2002/07/02 18:15:23 cph Exp $ +$Id: liarc.h,v 1.17 2002/07/02 18:38:34 cph Exp $ Copyright (c) 1992-2002 Massachusetts Institute of Technology @@ -145,7 +145,7 @@ typedef union machine_word_u machine_word; #define Rvl Val #define Rhp Free #define Rrb Regs -#define Rsp Stack_Pointer +#define Rsp sp_register #define DECLARE_VARIABLES() int unsed_variable_to_keep_C_happy #define UNCACHE_VARIABLES() do {} while (0) @@ -160,11 +160,11 @@ typedef union machine_word_u machine_word; #define DECLARE_VARIABLES() \ REGISTER SCHEME_OBJECT Rvl = Val; \ REGISTER SCHEME_OBJECT * Rhp = Free; \ -REGISTER SCHEME_OBJECT * Rsp = Stack_Pointer +REGISTER SCHEME_OBJECT * Rsp = sp_register #define UNCACHE_VARIABLES() do \ { \ - Stack_Pointer = Rsp; \ + sp_register = Rsp; \ Free = Rhp; \ Val = Rvl; \ } while (0) @@ -173,7 +173,7 @@ REGISTER SCHEME_OBJECT * Rsp = Stack_Pointer { \ Rvl = Val; \ Rhp = Free; \ - Rsp = Stack_Pointer; \ + Rsp = sp_register; \ } while (0) #endif /* USE_GLOBAL_VARIABLES */ diff --git a/v7/src/microcode/memmag.c b/v7/src/microcode/memmag.c index 85f602643..3b7e29143 100644 --- a/v7/src/microcode/memmag.c +++ b/v7/src/microcode/memmag.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: memmag.c,v 9.66 2000/12/05 21:23:45 cph Exp $ +$Id: memmag.c,v 9.67 2002/07/02 18:38:39 cph Exp $ -Copyright (c) 1987-2000 Massachusetts Institute of Technology +Copyright (c) 1987-2000, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* Memory management top level. @@ -88,9 +89,8 @@ oo #define CONSTANT_SPACE_FUDGE 128 -/* Initialize free pointers within areas. Stack_Pointer is - special: it always points to a cell which is in use. - */ +/* Initialize free pointers within areas. sp_register is + special: it always points to a cell that is in use. */ static long saved_heap_size, saved_constant_size, saved_stack_size; extern void EXFUN (reset_allocator_parameters, (void)); diff --git a/v7/src/microcode/nttrap.c b/v7/src/microcode/nttrap.c index 6c6d7be0c..558270bc1 100644 --- a/v7/src/microcode/nttrap.c +++ b/v7/src/microcode/nttrap.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: nttrap.c,v 1.19 2001/12/16 06:01:32 cph Exp $ +$Id: nttrap.c,v 1.20 2002/07/02 18:38:46 cph Exp $ -Copyright (c) 1992-2001 Massachusetts Institute of Technology +Copyright (c) 1992-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -373,9 +373,9 @@ DEFUN (display_exception_information, (info, context, flags), "\nContext contains floating-point registers.")); bufptr += (sprintf (bufptr, "\ncontext->Eip = 0x%lx.", context->Eip)); bufptr += (sprintf (bufptr, "\ncontext->Esp = 0x%lx.", context->Esp)); - bufptr += (sprintf (bufptr, "\nStack_Pointer = 0x%lx.", Stack_Pointer)); - bufptr += (sprintf (bufptr, "\nadj (Stack_Pointer) = 0x%lx.", - (ADDR_TO_SCHEME_ADDR (Stack_Pointer)))); + bufptr += (sprintf (bufptr, "\nsp_register = 0x%lx.", sp_register)); + bufptr += (sprintf (bufptr, "\nadj (sp_register) = 0x%lx.", + (ADDR_TO_SCHEME_ADDR (sp_register)))); } #endif /* W32_TRAP_DEBUG */ @@ -424,7 +424,7 @@ WinntExceptionTransferHook (void) static int size; static SCHEME_OBJECT * temp_stack_ptr, * new_sp; - temp_stack_ptr = Stack_Pointer; + temp_stack_ptr = sp_register; size = (temp_stack_limit - temp_stack_ptr); IFVERBOSE (TellUserEx (MB_OKCANCEL, "WinntExceptionTransferHook.")); @@ -432,14 +432,14 @@ WinntExceptionTransferHook (void) INITIALIZE_STACK (); else { - Stack_Pointer = real_stack_pointer; + sp_register = real_stack_pointer; Stack_Guard = real_stack_guard; } new_sp = (real_stack_pointer - size); if (new_sp != temp_stack_ptr) memcpy (new_sp, temp_stack_ptr, (size * (sizeof (SCHEME_OBJECT)))); - Stack_Pointer = new_sp; + sp_register = new_sp; SET_INTERRUPT_MASK ((FETCH_INTERRUPT_MASK ())); if (return_by_aborting) abort_to_interpreter (PRIM_APPLY); @@ -495,9 +495,9 @@ DEFUN (setup_trap_frame, (code, context, trinfo, new_stack_pointer), if (! stack_recovered_p) INITIALIZE_STACK (); clear_real_stack = FALSE; - real_stack_pointer = Stack_Pointer; + real_stack_pointer = sp_register; real_stack_guard = Stack_Guard; - temp_stack_limit = Stack_Pointer; + temp_stack_limit = sp_register; } else { @@ -505,7 +505,7 @@ DEFUN (setup_trap_frame, (code, context, trinfo, new_stack_pointer), real_stack_pointer = new_stack_pointer; real_stack_guard = Stack_Guard; temp_stack_limit = temp_stack_end; - Stack_Pointer = temp_stack_end; + sp_register = temp_stack_end; Stack_Guard = temp_stack; } @@ -621,8 +621,8 @@ DEFUN (continue_from_trap, (code, context), IFVERBOSE (TellUserEx (MB_OKCANCEL, - "continue_from_trap: SS = C DS; Stack_Pointer = 0x%lx; Esp = 0x%lx.", - Stack_Pointer, context->Esp)); + "continue_from_trap: SS = C DS; sp_register = 0x%lx; Esp = 0x%lx.", + sp_register, context->Esp)); scheme_sp = (context->Esp); } else @@ -683,9 +683,9 @@ pc_in_hyperspace: (scheme_sp_valid ? ((SCHEME_OBJECT *) scheme_sp) : ((pc_in_C - && (Stack_Pointer < Stack_Top) - && (Stack_Pointer > Stack_Bottom)) - ? Stack_Pointer + && (sp_register < Stack_Top) + && (sp_register > Stack_Bottom)) + ? sp_register : ((SCHEME_OBJECT *) 0))); IFVERBOSE (TellUserEx (MB_OKCANCEL, "continue_from_trap 3")); diff --git a/v7/src/microcode/os2xcpt.c b/v7/src/microcode/os2xcpt.c index ed4bcd142..16ddcaa7b 100644 --- a/v7/src/microcode/os2xcpt.c +++ b/v7/src/microcode/os2xcpt.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: os2xcpt.c,v 1.9 2001/12/16 06:01:32 cph Exp $ +$Id: os2xcpt.c,v 1.10 2002/07/02 18:38:52 cph Exp $ -Copyright (c) 1994-2001 Massachusetts Institute of Technology +Copyright (c) 1994-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -449,7 +449,7 @@ continue_from_trap (PEXCEPTIONREPORTRECORD report, PCONTEXTRECORD context) case pc_in_utility: case pc_in_primitive: case pc_in_c: - new_sp = Stack_Pointer; + new_sp = sp_register; break; default: new_sp = 0; @@ -753,7 +753,7 @@ setup_trap_frame (PEXCEPTIONREPORTRECORD report, /* Make sure the stack is correctly initialized. */ if (new_sp != 0) - Stack_Pointer = new_sp; + sp_register = new_sp; else { INITIALIZE_STACK (); diff --git a/v7/src/microcode/sdata.h b/v7/src/microcode/sdata.h index 62acaa931..50b121415 100644 --- a/v7/src/microcode/sdata.h +++ b/v7/src/microcode/sdata.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: sdata.h,v 9.39 2001/12/21 04:36:11 cph Exp $ +$Id: sdata.h,v 9.40 2002/07/02 18:38:57 cph Exp $ -Copyright (c) 1987-1989, 1999, 2001 Massachusetts Institute of Technology +Copyright (c) 1987-1989, 1999, 2001, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -116,7 +116,7 @@ USA. | | ... |\ | | not yet in use -- garbage | > m n < _______________________________________/ - | | Top of Stack, useful contents | <---Stack_Pointer + | | Top of Stack, useful contents | <---sp_register | _______________________________________ \ | ... | \ | useful stuff | diff --git a/v7/src/microcode/stack.h b/v7/src/microcode/stack.h index cb3529f4b..91428c0b3 100644 --- a/v7/src/microcode/stack.h +++ b/v7/src/microcode/stack.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: stack.h,v 9.39 2002/07/02 18:15:28 cph Exp $ +$Id: stack.h,v 9.40 2002/07/02 18:39:04 cph Exp $ Copyright (c) 1987-1999, 2002 Massachusetts Institute of Technology @@ -40,7 +40,7 @@ USA. *Free = \ (MAKE_OBJECT (TC_MANIFEST_VECTOR, (Default_Stacklet_Size - 1))); \ Free += Default_Stacklet_Size; \ - Stack_Pointer = Free; \ + sp_register = Free; \ Free_Stacklets = NULL; \ Prev_Restore_History_Stacklet = NULL; \ Prev_Restore_History_Offset = 0; \ @@ -52,7 +52,7 @@ USA. #define Internal_Will_Push(N) \ { \ - if ((Stack_Pointer - (N)) < Stack_Guard) \ + if ((sp_register - (N)) < Stack_Guard) \ { \ Allocate_New_Stacklet((N)); \ } \ @@ -72,17 +72,17 @@ USA. { \ Current_Stacklet[STACKLET_REUSE_FLAG] = SHARP_T; \ Current_Stacklet[STACKLET_UNUSED_LENGTH] = \ - MAKE_OBJECT (TC_MANIFEST_NM_VECTOR, (Stack_Pointer - Stack_Guard)); \ + MAKE_OBJECT (TC_MANIFEST_NM_VECTOR, (sp_register - Stack_Guard)); \ } #ifdef ENABLE_DEBUGGING_TOOLS #define Terminate_Old_Stacklet() \ { \ - if (Stack_Pointer < Stack_Guard) \ + if (sp_register < Stack_Guard) \ { \ - outf_fatal ("\nStack_Pointer: 0x%lx, Guard: 0x%lx\n", \ - ((long) Stack_Pointer), ((long) Stack_Guard)); \ + outf_fatal ("\nsp_register: 0x%lx, Guard: 0x%lx\n", \ + ((long) sp_register), ((long) Stack_Guard)); \ Microcode_Termination(TERM_EXIT); \ } \ Internal_Terminate_Old_Stacklet(); \ @@ -113,7 +113,7 @@ USA. \ Our_Where = (Where); \ SET_STACK_GUARD (MEMORY_LOC (Our_Where, STACKLET_HEADER_SIZE)); \ - Stack_Pointer = Previous_Stack_Pointer(Our_Where); \ + sp_register = Previous_Stack_Pointer(Our_Where); \ } #define STACKLET_SLACK (STACKLET_HEADER_SIZE + CONTINUATION_SIZE) @@ -197,7 +197,7 @@ Pushed() \ Free_Stacklets = \ ((SCHEME_OBJECT *) Free_Stacklets[STACKLET_FREE_LIST_LINK]); \ - Stack_Pointer = Get_End_Of_Stacklet(); \ + sp_register = Get_End_Of_Stacklet(); \ Prev_Restore_History_Stacklet = NULL; \ Prev_Restore_History_Offset = 0 @@ -237,7 +237,7 @@ Pushed() OBJECT_DATUM (Old_Stacklet_Top[STACKLET_UNUSED_LENGTH]) + \ STACKLET_HEADER_SIZE; \ temp += Unused_Length; \ - Stack_Pointer = temp; \ + sp_register = temp; \ Used_Length = \ (OBJECT_DATUM (Old_Stacklet_Top[STACKLET_LENGTH]) - \ Unused_Length) + 1; \ @@ -275,7 +275,7 @@ Pushed() } \ } while (0) -#define Internal_Will_Push(N) Stack_Check(Stack_Pointer - (N)) +#define Internal_Will_Push(N) Stack_Check(sp_register - (N)) #define Terminate_Old_Stacklet() @@ -327,7 +327,7 @@ Pushed() To_Where = (Stack_Top - valid); \ From_Where = MEMORY_LOC (Control_Point, invalid); \ Stack_Check (To_Where); \ - Stack_Pointer = To_Where; \ + sp_register = To_Where; \ while (--valid >= 0) \ *To_Where++ = *From_Where++; \ if (Consistency_Check) \ diff --git a/v7/src/microcode/step.c b/v7/src/microcode/step.c index 923ae0b0a..c741d1614 100644 --- a/v7/src/microcode/step.c +++ b/v7/src/microcode/step.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: step.c,v 9.34 1999/01/02 06:11:34 cph Exp $ +$Id: step.c,v 9.35 2002/07/02 18:39:09 cph Exp $ -Copyright (c) 1987-1999 Massachusetts Institute of Technology +Copyright (c) 1987-1999, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* Support for the stepper */ @@ -113,7 +114,7 @@ DEFINE_PRIMITIVE ("PRIMITIVE-APPLY-STEP", Prim_apply_step, 3, 3, 0) fast SCHEME_OBJECT scan_list; fast long i; Will_Push (number_of_args + STACK_ENV_EXTRA_SLOTS + 1); - Stack_Pointer = scan_stack; + sp_register = scan_stack; TOUCH_IN_PRIMITIVE (argument_list, scan_list); for (i = number_of_args; (i > 0); i -= 1) { diff --git a/v7/src/microcode/sysprim.c b/v7/src/microcode/sysprim.c index 7063e1dc8..32942dcb7 100644 --- a/v7/src/microcode/sysprim.c +++ b/v7/src/microcode/sysprim.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: sysprim.c,v 9.47 2000/12/05 21:23:48 cph Exp $ +$Id: sysprim.c,v 9.48 2002/07/02 18:39:15 cph Exp $ -Copyright (c) 1987-2000 Massachusetts Institute of Technology +Copyright (c) 1987-2000, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* Random system primitives. Most are implemented in terms of @@ -134,7 +135,7 @@ DEFINE_PRIMITIVE ("GC-SPACE-STATUS", Prim_gc_space_status, 0, 0, 0) heap_high = Heap_Top; #ifndef USE_STACKLETS stack_low = Stack_Bottom; - stack_free = Stack_Pointer; + stack_free = sp_register; stack_limit = Stack_Guard; stack_high = Stack_Top; #endif /* USE_STACKLETS */ diff --git a/v7/src/microcode/utils.c b/v7/src/microcode/utils.c index 272db039b..fbf0c4283 100644 --- a/v7/src/microcode/utils.c +++ b/v7/src/microcode/utils.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: utils.c,v 9.79 2001/07/31 03:12:15 cph Exp $ +$Id: utils.c,v 9.80 2002/07/02 18:39:20 cph Exp $ -Copyright (c) 1987-2001 Massachusetts Institute of Technology +Copyright (c) 1987-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -701,7 +701,7 @@ DEFUN_VOID (Stop_History) Save_History(RC_RESTORE_DONT_COPY_HISTORY); Pushed(); Prev_Restore_History_Stacklet = NULL; - Prev_Restore_History_Offset = ((Get_End_Of_Stacklet() - Stack_Pointer) + + Prev_Restore_History_Offset = ((Get_End_Of_Stacklet() - sp_register) + CONTINUATION_RETURN_CODE); Store_Expression(Saved_Expression); Store_Return(Saved_Return_Code); @@ -835,14 +835,14 @@ DEFUN (primitive_apply_internal, (primitive), SCHEME_OBJECT primitive) if (Primitive_Debug) Print_Primitive (primitive); { - SCHEME_OBJECT * saved_stack = Stack_Pointer; + SCHEME_OBJECT * saved_stack = sp_register; PRIMITIVE_APPLY_INTERNAL (result, primitive); - if (saved_stack != Stack_Pointer) + if (saved_stack != sp_register) { int arity = (PRIMITIVE_N_ARGUMENTS (primitive)); Print_Expression (primitive, "Stack bad after "); outf_fatal ("\nStack was 0x%lx, now 0x%lx, #args=%ld.\n", - ((long) saved_stack), ((long) Stack_Pointer), ((long) arity)); + ((long) saved_stack), ((long) sp_register), ((long) arity)); Microcode_Termination (TERM_EXIT); } } @@ -915,7 +915,7 @@ DEFUN (Allocate_New_Stacklet, (N), long N) Free[STACKLET_LENGTH] = MAKE_OBJECT (TC_MANIFEST_VECTOR, (size - 1)); SET_STACK_GUARD (& (Free[STACKLET_HEADER_SIZE])); Free += size; - Stack_Pointer = Free; + sp_register = Free; } else { @@ -926,7 +926,7 @@ DEFUN (Allocate_New_Stacklet, (N), long N) New_Stacklet = Free_Stacklets; Free_Stacklets = ((SCHEME_OBJECT *) Free_Stacklets[STACKLET_FREE_LIST_LINK]); - Stack_Pointer = + sp_register = &New_Stacklet[1 + (OBJECT_DATUM (New_Stacklet[STACKLET_LENGTH]))]; SET_STACK_GUARD (& (New_Stacklet[STACKLET_HEADER_SIZE])); } @@ -1123,7 +1123,7 @@ DEFUN (C_call_scheme, (proc, nargs, argvec), if (! (PRIMITIVE_P (primitive))) abort_to_interpreter (ERR_CANNOT_RECURSE); /*NOTREACHED*/ - sp = Stack_Pointer; + sp = sp_register; Will_Push ((2 * CONTINUATION_SIZE) + (nargs + STACK_ENV_EXTRA_SLOTS + 1)); { @@ -1145,7 +1145,7 @@ DEFUN (C_call_scheme, (proc, nargs, argvec), Pushed (); result = (Re_Enter_Interpreter ()); - if (Stack_Pointer != sp) + if (sp_register != sp) signal_error_from_primitive (ERR_STACK_HAS_SLIPPED); /*NOTREACHED*/ diff --git a/v7/src/microcode/uxtrap.c b/v7/src/microcode/uxtrap.c index b304ad8a5..5b225ad0d 100644 --- a/v7/src/microcode/uxtrap.c +++ b/v7/src/microcode/uxtrap.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: uxtrap.c,v 1.31 2001/12/16 06:01:33 cph Exp $ +$Id: uxtrap.c,v 1.32 2002/07/02 18:39:27 cph Exp $ -Copyright (c) 1990-2001 Massachusetts Institute of Technology +Copyright (c) 1990-2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -320,7 +320,7 @@ DEFUN (setup_trap_frame, (signo, info, scp, trinfo, new_stack_pointer), Pushed (); } else - Stack_Pointer = new_stack_pointer; + sp_register = new_stack_pointer; Will_Push (7 + CONTINUATION_SIZE); STACK_PUSH (trinfo -> extra_trap_info); STACK_PUSH (trinfo -> pc_info_2); @@ -364,8 +364,8 @@ DEFUN_VOID (soft_reset) { struct trap_recovery_info trinfo; SCHEME_OBJECT * new_stack_pointer = - (((Stack_Pointer <= Stack_Top) && (Stack_Pointer > Stack_Guard)) - ? Stack_Pointer + (((sp_register <= Stack_Top) && (sp_register > Stack_Guard)) + ? sp_register : 0); if ((Regs[REGBLOCK_PRIMITIVE]) != SHARP_F) { @@ -489,9 +489,9 @@ DEFUN (continue_from_trap, (signo, info, scp), new_stack_pointer = (scheme_sp_valid ? ((SCHEME_OBJECT *) scheme_sp) - : (pc_in_C && (Stack_Pointer < Stack_Top) - && (Stack_Pointer > Stack_Bottom)) - ? Stack_Pointer + : (pc_in_C && (sp_register < Stack_Top) + && (sp_register > Stack_Bottom)) + ? sp_register : ((SCHEME_OBJECT *) 0)); if (pc_in_hyper_space || (pc_in_scheme && ALLOW_ONLY_C)) diff --git a/v7/src/microcode/xdebug.c b/v7/src/microcode/xdebug.c index 7f16c28bb..d57fb009c 100644 --- a/v7/src/microcode/xdebug.c +++ b/v7/src/microcode/xdebug.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: xdebug.c,v 9.34 2000/12/05 21:23:49 cph Exp $ +$Id: xdebug.c,v 9.35 2002/07/02 18:39:33 cph Exp $ -Copyright (c) 1987-2000 Massachusetts Institute of Technology +Copyright (c) 1987-2000, 2002 Massachusetts Institute of Technology This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. */ /* This file contains primitives to debug memory management. */ @@ -165,7 +166,7 @@ DEFUN (Find_Who_Points, (Obj, Find_Mode, Collect_Mode), Find_Mode, print_p, store_p); #ifndef USE_STACKLETS n += Find_In_Area("the Stack", - Stack_Pointer, Stack_Top, Obj, + sp_register, Stack_Top, Obj, Find_Mode, print_p, store_p); #endif if (print_p) -- 2.25.1