]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
21 years agoYet another folding rule (CmpLT32S)
Julian Seward [Tue, 19 Oct 2004 12:56:33 +0000 (12:56 +0000)] 
Yet another folding rule (CmpLT32S)

git-svn-id: svn://svn.valgrind.org/vex/trunk@368

21 years agoArch-abstraction:
Nicholas Nethercote [Tue, 19 Oct 2004 11:38:48 +0000 (11:38 +0000)] 
Arch-abstraction:
- Started out x86-specific libpthread code; began with spinlocks.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2797

21 years agoYet another folding rule.
Julian Seward [Tue, 19 Oct 2004 01:25:02 +0000 (01:25 +0000)] 
Yet another folding rule.

git-svn-id: svn://svn.valgrind.org/vex/trunk@367

21 years agoTrack the baseblock layout changes made in rev 365.
Julian Seward [Tue, 19 Oct 2004 01:04:45 +0000 (01:04 +0000)] 
Track the baseblock layout changes made in rev 365.

git-svn-id: svn://svn.valgrind.org/vex/trunk@366

21 years agoRemove all references to hardwired guest state offsets. Instead,
Julian Seward [Tue, 19 Oct 2004 01:03:46 +0000 (01:03 +0000)] 
Remove all references to hardwired guest state offsets.  Instead,
allow definition of a struct containing the guest state (eg,
VexGuestX86State in pub/libvex_guest_x86.h) and derive all offsets
from that struct.

git-svn-id: svn://svn.valgrind.org/vex/trunk@365

21 years agoReally fix statically initialised read-write locks this time...
Tom Hughes [Mon, 18 Oct 2004 23:03:24 +0000 (23:03 +0000)] 
Really fix statically initialised read-write locks this time...

BUG: 91604

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2796

21 years agoUse tgkill instead of tkill if it is available. This is the newer and
Tom Hughes [Mon, 18 Oct 2004 18:56:25 +0000 (18:56 +0000)] 
Use tgkill instead of tkill if it is available. This is the newer and
safer kernel interface to signalling a particular thread and it ensures
you can only send a signal to one of your own threads.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2795

21 years agoArch-abstraction: fix up valgrind.h for future inclusion of other
Nicholas Nethercote [Mon, 18 Oct 2004 18:07:49 +0000 (18:07 +0000)] 
Arch-abstraction: fix up valgrind.h for future inclusion of other
architectures.  Had to recast it as valgrind.h.in;  now at configure time the
appropriate #define is set so that the appropriate snippet of assembly code is
chosen.  It's done this way rather than with x86/ etc. directories like the
rest of Valgrind, because this header file must stand alone for inclusion by
other programs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2794

21 years agoTweak type of VGA_(thread_syscall), and related variable name changes.
Nicholas Nethercote [Mon, 18 Oct 2004 17:41:36 +0000 (17:41 +0000)] 
Tweak type of VGA_(thread_syscall), and related variable name changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2793

21 years agoArch-abstraction:
Nicholas Nethercote [Mon, 18 Oct 2004 17:36:40 +0000 (17:36 +0000)] 
Arch-abstraction:
- factor out the horrid thread_syscall() function, which is written in assembly
  code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2792

21 years agoBack-out accidental commit.
Tom Hughes [Mon, 18 Oct 2004 17:35:35 +0000 (17:35 +0000)] 
Back-out accidental commit.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2791

21 years agoMake statically initialised read-write locks work.
Tom Hughes [Mon, 18 Oct 2004 17:34:43 +0000 (17:34 +0000)] 
Make statically initialised read-write locks work.

BUG: 91604

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2790

21 years agoArch-abstraction:
Nicholas Nethercote [Mon, 18 Oct 2004 17:00:30 +0000 (17:00 +0000)] 
Arch-abstraction:
- factor out the setting of syscall results, which can be more complicated
  than just putting a value in the result register (eg. PPC has to fiddle with
  multiple registers).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2789

21 years agoIncrease the size of M_VG_ERRTXT from 512B to 4KB, increasing the size of C++
Nicholas Nethercote [Mon, 18 Oct 2004 15:47:18 +0000 (15:47 +0000)] 
Increase the size of M_VG_ERRTXT from 512B to 4KB, increasing the size of C++
names that can be demangled.

MERGE TO STABLE

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2787

21 years agoArch-abstraction:
Nicholas Nethercote [Mon, 18 Oct 2004 15:34:14 +0000 (15:34 +0000)] 
Arch-abstraction:
- factor out code for restarting syscalls

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2786

21 years agoArch-abstraction:
Nicholas Nethercote [Mon, 18 Oct 2004 14:47:48 +0000 (14:47 +0000)] 
Arch-abstraction:
- account for x86's strange argument passing (via memory) for mmap()

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2785

21 years agoRestructure the x86->IR phase somewhat, so that it can optionally
Julian Seward [Mon, 18 Oct 2004 14:09:54 +0000 (14:09 +0000)] 
Restructure the x86->IR phase somewhat, so that it can optionally
disassemble across basic block boundaries, when branch destinations
are known (calls to known locs, unconditional branches to known locs).
This can significantly improve performance for some programs.

git-svn-id: svn://svn.valgrind.org/vex/trunk@364

21 years agoArch-abstraction:
Nicholas Nethercote [Mon, 18 Oct 2004 14:08:16 +0000 (14:08 +0000)] 
Arch-abstraction:
- just a couple more constants moved

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2784

21 years agoAdd a couple of lines that were missed out in the long timeouts patch.
Tom Hughes [Mon, 18 Oct 2004 12:11:23 +0000 (12:11 +0000)] 
Add a couple of lines that were missed out in the long timeouts patch.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2783

21 years agoArch-abstraction: a nice change that removes the need for ume_entry.S. Instead
Nicholas Nethercote [Mon, 18 Oct 2004 11:52:17 +0000 (11:52 +0000)] 
Arch-abstraction: a nice change that removes the need for ume_entry.S.  Instead
of using an assembly hack to find the stack pointer at startup, we find it from
argv.  It's much simpler, avoids linking games, is platform independent, and
works on PPC.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2782

21 years agoFix problems with very long timeouts given when waiting on a mutex or
Tom Hughes [Sun, 17 Oct 2004 15:18:22 +0000 (15:18 +0000)] 
Fix problems with very long timeouts given when waiting on a mutex or
condition variable. The pthread routines now use a timeout of 0xfffffffe
if the user asks for something longer than that otherwise we will wrap
around and actually get a much shorter timeout.

The scheduler has also been changed so that it it now limits itself to
a timeout of 0x7fffffff when working how how long to poll for. This won't
affect how long a thread actually sleeps for as we'll just wind up waiting
a bit more on the next pass round the loop.

This fixes bug 76845.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2781

21 years agoImplement pthread_mutex_timedlock. This resolves bug 78422.
Tom Hughes [Sun, 17 Oct 2004 15:00:20 +0000 (15:00 +0000)] 
Implement pthread_mutex_timedlock. This resolves bug 78422.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2780

21 years ago64-bit host fix.
Julian Seward [Sun, 17 Oct 2004 12:16:52 +0000 (12:16 +0000)] 
64-bit host fix.

git-svn-id: svn://svn.valgrind.org/vex/trunk@363

21 years agoImplement MOV Ob,AL.
Julian Seward [Sat, 16 Oct 2004 23:10:08 +0000 (23:10 +0000)] 
Implement MOV Ob,AL.

git-svn-id: svn://svn.valgrind.org/vex/trunk@362

21 years agocalculate_eflags_all: finally get rid of compilation warnings, and
Julian Seward [Sat, 16 Oct 2004 22:59:59 +0000 (22:59 +0000)] 
calculate_eflags_all: finally get rid of compilation warnings, and
do a bit of renaming of variables to make it clearer.

git-svn-id: svn://svn.valgrind.org/vex/trunk@361

21 years agoBe even less verbose.
Julian Seward [Sat, 16 Oct 2004 20:51:52 +0000 (20:51 +0000)] 
Be even less verbose.

git-svn-id: svn://svn.valgrind.org/vex/trunk@360

21 years agoClear C2 after sin/cos/tan/sincos. This is needed to make the glibc
Julian Seward [Sat, 16 Oct 2004 20:51:05 +0000 (20:51 +0000)] 
Clear C2 after sin/cos/tan/sincos.  This is needed to make the glibc
versions of these functions work properly.

git-svn-id: svn://svn.valgrind.org/vex/trunk@359

21 years agoWhen returning from handling a signal check whether any mutex that the
Tom Hughes [Sat, 16 Oct 2004 16:50:14 +0000 (16:50 +0000)] 
When returning from handling a signal check whether any mutex that the
thread was waiting on has been unlocked while the signal handler was
running and resume the thread if it was.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2779

21 years agoIf a thread is waiting on a mutex or condition variable when a signal is
Tom Hughes [Sat, 16 Oct 2004 16:17:06 +0000 (16:17 +0000)] 
If a thread is waiting on a mutex or condition variable when a signal is
delivered that the thread state is temporarily changed from WaitMX or WaitCV
to Running while the signal handler is running. The original state is then
restored when the handler returns.

This patch forces the associated_mx and associated_cv values to be cleared
at the same time and the original values restored afterwards. Without this
the scheduler state will not be considered sane while the handler is running.

This is based on a patch from Kenneth Schalk and fixes a problem he had
with posting to a semaphore in a signal handler. It also allows a couple
of assertions in the scheduler sanity check to be uncommented.

BUG: 72082

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2778

21 years agoRemove unnecessary glibc #includes; use VKI_O_RDONLY instead of O_RDONLY as
Nicholas Nethercote [Sat, 16 Oct 2004 15:31:49 +0000 (15:31 +0000)] 
Remove unnecessary glibc #includes;  use VKI_O_RDONLY instead of O_RDONLY as
appropriate with VG_(open).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2777

21 years agoRemove the limit on the number of pthread read/write locks. This works
Tom Hughes [Sat, 16 Oct 2004 14:49:53 +0000 (14:49 +0000)] 
Remove the limit on the number of pthread read/write locks. This works
in a similar way to the previous patch that removed the limit on the
number of semaphores and fixes bug 86264.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2776

21 years agoAdd a dummy implementation of pthread_attr_getinheritsched.
Tom Hughes [Sat, 16 Oct 2004 14:24:43 +0000 (14:24 +0000)] 
Add a dummy implementation of pthread_attr_getinheritsched.

BUG: 79495

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2775

21 years agoReinstate tests for byte-sized division (divb, idivb)
Julian Seward [Sat, 16 Oct 2004 11:36:34 +0000 (11:36 +0000)] 
Reinstate tests for byte-sized division (divb, idivb)

git-svn-id: svn://svn.valgrind.org/vex/trunk@358

21 years ago* Handle fcmovnz
Julian Seward [Sat, 16 Oct 2004 11:32:15 +0000 (11:32 +0000)] 
* Handle fcmovnz
* Handle byte-sized integer divide (divb, idivb)

git-svn-id: svn://svn.valgrind.org/vex/trunk@357

21 years agoiselCondCode: handle 1:Bit
Julian Seward [Sat, 16 Oct 2004 11:31:31 +0000 (11:31 +0000)] 
iselCondCode: handle 1:Bit

git-svn-id: svn://svn.valgrind.org/vex/trunk@356

21 years ago* More fold_Expr rulese
Julian Seward [Sat, 16 Oct 2004 11:30:42 +0000 (11:30 +0000)] 
* More fold_Expr rulese
* deltaIRStmt: handle dirty helper calls

git-svn-id: svn://svn.valgrind.org/vex/trunk@355

21 years agoSuppress .stderr.diff2 files as well as .stderr.diff files.
Tom Hughes [Sat, 16 Oct 2004 11:02:33 +0000 (11:02 +0000)] 
Suppress .stderr.diff2 files as well as .stderr.diff files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2774

21 years agoWhen signal routing is in use (because we are running on an older kernel
Tom Hughes [Sat, 16 Oct 2004 10:59:49 +0000 (10:59 +0000)] 
When signal routing is in use (because we are running on an older kernel
that doesn't route signals to the correct threads properly) the siginfo
data was not being propagated to any signal handlers installed by the
client program.

This is because the main thread routes the signal to the proxy LWP by
using the tkill system call but that then appears in the proxy as a user
initiated signal and the original siginfo data is lost.

This patch adds a small queue of siginfo data for pending sigals to
each thread's state so that when the proxy LWP passes the signal back
to the main thread the relevant siginfo data can be recovered and passed
on to any signal handlers. Thix fixes bug 91325.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2773

21 years agoYet another attempt to quash the assertions in the pthread forwarding code.
Tom Hughes [Sat, 16 Oct 2004 10:50:11 +0000 (10:50 +0000)] 
Yet another attempt to quash the assertions in the pthread forwarding code.

It appears that the resolution of the address is to forward to is now
working properly but that on some systems the second part of the assertion
fails because the dynamic linker resolves the name of the function being
forwarded to the glibc version rather than the version in valgrind's pthread
library.

The solution is to use dlopen to explicitly obtain a handle to valgrind's
pthread library and then lookup the symbol with dlsym when doing the
comparison in the assertion.

BUG: 88614

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2772

21 years agoIt seems there are some kernels around where the getpid system call has
Tom Hughes [Sat, 16 Oct 2004 10:46:01 +0000 (10:46 +0000)] 
It seems there are some kernels around where the getpid system call has
been changed to return the ID of the thread group leader but which do not
have a gettid system call.

This breaks VG_(gettid) which assumes that the getpid system call will
give the thread ID if the gettid system call does not exist.

The (horrible) solution is to use readlink to see where /proc/self points
when the gettid system call fails.

BUG: 82114

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2771

21 years agoImplement IEEE754-compliant fprem1.
Julian Seward [Fri, 15 Oct 2004 22:57:13 +0000 (22:57 +0000)] 
Implement IEEE754-compliant fprem1.

git-svn-id: svn://svn.valgrind.org/vex/trunk@354

21 years agoComment change only.
Julian Seward [Fri, 15 Oct 2004 22:56:38 +0000 (22:56 +0000)] 
Comment change only.

git-svn-id: svn://svn.valgrind.org/vex/trunk@353

21 years agoFix minor problems in x86 FP guest assembler.
Julian Seward [Fri, 15 Oct 2004 22:22:09 +0000 (22:22 +0000)] 
Fix minor problems in x86 FP guest assembler.

git-svn-id: svn://svn.valgrind.org/vex/trunk@352

21 years agoImplement guest x86 fptan.
Julian Seward [Fri, 15 Oct 2004 22:09:17 +0000 (22:09 +0000)] 
Implement guest x86 fptan.

git-svn-id: svn://svn.valgrind.org/vex/trunk@351

21 years ago* Reinstate a whole bunch of tests
Julian Seward [Fri, 15 Oct 2004 21:26:24 +0000 (21:26 +0000)] 
* Reinstate a whole bunch of tests
* Use TEST_INTEGER_VERBOSE to control verbosity of int tests.

git-svn-id: svn://svn.valgrind.org/vex/trunk@350

21 years ago* Add a couple more FP cases exposed by test/test-i386.c
Julian Seward [Fri, 15 Oct 2004 21:23:12 +0000 (21:23 +0000)] 
* Add a couple more FP cases exposed by test/test-i386.c
* Fix "undefined" behaviour of bsf/bsr so it matches hardware.

git-svn-id: svn://svn.valgrind.org/vex/trunk@349

21 years agoFill in some missing cases:
Julian Seward [Fri, 15 Oct 2004 21:21:46 +0000 (21:21 +0000)] 
Fill in some missing cases:
* Handle dirty helper calls in PutI/GetI transformations
* Add a few more constant folding rules

git-svn-id: svn://svn.valgrind.org/vex/trunk@348

21 years agoAdd a few more conditional-move and string-op cases.
Julian Seward [Fri, 15 Oct 2004 00:03:23 +0000 (00:03 +0000)] 
Add a few more conditional-move and string-op cases.

git-svn-id: svn://svn.valgrind.org/vex/trunk@347

21 years agoImplement btc, and bt* for memory operand.
Julian Seward [Thu, 14 Oct 2004 23:34:03 +0000 (23:34 +0000)] 
Implement btc, and bt* for memory operand.

git-svn-id: svn://svn.valgrind.org/vex/trunk@346

21 years agoFix stupid bug in insn decoder caused by Rev 344.
Julian Seward [Thu, 14 Oct 2004 21:58:52 +0000 (21:58 +0000)] 
Fix stupid bug in insn decoder caused by Rev 344.

git-svn-id: svn://svn.valgrind.org/vex/trunk@345

21 years agoFix various compilation warnings, all insignificant.
Julian Seward [Thu, 14 Oct 2004 21:48:59 +0000 (21:48 +0000)] 
Fix various compilation warnings, all insignificant.

git-svn-id: svn://svn.valgrind.org/vex/trunk@344

21 years agoFinally resolve compilation warnings in iropt.c pertaining to the
Julian Seward [Thu, 14 Oct 2004 21:40:12 +0000 (21:40 +0000)] 
Finally resolve compilation warnings in iropt.c pertaining to the
casts of pointers to/from the 64-bit hash values.  Instead, invent a
type 'HWord' which is the same size as a pointer on the host.  Check
all data sizes at library initialisation, for sanity purposes.  Use
HWord instead of ULong for the association tables in iropt.c.  This
has the added advantage that it makes iropt a bit faster and less
space-hungry on 32-bit hosts, since HWord is 32-bits on a 32-bit host.

git-svn-id: svn://svn.valgrind.org/vex/trunk@343

21 years agoMake loop unrolling less verbose.
Julian Seward [Thu, 14 Oct 2004 19:33:25 +0000 (19:33 +0000)] 
Make loop unrolling less verbose.

git-svn-id: svn://svn.valgrind.org/vex/trunk@342

21 years agoLibVEX_Alloc: on 32-bit hosts, only align storage to 4, not 8.
Julian Seward [Thu, 14 Oct 2004 19:06:44 +0000 (19:06 +0000)] 
LibVEX_Alloc: on 32-bit hosts, only align storage to 4, not 8.
Also remove a pointless test for zero-sized allocs.

git-svn-id: svn://svn.valgrind.org/vex/trunk@341

21 years agoRemove duplicate declaration.
Nicholas Nethercote [Thu, 14 Oct 2004 14:24:55 +0000 (14:24 +0000)] 
Remove duplicate declaration.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2770

21 years agoRemove unnecessary #includes.
Nicholas Nethercote [Thu, 14 Oct 2004 13:41:28 +0000 (13:41 +0000)] 
Remove unnecessary #includes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2769

21 years agoReplace glibc header with equivalent kernel header, which fixes a compile
Nicholas Nethercote [Thu, 14 Oct 2004 11:18:26 +0000 (11:18 +0000)] 
Replace glibc header with equivalent kernel header, which fixes a compile
problem seen by Sefer Tov.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2767

21 years agoSince we use "-Wl,-e,_ume_entry" when linking stage2, there is no need to
Nicholas Nethercote [Thu, 14 Oct 2004 10:58:28 +0000 (10:58 +0000)] 
Since we use "-Wl,-e,_ume_entry" when linking stage2, there is no need to
rename "_start" as "_ume_entry" in stage2.lds.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2766

21 years agoA bit more inlining of small fns.
Julian Seward [Thu, 14 Oct 2004 10:42:15 +0000 (10:42 +0000)] 
A bit more inlining of small fns.

git-svn-id: svn://svn.valgrind.org/vex/trunk@340

21 years agoChange so that external tools can find the appropriate $ARCH and $PLATFORM
Nicholas Nethercote [Thu, 14 Oct 2004 10:22:19 +0000 (10:22 +0000)] 
Change so that external tools can find the appropriate $ARCH and $PLATFORM
subdirs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2765

21 years agoAvoid warning about not returning a value from main().
Nicholas Nethercote [Thu, 14 Oct 2004 09:48:55 +0000 (09:48 +0000)] 
Avoid warning about not returning a value from main().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2764

21 years agoArch-abstraction: replace direct mentions of x86/ directory with ${VG_ARCH}.
Nicholas Nethercote [Thu, 14 Oct 2004 09:48:34 +0000 (09:48 +0000)] 
Arch-abstraction: replace direct mentions of x86/ directory with ${VG_ARCH}.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2763

21 years agoFurther strengthened the unit self-test, by also testing find_auxv(). Now all
Nicholas Nethercote [Thu, 14 Oct 2004 09:28:11 +0000 (09:28 +0000)] 
Further strengthened the unit self-test, by also testing find_auxv().  Now all
functions exported by ume.c are tested.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2762

21 years agoStrengthened the unit self-test, by also testing foreach_map(), the other
Nicholas Nethercote [Thu, 14 Oct 2004 08:52:43 +0000 (08:52 +0000)] 
Strengthened the unit self-test, by also testing foreach_map(), the other
function exported by ume.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2761

21 years agoAdded a unit self-test -- a test program that incorporates a small part of
Nicholas Nethercote [Thu, 14 Oct 2004 08:38:06 +0000 (08:38 +0000)] 
Added a unit self-test -- a test program that incorporates a small part of
Valgrind itself (the files ume.c, ume_entry.c and jmp_with_stack.c).  Thus,
we are using Memcheck to check these files in a unit test setting.

I hope to do unit self-testing for many more parts of Valgrind, eventually all
the bits that can be pulled out into any kind of sensible stand-alone form.
Doing so achieves two things:

 a) it introduces unit testing into our framework (a serious shortcoming at the
    moment)
 b) it lets us use Valgrind (esp. Memcheck) on itself, to some extent

This should help reliability.  This first unit self-test isn't very exhaustive,
but it's a start.

Note that this involves something like bootstrapping, in that we are checking
parts of a Valgrind build with itself.  I don't think this will be a problem,
since we (at least, I do) tend to only run the regtests when we think the
Valgrind build is ok.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2760

21 years agoMinor improvements.
Julian Seward [Thu, 14 Oct 2004 01:08:12 +0000 (01:08 +0000)] 
Minor improvements.

git-svn-id: svn://svn.valgrind.org/vex/trunk@339

21 years agoReduce debug printing.
Julian Seward [Thu, 14 Oct 2004 01:06:44 +0000 (01:06 +0000)] 
Reduce debug printing.

git-svn-id: svn://svn.valgrind.org/vex/trunk@338

21 years agoinline getArrayBounds.
Julian Seward [Thu, 14 Oct 2004 00:28:41 +0000 (00:28 +0000)] 
inline getArrayBounds.

git-svn-id: svn://svn.valgrind.org/vex/trunk@337

21 years agoComment change only.
Julian Seward [Thu, 14 Oct 2004 00:28:15 +0000 (00:28 +0000)] 
Comment change only.

git-svn-id: svn://svn.valgrind.org/vex/trunk@336

21 years agoSpeed up the tree-builder.
Julian Seward [Thu, 14 Oct 2004 00:08:21 +0000 (00:08 +0000)] 
Speed up the tree-builder.

git-svn-id: svn://svn.valgrind.org/vex/trunk@335

21 years agoSpeed up constant folder.
Julian Seward [Wed, 13 Oct 2004 23:29:22 +0000 (23:29 +0000)] 
Speed up constant folder.

git-svn-id: svn://svn.valgrind.org/vex/trunk@334

21 years agoMuch improve the speed of the dead code elimination pass.
Julian Seward [Wed, 13 Oct 2004 22:41:16 +0000 (22:41 +0000)] 
Much improve the speed of the dead code elimination pass.

git-svn-id: svn://svn.valgrind.org/vex/trunk@333

21 years agoAdd a couple of cases exposed by the IR loop unroller.
Julian Seward [Wed, 13 Oct 2004 20:45:25 +0000 (20:45 +0000)] 
Add a couple of cases exposed by the IR loop unroller.

git-svn-id: svn://svn.valgrind.org/vex/trunk@332

21 years agoAdd controllability to the loop unroller. Depending on how big
Julian Seward [Wed, 13 Oct 2004 20:44:46 +0000 (20:44 +0000)] 
Add controllability to the loop unroller.  Depending on how big
loops are, they will get unrolled 8, 4 or 2 times, or not at all.

git-svn-id: svn://svn.valgrind.org/vex/trunk@331

21 years agoImplement pthread_mutexattr_gettype.
Tom Hughes [Wed, 13 Oct 2004 18:29:54 +0000 (18:29 +0000)] 
Implement pthread_mutexattr_gettype.

CCMAIL: 91199-done@bugs.kde.org

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2759

21 years agoRename hoops() as main() -- much clearer.
Nicholas Nethercote [Wed, 13 Oct 2004 17:58:36 +0000 (17:58 +0000)] 
Rename hoops() as main() -- much clearer.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2758

21 years agoSome combined cleaning up and arch-abstraction, involving UME and start-up:
Nicholas Nethercote [Wed, 13 Oct 2004 17:55:31 +0000 (17:55 +0000)] 
Some combined cleaning up and arch-abstraction, involving UME and start-up:
- removed some assumptions that arch==x86 in Makefile.am files

- removed ume_arch.h;  moved its contents into ume.h.  There was no need for
  these to be separate.

- moved ume_go.c into an x86/ subdir;  gave it the more meaningful name
  jmp_with_stack.c in the process (the corresponding function also got the name
  change)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2757

21 years agoCleaned up ume.h by moving some functions around.
Nicholas Nethercote [Wed, 13 Oct 2004 17:29:01 +0000 (17:29 +0000)] 
Cleaned up ume.h by moving some functions around.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2756

21 years agoDisable debug printing for CSE.
Julian Seward [Wed, 13 Oct 2004 17:21:34 +0000 (17:21 +0000)] 
Disable debug printing for CSE.

git-svn-id: svn://svn.valgrind.org/vex/trunk@330

21 years agoDisable CSEing of loads as it's incorrect until such time as the CSEr
Julian Seward [Wed, 13 Oct 2004 17:08:42 +0000 (17:08 +0000)] 
Disable CSEing of loads as it's incorrect until such time as the CSEr
invalidates ld-based available expressions when going past stores or
dirty helper calls.

git-svn-id: svn://svn.valgrind.org/vex/trunk@329

21 years ago* Re-run CSE and DCE after loop unrolling, if expensive-mode is not
Julian Seward [Wed, 13 Oct 2004 16:59:41 +0000 (16:59 +0000)] 
* Re-run CSE and DCE after loop unrolling, if expensive-mode is not
  switched on

* Enhance CSE so it can CSE loads out.

git-svn-id: svn://svn.valgrind.org/vex/trunk@328

21 years agoAdd alternate results for some tests that use mmap.
Tom Hughes [Wed, 13 Oct 2004 16:48:21 +0000 (16:48 +0000)] 
Add alternate results for some tests that use mmap.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2755

21 years agoStage2 doesn't need ume_go.c.
Nicholas Nethercote [Wed, 13 Oct 2004 16:36:03 +0000 (16:36 +0000)] 
Stage2 doesn't need ume_go.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2754

21 years agoFix bug in rev 326 (folding rule for Shl32(x,0) ==> x)
Julian Seward [Wed, 13 Oct 2004 16:16:27 +0000 (16:16 +0000)] 
Fix bug in rev 326 (folding rule for Shl32(x,0) ==> x)

git-svn-id: svn://svn.valgrind.org/vex/trunk@327

21 years agofold_Expr: do Shl32(x,0) ==> x
Julian Seward [Wed, 13 Oct 2004 16:08:14 +0000 (16:08 +0000)] 
fold_Expr: do Shl32(x,0) ==> x

git-svn-id: svn://svn.valgrind.org/vex/trunk@326

21 years agoIntroduce primop Iop_Not1 :: Bit -> Bit, and use it to to a better
Julian Seward [Wed, 13 Oct 2004 15:20:17 +0000 (15:20 +0000)] 
Introduce primop Iop_Not1 :: Bit -> Bit, and use it to to a better
job of negating test expressions during IR loop unrolling.

git-svn-id: svn://svn.valgrind.org/vex/trunk@325

21 years agoFix formatting of the loop unroller code. Whitespace change only.
Julian Seward [Wed, 13 Oct 2004 15:03:18 +0000 (15:03 +0000)] 
Fix formatting of the loop unroller code.  Whitespace change only.

git-svn-id: svn://svn.valgrind.org/vex/trunk@324

21 years agoAllow for test output files.
Nicholas Nethercote [Wed, 13 Oct 2004 14:55:07 +0000 (14:55 +0000)] 
Allow for test output files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2753

21 years agoArch-abstraction:
Nicholas Nethercote [Wed, 13 Oct 2004 14:50:35 +0000 (14:50 +0000)] 
Arch-abstraction:
- whoops, missed one ucontext use in last commit

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2752

21 years agoAdd loop unrolling to iropt (simple, crude first attempt). This also
Julian Seward [Wed, 13 Oct 2004 14:50:14 +0000 (14:50 +0000)] 
Add loop unrolling to iropt (simple, crude first attempt).  This also
required finally biting the bullet and making a proper set of deep-copy
constructors for IR (the dopy* functions).

git-svn-id: svn://svn.valgrind.org/vex/trunk@323

21 years agoArch-abstraction:
Nicholas Nethercote [Wed, 13 Oct 2004 14:42:57 +0000 (14:42 +0000)] 
Arch-abstraction:
- factor out differences in ucontext types across different archs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2751

21 years agoPreparing for powerpc inclusion, one day.
Nicholas Nethercote [Wed, 13 Oct 2004 13:50:01 +0000 (13:50 +0000)] 
Preparing for powerpc inclusion, one day.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2750

21 years agoArch-abstraction: genericise warning about unsupported architectures.
Nicholas Nethercote [Wed, 13 Oct 2004 13:18:51 +0000 (13:18 +0000)] 
Arch-abstraction: genericise warning about unsupported architectures.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2749

21 years agoArch-abstraction:
Nicholas Nethercote [Wed, 13 Oct 2004 13:05:20 +0000 (13:05 +0000)] 
Arch-abstraction:
- move LDT stuff out of core, into x86-linux specific stuff.  Some of it
  (VG_(do_useseg)()?) may be really x86-specific, rather than
  x86/linux-specific, but that can be fixed later if it's really shared with
  another OS.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2748

21 years agoAdd a new CPUID cache configuration for more recent Pentiums.
Nicholas Nethercote [Wed, 13 Oct 2004 11:30:14 +0000 (11:30 +0000)] 
Add a new CPUID cache configuration for more recent Pentiums.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2746

21 years agoFix for bug 91162: cope with jumps to bogus addresses when there is a SEGV
Nicholas Nethercote [Wed, 13 Oct 2004 09:47:24 +0000 (09:47 +0000)] 
Fix for bug 91162:  cope with jumps to bogus addresses when there is a SEGV
signal handler present -- previously, Valgrind would abort unnecessarily on
this case.

Added a regression test for it.

MERGE TO STABLE

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2743

21 years agox86 assembler: handle x86 FP reg-reg moves
Julian Seward [Tue, 12 Oct 2004 13:44:45 +0000 (13:44 +0000)] 
x86 assembler: handle x86 FP reg-reg moves

git-svn-id: svn://svn.valgrind.org/vex/trunk@322

21 years agoExtend CSE so it commons up F64i literals. This also requires changes
Julian Seward [Tue, 12 Oct 2004 13:44:12 +0000 (13:44 +0000)] 
Extend CSE so it commons up F64i literals.  This also requires changes
in the flattener -- to lift out F64is in the first place -- and in the
constant propagator, to not propagate them back into expressions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@321

21 years agoEven more minor PutI/GetI cleanups.
Julian Seward [Tue, 12 Oct 2004 09:51:56 +0000 (09:51 +0000)] 
Even more minor PutI/GetI cleanups.

git-svn-id: svn://svn.valgrind.org/vex/trunk@320

21 years agoMore cleanups of PutI/GetI transformations:
Julian Seward [Tue, 12 Oct 2004 09:47:15 +0000 (09:47 +0000)] 
More cleanups of PutI/GetI transformations:
* PutI-GetI forwarding: check that the forwarded value is of the
  same type as the original GetI'd value
* findPutI: use getAliasingRelation_IC/getAliasingRelation_II.

git-svn-id: svn://svn.valgrind.org/vex/trunk@319