1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00

call toplevel variables "toplevel", not "module"

* module/system/il/ghil.scm (ghil-var-for-set!, ghil-var-for-ref!)
  (ghil-var-define!): ghil-var-kind of a toplevel var is now 'toplevel.

* module/system/il/glil.scm: Renamve <glil-module> to <glil-toplevel>.
  Remove the unused `module' field. Remove the unused <glil-late-bound>
  type.

* module/system/il/compile.scm (make-glil-var): s/toplevel/module/

* module/system/vm/assemble.scm (<vlink-later>, <vdefine>): Remove the
  unused `module' parameters from these two types.
  (codegen, dump-object!): Adapt to module/toplevel name changes.
This commit is contained in:
Andy Wingo 2008-09-29 23:20:10 +02:00
parent 48d0006409
commit a1122f8cba
4 changed files with 17 additions and 22 deletions

View file

@ -122,8 +122,8 @@
(e env (ghil-env-parent e)))
((eq? e (ghil-var-env var))
(make-glil-external op depth (ghil-var-index var)))))
((module)
(make-glil-module op (ghil-var-env var) (ghil-var-name var)))
((toplevel)
(make-glil-toplevel op (ghil-var-name var)))
(else (error "Unknown kind of variable:" var))))
(define (constant? x)

View file

@ -205,7 +205,7 @@
((<ghil-toplevel-env> table)
(let ((key (cons (module-name (current-module)) sym)))
(or (assoc-ref table key)
(let ((var (make-ghil-var (car key) (cdr key) 'module)))
(let ((var (make-ghil-var (car key) (cdr key) 'toplevel)))
(apush! key var (ghil-toplevel-env-table e))
var))))
((<ghil-env> parent table variables)
@ -224,7 +224,7 @@
((<ghil-toplevel-env> table)
(let ((key (cons (module-name (current-module)) sym)))
(or (assoc-ref table key)
(let ((var (make-ghil-var (car key) (cdr key) 'module)))
(let ((var (make-ghil-var (car key) (cdr key) 'toplevel)))
(apush! key var (ghil-toplevel-env-table e))
var))))
((<ghil-env> parent table variables)
@ -239,7 +239,7 @@
(define (ghil-var-define! toplevel sym)
(let ((key (cons (module-name (current-module)) sym)))
(or (assoc-ref (ghil-toplevel-env-table toplevel) key)
(let ((var (make-ghil-var (car key) (cdr key) 'module)))
(let ((var (make-ghil-var (car key) (cdr key) 'toplevel)))
(apush! key var (ghil-toplevel-env-table toplevel))
var))))

View file

@ -54,11 +54,8 @@
<glil-external> make-glil-external glil-external?
glil-external-op glil-external-depth glil-external-index
<glil-module> make-glil-module glil-module?
glil-module-op glil-module-module glil-module-index
<glil-late-bound> make-glil-late-bound glil-late-bound?
glil-late-bound-op glil-late-bound-name
<glil-toplevel> make-glil-toplevel glil-toplevel?
glil-toplevel-op glil-toplevel-name
<glil-label> make-glil-label glil-label?
glil-label-label
@ -89,8 +86,7 @@
(<glil-argument> op index)
(<glil-local> op index)
(<glil-external> op depth index)
(<glil-module> op module name)
(<glil-late-bound> op name)
(<glil-toplevel> op name)
;; Controls
(<glil-label> label)
(<glil-branch> inst label)
@ -192,8 +188,8 @@
`(,(symbol-append 'local- op) ,index))
((<glil-external> op depth index)
`(,(symbol-append 'external- op) ,depth ,index))
((<glil-module> op module name)
`(,(symbol-append 'module- op) ,module ,name))
((<glil-toplevel> op name)
`(,(symbol-append 'toplevel- op) ,name))
;; controls
((<glil-label> label) label)
((<glil-branch> inst label) `(,inst ,label))

View file

@ -43,8 +43,8 @@
(define-record (<vm-asm> venv glil body))
(define-record (<venv> parent nexts closure?))
(define-record (<vlink-now> name))
(define-record (<vlink-later> module name))
(define-record (<vdefine> module name))
(define-record (<vlink-later> name))
(define-record (<vdefine> name))
(define-record (<bytespec> vars bytes meta objs closure?))
@ -183,7 +183,7 @@
(push-code! `(external-ref ,(+ n index)))
(push-code! `(external-set ,(+ n index)))))))
((<glil-module> op module name)
((<glil-toplevel> op name)
(case op
((ref set)
(cond
@ -193,7 +193,7 @@
((ref) '(variable-ref))
((set) '(variable-set)))))
(else
(let* ((var (make-vlink-later #:module module #:name name))
(let* ((var (make-vlink-later #:name name))
(i (cond ((object-assoc var object-alist) => cdr)
(else
(let ((i (length object-alist)))
@ -203,7 +203,7 @@
((ref) `(late-variable-ref ,i))
((set) `(late-variable-set ,i))))))))
((define)
(push-object! (make-vdefine #:module module #:name name))
(push-object! (make-vdefine #:name name))
(push-code! '(variable-set)))
(else
(error "unknown toplevel var kind" op name))))
@ -319,13 +319,12 @@
(if meta (dump! meta))
;; dump bytecode
(push-code! `(load-program ,bytes)))
((<vlink-later> module name)
((<vlink-later> name)
(dump! name))
((<vlink-now> name)
(dump! name)
(push-code! '(link-now)))
((<vdefine> module name)
;; FIXME: dump module
((<vdefine> name)
(push-code! `(define ,(symbol->string name))))
(else
(error "assemble: unknown record type" (record-type-descriptor x)))))