summaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-01-22 07:49:19 +0100
committerAndy Wingo <wingo@pobox.com>2018-01-22 07:51:36 +0100
commitb09bbfe3c082548347125c0da52104c5bb8049e3 (patch)
tree2af169fce06684ad9d056ae0acd4c964c3dbefa2 /module
parentfcea9eeabd6adf144f7b6d8d7aa78e7ae42f9912 (diff)
downloadguile-b09bbfe3c082548347125c0da52104c5bb8049e3.tar.gz
Remove free-ref, free-set!
* libguile/vm-engine.c (free-ref, free-set!): Remove ops. * module/language/cps/effects-analysis.scm: * module/system/vm/assembler.scm: * module/system/vm/disassembler.scm (code-annotation): * module/language/cps/compile-bytecode.scm (compile-function): Remove support for free-ref / free-set!.
Diffstat (limited to 'module')
-rw-r--r--module/language/cps/compile-bytecode.scm5
-rw-r--r--module/language/cps/effects-analysis.scm5
-rw-r--r--module/system/vm/assembler.scm2
-rw-r--r--module/system/vm/disassembler.scm2
4 files changed, 0 insertions, 14 deletions
diff --git a/module/language/cps/compile-bytecode.scm b/module/language/cps/compile-bytecode.scm
index f14f48f43..8e6388a29 100644
--- a/module/language/cps/compile-bytecode.scm
+++ b/module/language/cps/compile-bytecode.scm
@@ -172,8 +172,6 @@
(emit-word-ref/immediate asm (from-sp dst) (from-sp (slot obj)) idx))
(($ $primcall 'pointer-ref/immediate (annotation . idx) (obj))
(emit-pointer-ref/immediate asm (from-sp dst) (from-sp (slot obj)) idx))
- (($ $primcall 'free-ref idx (closure))
- (emit-free-ref asm (from-sp dst) (from-sp (slot closure)) idx))
(($ $primcall 'char->integer #f (src))
(emit-char->integer asm (from-sp dst) (from-sp (slot src))))
(($ $primcall 'integer->char #f (src))
@@ -302,9 +300,6 @@
(($ $primcall 'pointer-set!/immediate (annotation . idx) (obj val))
(emit-pointer-set!/immediate asm (from-sp (slot obj)) idx
(from-sp (slot val))))
- (($ $primcall 'free-set! idx (closure value))
- (emit-free-set! asm (from-sp (slot closure)) (from-sp (slot value))
- idx))
(($ $primcall 'string-set! #f (string index char))
(emit-string-set! asm (from-sp (slot string)) (from-sp (slot index))
(from-sp (slot char))))
diff --git a/module/language/cps/effects-analysis.scm b/module/language/cps/effects-analysis.scm
index aea0d5803..3c52225d0 100644
--- a/module/language/cps/effects-analysis.scm
+++ b/module/language/cps/effects-analysis.scm
@@ -450,11 +450,6 @@ the LABELS that are clobbered by the effects of LABEL."
((f32-set! obj bv n x) (&write-object (annotation->memory-kind param)))
((f64-set! obj bv n x) (&write-object (annotation->memory-kind param))))
-;; Closures.
-(define-primitive-effects* param
- ((free-ref closure) (&read-field &closure param))
- ((free-set! closure val) (&write-field &closure param)))
-
;; Modules.
(define-primitive-effects
((current-module) (&read-object &module))
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index da125119d..33645a28d 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -198,8 +198,6 @@
emit-bind-kwargs
emit-bind-rest
emit-make-closure
- emit-free-ref
- emit-free-set!
emit-current-module
emit-resolve
emit-define!
diff --git a/module/system/vm/disassembler.scm b/module/system/vm/disassembler.scm
index 8664039f0..286a0f1c5 100644
--- a/module/system/vm/disassembler.scm
+++ b/module/system/vm/disassembler.scm
@@ -275,8 +275,6 @@ address of that offset."
(list "~A" (builtin-index->name idx)))
(((or 'static-ref 'static-set!) _ target)
(list "~@Y" (dereference-scm target)))
- (((or 'free-ref 'free-set!) _ _ index)
- (list "free var ~a" index))
(('resolve-module dst name public)
(list "~a" (if (zero? public) "private" "public")))
(('toplevel-box _ var-offset mod-offset sym-offset bound?)