1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-24 20:30:28 +02:00
guile/module/system/vm
Andy Wingo 06dcb9dfb6 narrowing stacks to prompts; backtrace shows frames from start-stack
* libguile/stacks.c (scm_sys_stacks): New global variable, moved here
  from boot-9.scm.
  (scm_init_stacks): Define scm_sys_stacks to %stacks.
  (stack_depth): Remove narrowing by frame pointer.
  (find_prompt): New helper.
  (narrow_stack): Clean up a bit, and allow narrowing by prompt tag.
  (scm_make_stack): Update docs, and use scm_stack_id to get the stack
  id.
  (scm_stack_id): The current stack id may be fetched as the cdar of
  %stacks.
  (stack_id_with_fp): Remove helper.

* module/ice-9/boot-9.scm (%start-stack): Fix indentation.
  (%stacks): Remove definition, it's in stacks.c now.
  (default-pre-unwind-handler): Narrow by another frame.
  (save-stack): Remove special handling for certain stack ids, as it is
  often possible that the function isn't on the stack -- in the
  interpreter, or after a tail call. Better to narrow by prompt ids.

* module/system/vm/debug.scm (print-frames): Change to operate on a
  vector of frames.
  (run-debugger): Change to receive a vector of frames. The debugger
  also has the full stack, so it can re-narrow (or widen) to get the
  whole stack, if the user wants.
  (stack->vector): New helper.
  (debug-pre-unwind-handler): Narrow by more frames, and to the most
  recent start-stack invocation. Adapt to run-debugger change.
2010-03-13 21:03:06 +01:00
..
debug.scm narrowing stacks to prompts; backtrace shows frames from start-stack 2010-03-13 21:03:06 +01:00
frame.scm fix texinfo reflection for procedures 2010-01-12 22:50:10 +01:00
inspect.scm add a silly inspector 2010-01-12 00:18:24 +01:00
instruction.scm Switch remaining GPLv2+ Guile-VM headers to LGPLv3+. 2009-07-15 22:46:54 +02:00
objcode.scm Switch remaining GPLv2+ Guile-VM headers to LGPLv3+. 2009-07-15 22:46:54 +02:00
profile.scm Switch remaining GPLv2+ Guile-VM headers to LGPLv3+. 2009-07-15 22:46:54 +02:00
program.scm fix texinfo reflection for procedures 2010-01-12 22:50:10 +01:00
trace.scm vm-trace prints return values 2010-01-14 00:09:54 +01:00
vm.scm tc7 tags for vm-related data 2010-01-07 23:42:41 +01:00