From ec7ca2c1d66f880e548a976f32988efb1a087b07 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Mon, 14 Mar 1988 16:37:15 +0000 Subject: [PATCH] Change the representation of compiled procedures and other entries: They are now just the address of an instruction with a gc offset preceding the instruction and an arity/type word preceding that. Compiled closures are done by creating a tiny fake compiled code block which jumps to the right place and sets up the free variables for reference. Uuo style links are now just jump instructions to the correct address. All relocators have been updated to reflect this change. Variable caches have no type code. The relocators know about this. Incorporate JRM's fix to signal to close interrupt gap in hp-ux. New types: TC_COMPILED_ENTRY TC_MANIFEST_CLOSURE TC_LINKAGE_SECTION --- v7/src/runtime/unpars.scm | 11 ++++++----- v7/src/runtime/utabs.scm | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/v7/src/runtime/unpars.scm b/v7/src/runtime/unpars.scm index a23d5b41b..a9205a223 100644 --- a/v7/src/runtime/unpars.scm +++ b/v7/src/runtime/unpars.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unpars.scm,v 13.53 1987/11/17 20:11:54 jinx Rel $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unpars.scm,v 13.54 1988/03/14 16:36:38 jinx Rel $ ;;; ;;; Copyright (c) 1987 Massachusetts Institute of Technology ;;; @@ -320,13 +320,14 @@ (define-type 'PRIMITIVE unparse-primitive-procedure) -(define (unparse-compiled-procedure procedure) +(define (unparse-compiled-entry entry) (unparse-with-brackets (lambda () - (*unparse-string "COMPILED-PROCEDURE ") - (unparse-datum procedure)))) + (*unparse-string (symbol->string (compiled-entry-type entry))) + (*unparse-char #\Space) + (unparse-datum entry)))) -(define-type 'COMPILED-PROCEDURE unparse-compiled-procedure) +(define-type 'COMPILED-ENTRY unparse-compiled-entry) (define-type 'ENVIRONMENT (lambda (environment) diff --git a/v7/src/runtime/utabs.scm b/v7/src/runtime/utabs.scm index e6511e1e7..6cb36f0a4 100644 --- a/v7/src/runtime/utabs.scm +++ b/v7/src/runtime/utabs.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/utabs.scm,v 13.47 1987/11/17 20:12:41 jinx Rel $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/utabs.scm,v 13.48 1988/03/14 16:37:15 jinx Rel $ ;;; ;;; Copyright (c) 1987 Massachusetts Institute of Technology ;;; @@ -135,7 +135,6 @@ (INTERNED-SYMBOL . SYMBOL) (UNINTERNED-SYMBOL . SYMBOL) (EXTENDED-PROCEDURE . PROCEDURE) - (COMPILED-PROCEDURE . PROCEDURE) (PRIMITIVE . PRIMITIVE-PROCEDURE) (LEXPR . LAMBDA) (EXTENDED-LAMBDA . LAMBDA) -- 2.25.1