1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-22 20:40:29 +02:00
guile/module
Andy Wingo 3f9f4a2d59 Statprof always stores full stack traces
* module/statprof.scm (<state>): Instead of a boolean count-calls?,
  treat the presence of a call-counts hash table as indicating a need to
  count calls.  That hash table maps callees to call counts.  A "callee"
  is either the IP of the entry of a program, the symbolic name of a
  primitive, or the identity of a non-program.

  New members "buffer" and "buffer-pos" replace "procedure-data".
  We try to avoid analyzing things at runtime, instead just recording
  the stack traces into a buffer.  This will let us do smarter things
  when post-processing.

  (fresh-buffer, expand-buffer): New helpers.

  (fresh-profiler-state): Adapt to <state> changes.

  (sample-stack-procs): Instead of updating the procedure-data
  table (which no longer exists), instead trace the stack into the
  buffer.

  (count-call): Update to update the call-counts table instead of the
  procedure-data table.

  (statprof-start, statprof-start): Adapt to call-counts change.

  (call-data): Move lower in the file.  Add "name" and "printable"
  members, and no longer store a proc.

  (source->string, program-debug-info-printable, addr->pdi)
  (addr->printable): New helpers.

  (stack-samples->procedure-data): New procedure to process stack trace
  buffer into a hash table of the same format as the old procedure-data
  table.

  (statprof-fold-call-data, statprof-proc-call-data): Use
  stack-samples->procedure-data instead of procedure-data.

  (statprof-call-data->stats): Adapt to count-calls change.

  (statprof-display, statprof-display-anomalies): Adapt.
2014-02-28 18:35:25 +01:00
..
ice-9 Unwind-only stack overflow exceptions 2014-02-20 09:45:01 +01:00
language Simplification pass prunes all unreachable continuations 2014-02-25 21:32:36 +01:00
oop Avoid using 'eval-when' with 'expand' in (oop goops). 2014-02-07 20:05:17 -05:00
rnrs Merge commit '8571dbde63' 2013-11-28 15:00:17 +01:00
scripts Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
srfi Merge commit '2f3b7e9a41' 2014-02-08 14:44:11 +01:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system (system vm program) exports primitive? 2014-02-28 17:42:45 +01:00
texinfo Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
web Merge commit 'a5cbbaa66a' 2014-02-07 14:43:23 +01:00
Makefile.am Add prune-top-level-scopes pass 2014-02-13 09:30:39 +01:00
rnrs.scm Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
statprof.scm Statprof always stores full stack traces 2014-02-28 18:35:25 +01:00
texinfo.scm Fix newline preservation in @example with lines beginning with @ 2014-02-27 17:16:29 +01:00