From 46673174c6437b15b8480c79fd7501d20756d101 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 8 Feb 1990 00:05:26 +0000 Subject: [PATCH] Fix cold-load problems. --- v7/src/runtime/make.scm | 5 +++-- v7/src/runtime/record.scm | 16 ++++++++++------ v7/src/runtime/runtime.pkg | 21 ++++++++++++++++++++- v8/src/runtime/make.scm | 5 +++-- v8/src/runtime/runtime.pkg | 21 ++++++++++++++++++++- 5 files changed, 56 insertions(+), 12 deletions(-) diff --git a/v7/src/runtime/make.scm b/v7/src/runtime/make.scm index f245925fa..afc59ec27 100644 --- a/v7/src/runtime/make.scm +++ b/v7/src/runtime/make.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/make.scm,v 14.19 1989/10/26 06:46:35 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/make.scm,v 14.20 1990/02/08 00:05:26 cph Exp $ -Copyright (c) 1988, 1989 Massachusetts Institute of Technology +Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -298,6 +298,7 @@ MIT in each case. |# (RUNTIME 2D-PROPERTY) (RUNTIME HASH) (RUNTIME RANDOM-NUMBER) + (RUNTIME RECORD) ;; Microcode data structures (RUNTIME HISTORY) (RUNTIME LAMBDA-ABSTRACTION) diff --git a/v7/src/runtime/record.scm b/v7/src/runtime/record.scm index 6ac6ba550..2650a6176 100644 --- a/v7/src/runtime/record.scm +++ b/v7/src/runtime/record.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/record.scm,v 1.3 1990/02/07 23:25:58 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/record.scm,v 1.4 1990/02/08 00:04:23 cph Exp $ Copyright (c) 1989, 1990 Massachusetts Institute of Technology @@ -125,7 +125,9 @@ MIT in each case. |# ;;; Abstraction-Breaking Operations -(define record-type? +(define record-type?) + +(define (initialize-package!) (let ((record-type (make-record-type "foo" '()))) (let ((size (vector-length record-type)) (tag (vector-ref record-type 0))) @@ -143,10 +145,12 @@ MIT in each case. |# (UPDATER-CONSTRUCTOR ,(vector-ref record-type 4)) (TYPE-NAME ,(vector-ref record-type 5)) (FIELD-NAMES ,(vector-ref record-type 6))))) - (lambda (object) - (and (vector? object) - (= (vector-length object) size) - (eq? (vector-ref object 0) tag)))))) + (set! record-type? + (lambda (object) + (and (vector? object) + (= (vector-length object) size) + (eq? (vector-ref object 0) tag)))))) + unspecific) (define (guarantee-record-type object) (if (not (record-type? object)) diff --git a/v7/src/runtime/runtime.pkg b/v7/src/runtime/runtime.pkg index f4f8cd0e5..98428a4c7 100644 --- a/v7/src/runtime/runtime.pkg +++ b/v7/src/runtime/runtime.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.57 1990/01/15 21:27:38 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.58 1990/02/08 00:04:43 cph Exp $ Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology @@ -1245,6 +1245,25 @@ MIT in each case. |# randomize) (initialization (initialize-package!))) +(define-package (runtime record) + (files "record") + (parent ()) + (export () + guarantee-record + guarantee-record-type + make-record-type + record-accessor + record-constructor + record-predicate + record-type-descriptor + record-type-field-names + record-type-name + record-type? + record-updater + record? + set-record-type-unparser-method!) + (initialization (initialize-package!))) + (define-package (runtime reference-trap) (files "urtrap") (parent ()) diff --git a/v8/src/runtime/make.scm b/v8/src/runtime/make.scm index 609764cbc..b59aa0255 100644 --- a/v8/src/runtime/make.scm +++ b/v8/src/runtime/make.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/make.scm,v 14.19 1989/10/26 06:46:35 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/make.scm,v 14.20 1990/02/08 00:05:26 cph Exp $ -Copyright (c) 1988, 1989 Massachusetts Institute of Technology +Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -298,6 +298,7 @@ MIT in each case. |# (RUNTIME 2D-PROPERTY) (RUNTIME HASH) (RUNTIME RANDOM-NUMBER) + (RUNTIME RECORD) ;; Microcode data structures (RUNTIME HISTORY) (RUNTIME LAMBDA-ABSTRACTION) diff --git a/v8/src/runtime/runtime.pkg b/v8/src/runtime/runtime.pkg index 3b76b2919..b158be25b 100644 --- a/v8/src/runtime/runtime.pkg +++ b/v8/src/runtime/runtime.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.57 1990/01/15 21:27:38 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.58 1990/02/08 00:04:43 cph Exp $ Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology @@ -1245,6 +1245,25 @@ MIT in each case. |# randomize) (initialization (initialize-package!))) +(define-package (runtime record) + (files "record") + (parent ()) + (export () + guarantee-record + guarantee-record-type + make-record-type + record-accessor + record-constructor + record-predicate + record-type-descriptor + record-type-field-names + record-type-name + record-type? + record-updater + record? + set-record-type-unparser-method!) + (initialization (initialize-package!))) + (define-package (runtime reference-trap) (files "urtrap") (parent ()) -- 2.25.1