1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-19 19:20:23 +02:00

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!.
This commit is contained in:
Andy Wingo 2018-01-22 07:49:19 +01:00
parent fcea9eeabd
commit b09bbfe3c0
5 changed files with 4 additions and 43 deletions

View file

@ -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))))

View file

@ -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))