|
From: Jeremy F. <je...@go...> - 2002-10-14 05:53:55
|
Here's a series of my patches against the current Valgrind CVS head.
They are:
00-lazy-fp
This patch implements lazy FPU state save and restore, which improves
the performance of FPU-intensive code by a factor of 15 or so.
01-partial-mul
This creates a new UInstr for multiply. This is mainly so that memcheck
can treat it like add and generate partially-defined results of multiply
with partially defined arguments.
02-sysv-msg
Support for threaded programs using msgsnd/msgrcv.
03-poll-select
Bind poll and select properly to catch all references.
04-lax-ioctls
Adds new "lax-ioctls" weird hack to make checking on ioctl arguments
very weak (assume all inputs are defined and all outputs become defined).
05-skin-clo-ordering
Reorder the baseBlock init with respect to calling the skin post_clo
routine. Some skins can't register their baseblock helpers until
after CLO parsing, so the skin's post_clo function must be called
before BaseBlock init.
06-memops
Implement memcpy/memset.
07-seginfo
API for skins to extract from information about mapped segments.
08-skin-clientreq
Introduce a systematic way for skins to distinguish each other's
client requests. Uses the de-facto standard two-letter identifiers in
the top two bytes of the client request code. Also changes the
interface to SK_(handle_client_request) so that a skin can say whether
or not it handled the request, which allows correct setting of the
default return value if the request was not handled.
09-rdtsc-calibration
Spin rather than sleep during rtdsc calibration, in order to
compensate for power-management modes where the TSC does not advance
while the CPU is idle. Of course this makes the TSC generally
unreliable as a timing mechanism, but at least it doesn't trigger an
assert.
12-vgprof
A skin which generates gprof-style profiling output files. This allows
profiling of multithreaded programs using shared libraries. Requires a
patched version of gprof to interpret the output files.
(The missing patches are local ones which aren't generally useful.)
Rather than attaching them all, they're available separately at
http://www.goop.org/~jeremy/valgrind/ and rolled together at
http://www.goop.org/~jeremy/valgrind/patches.tar.gz.
More detail on vgprof is available at
http:://www.goop.org/~jeremy/valgrind/vgprof.html.
J
|