diff options
author | Andy Wingo <wingo@pobox.com> | 2015-10-21 10:48:58 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2015-10-21 11:49:20 +0200 |
commit | 70c317ab5173e26d9f2a9b8b81a9441ef3ef7008 (patch) | |
tree | 09cff8c7ea63dd36eab1920eb31a89cd91c256aa /lib/regexec.c | |
parent | 9b1ac02a8584ee7ca73a8f5920d7b33c0487bfc0 (diff) | |
download | guile-70c317ab5173e26d9f2a9b8b81a9441ef3ef7008.tar.gz |
SP-relative local addressing
* libguile/vm-engine.c: S24/S12/S8 operands addressed relative to the
SP, not the FP. Cache the SP instead of a FP-relative locals
pointer. Further cleanups to follow.
* libguile/vm.c (vm_builtin_call_with_values_code): Adapt to mov operand
addresing change.
* module/language/cps/compile-bytecode.scm (compile-function): Reify
SP-relative local indexes where appropriate.
* module/system/vm/assembler.scm (emit-fmov*): New helper, exported as
emit-fmov.
(shuffling-assembler, define-shuffling-assembler): Rewrite to shuffle
via push/pop/drop.
(standard-prelude, opt-prelude, kw-prelude): No need to provide for
shuffling args.
* test-suite/tests/rtl.test: Update.
* module/language/cps/slot-allocation.scm: Don't reserve slots 253-255.
Diffstat (limited to 'lib/regexec.c')
0 files changed, 0 insertions, 0 deletions