summaryrefslogtreecommitdiff
path: root/lib/regexec.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-10-21 10:48:58 +0200
committerAndy Wingo <wingo@pobox.com>2015-10-21 11:49:20 +0200
commit70c317ab5173e26d9f2a9b8b81a9441ef3ef7008 (patch)
tree09cff8c7ea63dd36eab1920eb31a89cd91c256aa /lib/regexec.c
parent9b1ac02a8584ee7ca73a8f5920d7b33c0487bfc0 (diff)
downloadguile-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