Implement precise marking of the VM stack.
authorLudovic Courtès <ludo@gnu.org>
Wed, 19 Aug 2009 23:56:47 +0000 (01:56 +0200)
committerLudovic Courtès <ludo@gnu.org>
Wed, 19 Aug 2009 23:56:47 +0000 (01:56 +0200)
commite3eb628d889b8cb9821a274e41b72f9751b6ee0a
tree9c73410ce16ac53efb2be34dcdbda922f22314b5
parent75d315e1fbb0da6af8c48d17fd5b2a7a759fe849
Implement precise marking of the VM stack.

Suggested by Andy Wingo.

* libguile/vm.c (VM_ENABLE_PRECISE_STACK_GC_SCAN): New macro.
  (vm_stack_gc_kind): New variable.
  (make_vm)[VM_ENABLE_PRECISE_STACK_GC_SCAN]: Use `GC_generic_malloc ()'
  to allocate the stack.
  (vm_stack_mark): New function.
  (scm_bootstrap_vm)[VM_ENABLE_PRECISE_STACK_GC_SCAN]: Initialize
  `vm_stack_gc_kind'.
libguile/vm.c