Flush spurious variables assigned by dassm2.scm .
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Tue, 11 Aug 1992 02:28:12 +0000 (02:28 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Tue, 11 Aug 1992 02:28:12 +0000 (02:28 +0000)
Update disassembler/write-linkage-section to use
compiled-code-block/procedure-cache-offset.

v7/src/compiler/machines/bobcat/dassm1.scm

index 65b08031ff5b2edc361fae7ad999d07dcf39319c..2a3b4865328542c0f0982fcb11e7575b61dfe6e6 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/dassm1.scm,v 4.15 1990/07/12 16:42:39 jinx Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/dassm1.scm,v 4.16 1992/08/11 02:28:12 jinx Exp $
 
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988-1992 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -33,6 +33,7 @@ promotional, or sales literature without prior written consent from
 MIT in each case. |#
 
 ;;;; Disassembler: User Level
+;;; package: (compiler disassembler)
 
 (declare (usual-integrations))
 \f
@@ -102,17 +103,6 @@ MIT in each case. |#
        (newline)
        (disassembler/write-compiled-code-block block info)))))
 \f
-;;; Operations exported from the disassembler package
-
-(define disassembler/instructions)
-(define disassembler/instructions/null?)
-(define disassembler/instructions/read)
-(define disassembler/lookup-symbol)
-(define disassembler/read-variable-cache)
-(define disassembler/read-procedure-cache)
-(define compiled-code-block/objects-per-procedure-cache)
-(define compiled-code-block/objects-per-variable-cache)
-
 (define (disassembler/write-compiled-code-block block info)
   (let ((symbol-table (and info (dbg-info/labels info))))
     (write-string "Disassembly of ")
@@ -203,9 +193,9 @@ MIT in each case. |#
     (let ((kind (integer-divide-quotient descriptor))
          (length (integer-divide-remainder descriptor)))
 
-      (define (write-caches size writer)
-       (let loop ((index (1+ index))
-                  (how-many (quotient length size)))
+      (define (write-caches offset size writer)
+       (let loop ((index (1+ (+ offset index)))
+                  (how-many (quotient (- length offset) size)))
          (if (zero? how-many)
              'DONE
              (begin
@@ -224,17 +214,20 @@ MIT in each case. |#
         (write field)
         (write-string "]")))
        (case kind
-        ((0)
+        ((0 3)
          (write-caches
+          compiled-code-block/procedure-cache-offset
           compiled-code-block/objects-per-procedure-cache
           disassembler/write-procedure-cache))
         ((1)
          (write-caches
+          0
           compiled-code-block/objects-per-variable-cache
          (lambda (block index)
            (disassembler/write-variable-cache "Reference" block index))))
         ((2)
          (write-caches
+          0
           compiled-code-block/objects-per-variable-cache
          (lambda (block index)
            (disassembler/write-variable-cache "Assignment" block index))))