summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-05-08 16:38:32 +0200
committerAndy Wingo <wingo@pobox.com>2011-05-08 16:38:32 +0200
commitcb7523c26db24598fb5aa9138598e1b7a3e6370f (patch)
treee8d2aa664ebd2926f71d656c5d76196a974de006
parentf5695488b95263622d5d1202f9f80c624ab4215a (diff)
downloadguile-cb7523c26db24598fb5aa9138598e1b7a3e6370f.tar.gz
compile-assembly: cleanup
* module/language/glil/compile-assembly.scm: Clean up code for subprograms (not needed, we just cache the glil) and object alists (replaced by constants tables).
-rw-r--r--module/language/glil/compile-assembly.scm27
1 files changed, 0 insertions, 27 deletions
diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm
index 3c30228a2..d02b9030c 100644
--- a/module/language/glil/compile-assembly.scm
+++ b/module/language/glil/compile-assembly.scm
@@ -64,13 +64,6 @@
(define-record <variable-cache-cell> key)
-;; Subprograms can be loaded into an object table as well. We need a
-;; disjoint type here too. (Subprograms have their own object tables --
-;; though probably we should just make one table per compilation unit.)
-
-(define-record <subprogram> table prog)
-
-
(define (limn-sources sources)
(let lp ((in sources) (out '()) (filename #f))
(if (null? in)
@@ -255,21 +248,6 @@
(lambda (x y) (< (car x) (car y)))))
(close-all-bindings (close-binding bindings end) end)))
-;; A functional object table.
-(define *module* 1)
-(define (assoc-ref-or-acons alist x make-y)
- (cond ((assoc-ref alist x)
- => (lambda (y) (values y alist)))
- (else
- (let ((y (make-y x alist)))
- (values y (acons x y alist))))))
-(define (object-index-and-alist x alist)
- (assoc-ref-or-acons alist x
- (lambda (x alist)
- (+ (length alist) *module*))))
-(define (make-object-table objects)
- (and (not (null? objects))
- (list->vector (cons #f objects))))
;; A functional arities thingamajiggy.
;; arities := ((ip nreq [[nopt] [[rest] [kw]]]]) ...)
@@ -736,11 +714,6 @@
(cond
((object->assembly x) => list)
((variable-cache-cell? x) (dump-object (variable-cache-cell-key x) addr))
- ((subprogram? x)
- (let ((table-code (dump-object (subprogram-table x) addr)))
- `(,@table-code
- ,@(align-program (subprogram-prog x)
- (addr+ addr table-code)))))
((number? x)
`((load-number ,(number->string x))))
((string? x)