diff options
author | Andy Wingo <wingo@pobox.com> | 2014-04-21 19:28:06 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-04-21 22:47:28 +0200 |
commit | d4b3a36d4202d7e891a3642b9de12a8800f57b38 (patch) | |
tree | 719d6697392941d5719b020612be5b3dcf8519c9 /doc/example-smob/image-type.h | |
parent | 28e12ea0c401ea2c1aad203d7b45b2209d5e9be2 (diff) | |
download | guile-d4b3a36d4202d7e891a3642b9de12a8800f57b38.tar.gz |
Operations on 8-bit and 12-bit operands shuffle args into range
* module/language/cps/slot-allocation.scm (allocate-slots): Avoid
allocating locals in the range [253,255].
* module/system/vm/assembler.scm: List exports explicitly. For
operations with limited-range operands, export wrapper assemblers that
handle shuffling their operands into and out of their range.
(define-assembler): Get rid of enclosing begin.
(shuffling-assembler, define-shuffling-assembler): New helpers to
define shuffling wrapper assemblers.
(emit-mov*, emit-receive*): New functions.
(shuffle-up-args): New helper.
(standard-prelude, opt-prelude, kw-prelude): Call shuffle-up-args
after finishing.
* test-suite/tests/compiler.test ("limits"): Add test cases.
Diffstat (limited to 'doc/example-smob/image-type.h')
0 files changed, 0 insertions, 0 deletions