diff options
author | Andy Wingo <wingo@pobox.com> | 2009-09-27 18:16:56 -0400 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-10-23 14:51:17 +0200 |
commit | 1e2a8c266d720a5dca97a96e5cde860a9d934ad6 (patch) | |
tree | 01dfd6714e8afaa0213ea75ec9b751092c9b7f45 /libguile/vm-engine.c | |
parent | 04c68c039194f33d5bd7e8b1f21eba7c8bd6adbe (diff) | |
download | guile-1e2a8c266d720a5dca97a96e5cde860a9d934ad6.tar.gz |
steps on the way to have the callee check the number of arguments
* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump.
* libguile/vm-i-system.c (assert-nargs-ee, assert-nargs-ge)
(push-rest-list): New instructions, which for now don't actually do
anything. Renumber the rest of the ops in this file.
* module/language/glil.scm (<glil-arity>): New GLIL type, an entity that
checks the number of args for a block, optionally consing a rest list,
and either branching or erroring if the arity doesn't match.
* module/language/glil/compile-assembly.scm (glil->assembly): Compile
<glil-arity> to assembly. Some of these VM ops are not implemented --
notably the branching case.
* module/language/tree-il/compile-glil.scm (flatten-lambda): Emit
<glil-arity>.
* test-suite/tests/tree-il.test: Update.
Diffstat (limited to 'libguile/vm-engine.c')
0 files changed, 0 insertions, 0 deletions