diff options
author | Andy Wingo <wingo@pobox.com> | 2018-01-19 21:57:03 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-01-19 21:57:03 +0100 |
commit | 557acdbbba9e3bcc1108d81cbf8c2f7c14fcb29a (patch) | |
tree | df9eb06704d73168960f518cb18de49b2ea320c1 /module/srfi/srfi-9.scm | |
parent | 310c34e11200db58f59c119d58c65822728ba3ba (diff) | |
download | guile-557acdbbba9e3bcc1108d81cbf8c2f7c14fcb29a.tar.gz |
Instruction explosion for struct-ref, struct-set!
* module/language/cps/effects-analysis.scm (&memory-kind-mask): Add
&bitmask, for the bitmask in vtables.
(annotation->memory-kind): Add 'bitmask case.
* module/language/tree-il/compile-cps.scm (ensure-struct-index-in-range):
(prepare-struct-scm-access): New helpers.
(struct-ref/immediate, struct-set!/immediate): New exploded lowering
routines.
(struct-ref, struct-set!): New lowering routines that just do a call.
(canonicalize): Remove struct-ref hack; lowering procedures will
handle it.
* module/language/tree-il/cps-primitives.scm (bytevector-length): Define
struct-set! as returning a value.
Diffstat (limited to 'module/srfi/srfi-9.scm')
0 files changed, 0 insertions, 0 deletions