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

cache-current-module, etc use immediate primcall parameters

* module/language/bytecode.scm (*macro-instruction-arities*):
* module/language/cps/compile-bytecode.scm (compile-function):
* module/language/cps/effects-analysis.scm (current-module):
* module/language/cps/primitives.scm (*macro-instruction-arities*):
* module/language/cps/prune-top-level-scopes.scm (compute-used-scopes):
  (prune-top-level-scopes):
* module/language/cps/reify-primitives.scm (module-box):
* module/language/cps/slot-allocation.scm (compute-needs-slot):
* module/language/tree-il/compile-cps.scm (toplevel-box):
  (module-box, capture-toplevel-scope): Move the primcalls that deal
  with top-level references to use immediate parameters.
This commit is contained in:
Andy Wingo 2017-11-01 13:47:32 +01:00
parent c54c151eb6
commit 4fb538e90e
8 changed files with 48 additions and 72 deletions

View file

@ -341,14 +341,6 @@ the definitions that are live before and after LABEL, as intsets."
(defs+ closure))
(($ $primcall 'free-set! #f (closure slot value))
(defs+* (intset closure value)))
(($ $primcall 'cache-current-module! #f (mod . _))
(defs+ mod))
(($ $primcall 'cached-toplevel-box #f _)
defs)
(($ $primcall 'cached-module-box #f _)
defs)
(($ $primcall 'resolve #f (name bound?))
(defs+ name))
(($ $primcall 'make-vector/immediate #f (len init))
(defs+ init))
(($ $primcall 'vector-ref/immediate #f (v i))