summaryrefslogtreecommitdiff
path: root/module/system/xref.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-05-14 13:21:16 +0200
committerAndy Wingo <wingo@pobox.com>2018-05-14 14:04:59 +0200
commit77e7bea4c25431f39bb8ba7f900e35ef008ea00b (patch)
tree7130bb7993de87be32f1add75d084e6734bf21fd /module/system/xref.scm
parent667d808f5841dd99341f220b88f15ab5ed26390a (diff)
downloadguile-77e7bea4c25431f39bb8ba7f900e35ef008ea00b.tar.gz
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.
Diffstat (limited to 'module/system/xref.scm')
-rw-r--r--module/system/xref.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/module/system/xref.scm b/module/system/xref.scm
index 2b943fdd9..e335f9481 100644
--- a/module/system/xref.scm
+++ b/module/system/xref.scm
@@ -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)))))