summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/system/il/compile.scm4
-rw-r--r--module/system/il/ghil.scm6
-rw-r--r--module/system/il/glil.scm14
-rw-r--r--module/system/vm/assemble.scm15
4 files changed, 17 insertions, 22 deletions
diff --git a/module/system/il/compile.scm b/module/system/il/compile.scm
index fee5bd510..261b936fc 100644
--- a/module/system/il/compile.scm
+++ b/module/system/il/compile.scm
@@ -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)
diff --git a/module/system/il/ghil.scm b/module/system/il/ghil.scm
index 5d6e67a3f..b0bac0f9a 100644
--- a/module/system/il/ghil.scm
+++ b/module/system/il/ghil.scm
@@ -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))))
diff --git a/module/system/il/glil.scm b/module/system/il/glil.scm
index 5c42a2a70..48470a28f 100644
--- a/module/system/il/glil.scm
+++ b/module/system/il/glil.scm
@@ -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))
diff --git a/module/system/vm/assemble.scm b/module/system/vm/assemble.scm
index f5fac6eb0..c5ca46f39 100644
--- a/module/system/vm/assemble.scm
+++ b/module/system/vm/assemble.scm
@@ -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)))))