* module/statprof.scm (get-call-data): For closures, get call data by
the program's objcode.
(statprof-start, statprof-stop): Fix bug in which all statprof runs
were enabling the apply hook regardless of the setting of
#:count-calls?. The result was distorted timings, where procedure
calls were unfairly penalized.
(procedure=?): Streamline.
* module/statprof.scm: Use VM modules, instead of using @ hacks.
(statprof): New public export, a functional interface to the profiler.
(profile-signal-handler, count-call, statprof-start, statprof-stop):
Fix call counting with the VM.
(statprof-call-data->stats): Hack around a case in which a call could
be sampled but not counted, if you get my drift.
(procedure=?): Update for current API.
(with-statprof): Use `statprof'.
* module/system/repl/command.scm (profile): Use the `statprof'
procedural interface.
* module/statprof.scm (make-call-data): Change so that call-data holds
the proc, not its name. Remove set-call-data-name!.
(get-call-data): Adapt caller.
(sample-stack-procs): Always sample procedures on the stack, even
anonymous ones.
(profile-signal-handler): Fix stack cutting to work with compiled
statprof.scm.
(count-call): Always count calls, even to anonymous procedures.
(statprof-call-data->stats): Use call-data-printable for printing the
call data.
(statprof-display-anomolies): Fix a couple longstanding bugs caught by
compiler warnings.
* module/Makefile.am (LIB_SOURCES): Add statprof, sxml, and texinfo to
the build.
(NOCOMP_SOURCES): Reindent, and add the upstream SSAX files.
* module/statprof.scm:
* module/sxml/apply-templates.scm:
* module/sxml/fold.scm:
* module/sxml/simple.scm:
* module/sxml/ssax.scm:
* module/sxml/ssax/input-parse.scm:
* module/sxml/transform.scm:
* module/sxml/upstream/COPYING.SSAX:
* module/sxml/upstream/SSAX.scm:
* module/sxml/upstream/SXML-tree-trans.scm:
* module/sxml/upstream/SXPath-old.scm:
* module/sxml/upstream/assert.scm:
* module/sxml/upstream/input-parse.scm:
* module/sxml/xpath.scm:
* module/texinfo.scm:
* module/texinfo/docbook.scm:
* module/texinfo/html.scm:
* module/texinfo/indexing.scm:
* module/texinfo/plain-text.scm:
* module/texinfo/reflection.scm:
* module/texinfo/serialize.scm:
* module/texinfo/string-utils.scm: Add files from guile-lib to Guile.
It's only Richard, Andreas, Rob, and myself that have copyright on
these, and we have all assigned to the FSF. SSAX itself is in the
public domain.