From: Guillermo J. Rozas Date: Sun, 22 Aug 1993 20:23:22 +0000 (+0000) Subject: Add calls to declare-compiled-code-block to guarantee that the caches X-Git-Tag: 20090517-FFI~8016 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=a8ece3e698c6e2d90fb4de8d5772c368e720e039;p=mit-scheme.git Add calls to declare-compiled-code-block to guarantee that the caches have been synchronized for newly-created code. --- diff --git a/v7/src/compiler/base/asstop.scm b/v7/src/compiler/base/asstop.scm index 8fe8907ea..54d29a1d6 100644 --- a/v7/src/compiler/base/asstop.scm +++ b/v7/src/compiler/base/asstop.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Id: asstop.scm,v 1.3 1992/11/14 17:20:27 gjr Exp $ +$Id: asstop.scm,v 1.4 1993/08/22 20:23:22 gjr Exp $ -Copyright (c) 1988-1992 Massachusetts Institute of Technology +Copyright (c) 1988-1993 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -202,6 +202,7 @@ MIT in each case. |# (set-lambda-body! (car entry) (label->address (cdr entry)))) *ic-procedure-headers*)) + ((ucode-primitive declare-compiled-code-block 1) *code-vector*) (if (not compiler:preserve-data-structures?) (begin (set! *code-vector*) diff --git a/v7/src/runtime/prgcop.scm b/v7/src/runtime/prgcop.scm index 825ea70f9..934d6fcfb 100644 --- a/v7/src/runtime/prgcop.scm +++ b/v7/src/runtime/prgcop.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/prgcop.scm,v 1.3 1991/09/20 03:58:39 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/prgcop.scm,v 1.4 1993/08/22 20:23:18 gjr Exp $ Copyright (c) 1990-91 Massachusetts Institute of Technology @@ -158,6 +158,7 @@ MIT in each case. |# (let* ((new (vector-copy (object-new-type (ucode-type VECTOR) obj))) (typed (object-new-type (ucode-type compiled-code-block) new)) (len (vector-length new))) + ((ucode-primitive declare-compiled-code-block 1) typed) (add-association! obj typed) (do ((i (fix:+ (object-datum (vector-ref new 0)) 1) (fix:+ 1 i))) ((not (fix:< i len))) diff --git a/v8/src/runtime/prgcop.scm b/v8/src/runtime/prgcop.scm index b9444a9ce..2572e7cc0 100644 --- a/v8/src/runtime/prgcop.scm +++ b/v8/src/runtime/prgcop.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/prgcop.scm,v 1.3 1991/09/20 03:58:39 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/prgcop.scm,v 1.4 1993/08/22 20:23:18 gjr Exp $ Copyright (c) 1990-91 Massachusetts Institute of Technology @@ -158,6 +158,7 @@ MIT in each case. |# (let* ((new (vector-copy (object-new-type (ucode-type VECTOR) obj))) (typed (object-new-type (ucode-type compiled-code-block) new)) (len (vector-length new))) + ((ucode-primitive declare-compiled-code-block 1) typed) (add-association! obj typed) (do ((i (fix:+ (object-datum (vector-ref new 0)) 1) (fix:+ 1 i))) ((not (fix:< i len)))