diff options
author | Andy Wingo <wingo@pobox.com> | 2015-10-28 16:40:53 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2015-10-28 16:40:53 +0000 |
commit | e7660a607cabdb0061784ada2869e47db946275b (patch) | |
tree | cf58c7b791fe855811b98482345a3e404ee554d7 /libguile/frames.c | |
parent | dd77a818ba6aefc98a78d03dec61454546992671 (diff) | |
download | guile-e7660a607cabdb0061784ada2869e47db946275b.tar.gz |
VM support for raw slots
* libguile/loader.c (scm_find_slot_map_unlocked): Rename from
scm_find_dead_slot_map_unlocked.
* libguile/vm.c (struct slot_map_cache_entry, struct slot_map_cache)
(find_slot_map): Rename, changing "dead_slot" to "slot".
(enum slot_desc): New type.
(scm_i_vm_mark_stack): Interpret slot maps as having two bits per
slot, allowing us to indicate that a slot is live but not a pointer.
* module/language/cps/compile-bytecode.scm (compile-function): Adapt to
emit-slot-map name change.
* module/system/vm/assembler.scm (<asm>): Rename dead-slot-maps field to
slot-maps.
(emit-slot-map): Rename from emit-dead-slot-map.
(link-frame-maps): 2 bits per slot.
* module/language/cps/slot-allocation.scm (lookup-slot-map): Rename from
lookup-dead-slot-map.
(compute-var-representations): New function.
(allocate-slots): Adapt to encode two-bit slot representations.
Diffstat (limited to 'libguile/frames.c')
0 files changed, 0 insertions, 0 deletions