From 37419725765e7ccc770580392662d39f0ebaea2e Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 17 Apr 2007 06:02:14 +0000 Subject: [PATCH] Tell unstackify how large the bytes block is. --- v7/src/compiler/machines/C/cout.scm | 4 +++- v7/src/microcode/liarc.h | 5 +++-- v7/src/microcode/unstackify.c | 8 +++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/v7/src/compiler/machines/C/cout.scm b/v7/src/compiler/machines/C/cout.scm index 8c5af178e..aed8c967a 100644 --- a/v7/src/compiler/machines/C/cout.scm +++ b/v7/src/compiler/machines/C/cout.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: cout.scm,v 1.38 2007/04/15 19:21:53 cph Exp $ +$Id: cout.scm,v 1.39 2007/04/17 06:02:06 cph Exp $ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, @@ -76,6 +76,7 @@ USA. (c:line) (c:return (c:ecall 'unstackify (c:cast 'uchar* (c:aptr 'prog 0)) + (c:ecall 'sizeof 'prog) 0))))))) (define (stringify-data/traditional object output-pathname) @@ -413,6 +414,7 @@ USA. (c:= 'ccb (c:ecall 'unstackify (c:cast 'uchar* (c:aptr name 0)) + (c:ecall 'sizeof name) 'dispatch_base)) (c:= 'current_block (c:object-address 'ccb)) (c:return (c:cptr initial-offset)))))))) diff --git a/v7/src/microcode/liarc.h b/v7/src/microcode/liarc.h index b921a39e2..834b994f4 100644 --- a/v7/src/microcode/liarc.h +++ b/v7/src/microcode/liarc.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: liarc.h,v 1.27 2007/01/12 06:27:29 cph Exp $ +$Id: liarc.h,v 1.28 2007/04/17 06:02:10 cph Exp $ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, @@ -554,7 +554,8 @@ extern int extern SCHEME_OBJECT EXFUN (initialize_subblock, (char *)), * EXFUN (invoke_utility, (int, long, long, long, long)), - EXFUN (unstackify, (unsigned char * prog, entry_count_t dispatch_base)); + EXFUN (unstackify, + (unsigned char * prog, unsigned long, entry_count_t dispatch_base)); extern double EXFUN (acos, (double)), diff --git a/v7/src/microcode/unstackify.c b/v7/src/microcode/unstackify.c index 469806922..c9ae6323d 100644 --- a/v7/src/microcode/unstackify.c +++ b/v7/src/microcode/unstackify.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: unstackify.c,v 11.3 2007/01/05 21:19:25 cph Exp $ +$Id: unstackify.c,v 11.4 2007/04/17 06:02:14 cph Exp $ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, @@ -1057,8 +1057,10 @@ DEFUN (unstackify_restore_context, (context), stackify_context_t context) } SCHEME_OBJECT -DEFUN (unstackify, (bytes, db), - unsigned char * bytes AND entry_count_t db) +DEFUN (unstackify, (bytes, n_bytes, db), + unsigned char * bytes + AND unsigned long n_bytes + AND entry_count_t db) { unsigned char op; SCHEME_OBJECT result; -- 2.25.1