mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
Add "mod" field to tree-il toplevel ref, set, define
Add "mod" field to <toplevel-ref>, <toplevel-set>, and <toplevel-define>, indicating the expander's idea of what the current module is when a toplevel variable is accessed or created. This will help in later optimizations. * libguile/expand.c (TOPLEVEL_REF, TOPLEVEL_SET, TOPLEVEL_DEFINE) (expand, expand_define, expand_set_x, convert_assignment): * libguile/expand.h (SCM_EXPANDED_TOPLEVEL_REF_FIELD_NAMES): (SCM_MAKE_EXPANDED_TOPLEVEL_REF, SCM_EXPANDED_TOPLEVEL_SET_FIELD_NAMES): (SCM_MAKE_EXPANDED_TOPLEVEL_SET, SCM_EXPANDED_TOPLEVEL_DEFINE_FIELD_NAMES): (SCM_MAKE_EXPANDED_TOPLEVEL_DEFINE): * module/ice-9/compile-psyntax.scm (translate-literal-syntax-objects): * module/ice-9/psyntax-pp.scm: * module/ice-9/psyntax.scm: * module/language/tree-il.scm: * module/language/tree-il.scm (parse-tree-il, make-tree-il-folder): (pre-post-order): * module/language/tree-il/analyze.scm (goops-toplevel-definition): (macro-use-before-definition-analysis, proc-ref?, format-analysis): * module/language/tree-il/compile-cps.scm (convert): * module/language/tree-il/debug.scm (verify-tree-il): * module/language/tree-il/effects.scm (make-effects-analyzer): * module/language/tree-il/fix-letrec.scm (free-variables): * module/language/tree-il/peval.scm (peval): * test-suite/tests/tree-il.test: Adapt uses.
This commit is contained in:
parent
4bb5834d75
commit
79a40cf717
13 changed files with 182 additions and 156 deletions
|
@ -1,7 +1,7 @@
|
|||
;;;; tree-il.test --- test suite for compiling tree-il -*- scheme -*-
|
||||
;;;; Andy Wingo <wingo@pobox.com> --- May 2009
|
||||
;;;;
|
||||
;;;; Copyright (C) 2009-2014, 2018 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 2009-2014,2018-2019 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
|
||||
|
@ -188,11 +188,11 @@
|
|||
x))
|
||||
(and (= result 12)
|
||||
(equal? (map strip-source (list-head (reverse ups) 3))
|
||||
(list (make-toplevel-ref #f '+)
|
||||
(list (make-toplevel-ref #f #f '+)
|
||||
(make-lexical-ref #f 'x 'x1)
|
||||
(make-lexical-ref #f 'y 'y1)))
|
||||
(equal? (map strip-source (reverse (list-head downs 3)))
|
||||
(list (make-toplevel-ref #f '+)
|
||||
(list (make-toplevel-ref #f #f '+)
|
||||
(make-lexical-ref #f 'x 'x1)
|
||||
(make-lexical-ref #f 'y 'y1)))))))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue