1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-18 17:50:29 +02:00
guile/module/system
Andy Wingo 7396d21670 RTL: Local 0 is the procedure
* libguile/vm-engine.c: Change the RTL VM to number the procedure as
  local 0, and other locals from 1.  In the future we will want the FP
  to point to local 0 instead of local 1.  In the future also we can
  elide the procedure for well-known closures (closures in which all
  references are known call sites).
  (make_closure, free_set): Instead of taking rest arguments, we add a
  new free-set! op that initializes closures.
  (free_ref): Take the closure as an argument.

* libguile/vm.c (rtl_boot_continuation_code): Remove comments, which
  were out of date.
  (rtl_apply_code, rtl_values_code): Update comments.

* module/system/vm/assembler.scm (intern-constant, emit-init-constants):
  Adapt to locals numbering change.
  (begin-kw-arity): For assert-nargs-ee purposes, nreq includes the
  procedure.

* module/system/vm/disassembler.scm (code-annotation): Adapt annotation
  for assert-nargs-ee/locals.

* test-suite/tests/rtl.test: Adapt tests.
2013-07-21 17:12:22 +02:00
..
base use chmod portably in (system base compile) 2013-03-10 20:12:09 +01:00
repl Pre-order tree-il rewrites are now non-destructive 2013-06-10 22:46:08 +02:00
vm RTL: Local 0 is the procedure 2013-07-21 17:12:22 +02:00
foreign.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
xref.scm system xref maintains source mapping for nested procedures too 2010-09-24 13:24:48 +02:00