diff options
author | Andy Wingo <wingo@pobox.com> | 2011-05-08 16:38:32 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-05-08 16:38:32 +0200 |
commit | cb7523c26db24598fb5aa9138598e1b7a3e6370f (patch) | |
tree | e8d2aa664ebd2926f71d656c5d76196a974de006 | |
parent | f5695488b95263622d5d1202f9f80c624ab4215a (diff) | |
download | guile-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.scm | 27 |
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) |