summaryrefslogtreecommitdiff
path: root/libguile/frames.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-10-28 16:40:53 +0000
committerAndy Wingo <wingo@pobox.com>2015-10-28 16:40:53 +0000
commite7660a607cabdb0061784ada2869e47db946275b (patch)
treecf58c7b791fe855811b98482345a3e404ee554d7 /libguile/frames.c
parentdd77a818ba6aefc98a78d03dec61454546992671 (diff)
downloadguile-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