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/loader.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/loader.c')
-rw-r--r-- | libguile/loader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/loader.c b/libguile/loader.c index a55bd15b0..97effb30d 100644 --- a/libguile/loader.c +++ b/libguile/loader.c @@ -1,5 +1,5 @@ /* Copyright (C) 2001, 2009, 2010, 2011, 2012 - * 2013, 2014 Free Software Foundation, Inc. + * 2013, 2014, 2015 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -748,7 +748,7 @@ verify (sizeof (struct frame_map_prefix) == 8); verify (sizeof (struct frame_map_header) == 8); const scm_t_uint8 * -scm_find_dead_slot_map_unlocked (const scm_t_uint32 *ip) +scm_find_slot_map_unlocked (const scm_t_uint32 *ip) { struct mapped_elf_image *image; char *base; |