1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-18 17:50:29 +02:00

Remove backend support for cached-module-box et al.

* module/language/cps/compile-bytecode.scm (compile-function): Remove
  unused assemblers for cached-module-box, cached-toplevel-box, and
  cache-current-module!.
* module/language/cps/effects-analysis.scm (&cache): New memory kind.
  (cache-current-module!): Set &cache memory, not &box.
  (resolve-module, lookup-module, cache-ref, cache-set!): Add effect
  annotations.
* module/system/vm/assembler.scm (emit-cache-current-module!)
  (emit-cached-toplevel-box, emit-cached-module-box): Remove
  assemblers.
* module/system/vm/disassembler.scm (code-annotation, fold-code-range):
  Remove special cases for toplevel-box and module-box.
* module/system/xref.scm (program-callee-rev-vars): Add a FIXME for the
  future.
This commit is contained in:
Andy Wingo 2018-05-14 13:21:16 +02:00
parent 667d808f58
commit 77e7bea4c2
5 changed files with 17 additions and 50 deletions

View file

@ -1,4 +1,4 @@
;;;; Copyright (C) 2009, 2010, 2013 Free Software Foundation, Inc.
;;;; Copyright (C) 2009, 2010, 2013, 2018 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@ -56,6 +56,10 @@
(fold (lambda (prog out)
(fold-program-code
(lambda (elt out)
;; FIXME: Update for change to top-level variable
;; resolution. Need to build a per-program map of
;; IP->SLOT->CONSTANT to be able to resolve operands to
;; resolve-module and lookup intrinsic calls.
(match elt
(('toplevel-box dst var mod sym bound?)
(let ((var (or var (and mod (module-variable mod sym)))))