Fix inner and outer stack cuts to match on procedure code
authorAndy Wingo <wingo@pobox.com>
Thu, 1 May 2014 12:26:20 +0000 (14:26 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 1 May 2014 12:26:20 +0000 (14:26 +0200)
commitde0233af177806ac96d535bb58f27875fb8c5375
tree2df38f60a3a772f10d8b351dde2054892ebf5ca0
parentd7a67c3e918acd8ca46dc7792a8ca98b33cb94e8
Fix inner and outer stack cuts to match on procedure code

* doc/ref/api-debug.texi (Stack Capture): Update make-stack docs.

* libguile/programs.h:
* libguile/programs.c (scm_program_address_range): New internal
  procedure.

* libguile/stacks.c (narrow_stack): Interpret a pair of integers as an
  address range.  If a cut is a procedure, attempt to resolve it to an
  address range.
  (scm_make_stack): Update docstring.

* module/system/vm/program.scm (program-address-range): New exported
  procedure.

* module/statprof.scm (statprof, gcprof): Use program-address-range to
  get the outer-cut, for efficiency.
doc/ref/api-debug.texi
libguile/programs.c
libguile/programs.h
libguile/stacks.c
module/statprof.scm
module/system/vm/program.scm