]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
22 years agoAdd some more assertion checking where it was lacking.
Nicholas Nethercote [Sun, 11 Jul 2004 18:11:33 +0000 (18:11 +0000)] 
Add some more assertion checking where it was lacking.

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

22 years agoRemoved some code from VG_(client_alloc)() that could be left to VG_(mmap)().
Nicholas Nethercote [Sun, 11 Jul 2004 18:01:06 +0000 (18:01 +0000)] 
Removed some code from VG_(client_alloc)() that could be left to VG_(mmap)().

Added a comment about stack extension failure.

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

22 years agoMore x86toIR cases.
Julian Seward [Sun, 11 Jul 2004 16:53:24 +0000 (16:53 +0000)] 
More x86toIR cases.

Change the type of disAMode so the returned value is assigned
to a temporary, which can be used multiple times without
duplicating work / risking incorrectness.

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

22 years agoYet more x86toIR cases, including set<cond> insn.
Julian Seward [Sun, 11 Jul 2004 13:28:24 +0000 (13:28 +0000)] 
Yet more x86toIR cases, including set<cond> insn.

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

22 years agoMore cases, including inc and dec, and rationalising flag-setting logic.
Julian Seward [Sun, 11 Jul 2004 02:37:54 +0000 (02:37 +0000)] 
More cases, including inc and dec, and rationalising flag-setting logic.

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

22 years agoYet more cases in x86toIR.
Julian Seward [Sat, 10 Jul 2004 22:43:54 +0000 (22:43 +0000)] 
Yet more cases in x86toIR.

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

22 years agox86toIR: machinery for setting condition codes from shift insns.
Julian Seward [Sat, 10 Jul 2004 19:02:10 +0000 (19:02 +0000)] 
x86toIR: machinery for setting condition codes from shift insns.

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

22 years agoRemoved some unnecessary is_kerror() checks.
Nicholas Nethercote [Sat, 10 Jul 2004 18:08:13 +0000 (18:08 +0000)] 
Removed some unnecessary is_kerror() checks.

Fixed nanosleep's formatting.

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

22 years agoAdded assertion checking to a whole bunch of mmap() and munmap() calls. I used
Nicholas Nethercote [Sat, 10 Jul 2004 17:49:17 +0000 (17:49 +0000)] 
Added assertion checking to a whole bunch of mmap() and munmap() calls.  I used
assertions because if these calls fail, it's a bug in Valgrind.

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

22 years agoFormat wibble.
Nicholas Nethercote [Sat, 10 Jul 2004 17:36:52 +0000 (17:36 +0000)] 
Format wibble.

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

22 years agoFormat wibble
Nicholas Nethercote [Sat, 10 Jul 2004 17:30:07 +0000 (17:30 +0000)] 
Format wibble

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

22 years agoWhoops, fix comment.
Nicholas Nethercote [Sat, 10 Jul 2004 17:27:20 +0000 (17:27 +0000)] 
Whoops, fix comment.

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

22 years agoRemove out-of-date comment.
Nicholas Nethercote [Sat, 10 Jul 2004 17:22:27 +0000 (17:22 +0000)] 
Remove out-of-date comment.

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

22 years agoA few changes:
Nicholas Nethercote [Sat, 10 Jul 2004 17:21:14 +0000 (17:21 +0000)] 
A few changes:
- removed an unnecessary VG_(unmap_range)() call in do_brk() -- the
  VG_(munmap)() just before it does it anyway.
- inlined mprotect_segment() and munmap_segment() because it's more concise and
  easier to understand that way.
- a couple of minor formatting changes
- added and cleaned up a couple of comments

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

22 years agoComment changes only.
Nicholas Nethercote [Sat, 10 Jul 2004 16:59:25 +0000 (16:59 +0000)] 
Comment changes only.

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

22 years agoRemove out-of-date comment -- should have been removed when VG_(mmap)() was
Nicholas Nethercote [Sat, 10 Jul 2004 16:57:20 +0000 (16:57 +0000)] 
Remove out-of-date comment -- should have been removed when VG_(mmap)() was
changed to accept the sf_flags argument.

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

22 years agoRemoved the 'place-holder' behaviour of VG_(mmap). Previously, VG_(mmap) would
Nicholas Nethercote [Sat, 10 Jul 2004 16:50:09 +0000 (16:50 +0000)] 
Removed the 'place-holder' behaviour of VG_(mmap).  Previously, VG_(mmap) would
add a segment mapping to the segment skip-list, and then often the caller of
VG_(mmap) would do another one for the same segment, just to change the SF_*
flags.  Now VG_(mmap) gets passed the appropriate SF_* flags so it can do it
directly.   This results in shorter, simpler code, and less work at runtime.

Also, strengthened checking in VG_(mmap), POST(mmap), POST(mmap2) -- now if the
result is not in the right place, it aborts rather than unmapping and
continuing.  This is because if it's not in the right place, something has
gone badly wrong.

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

22 years agoChange allocation failure message which is no longer true thanks to FV.
Nicholas Nethercote [Sat, 10 Jul 2004 16:17:52 +0000 (16:17 +0000)] 
Change allocation failure message which is no longer true thanks to FV.

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

22 years agoMinor Makefile.am fix (doesn't actually change behaviour, because automake's
Nicholas Nethercote [Sat, 10 Jul 2004 16:11:00 +0000 (16:11 +0000)] 
Minor Makefile.am fix (doesn't actually change behaviour, because automake's
default rules meant 'execve' was being built anyway... but the fix at least
avoids confusion).

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

22 years agoDon't force tool redzones to be multiples of 8.
Nicholas Nethercote [Sat, 10 Jul 2004 16:01:52 +0000 (16:01 +0000)] 
Don't force tool redzones to be multiples of 8.

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

22 years agoFix for bug #78048.
Nicholas Nethercote [Sat, 10 Jul 2004 14:56:28 +0000 (14:56 +0000)] 
Fix for bug #78048.

Problem was that the malloc-replacing tools (memcheck, addrcheck, massif,
helgrind) would assert if a too-big malloc was attempted.  Now they return 0 to
the client.  I also cleaned up the code handling heap-block-metadata in Massif
and Addrcheck/Memcheck a little.

This exposed a nasty bug in VG_(client_alloc)() which wasn't checking if
find_map_space() was succeeding before attempting an mmap().  Before I added
the check, very big mallocs (eg 2GB) for Addrcheck were overwriting the client
space at address 0 and causing crashes.

Added a regtest to all the affected skins for this.

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

22 years agoFixed --sloppy-malloc and --trace-malloc, debugging options that I broke a
Nicholas Nethercote [Sat, 10 Jul 2004 13:56:19 +0000 (13:56 +0000)] 
Fixed --sloppy-malloc and --trace-malloc, debugging options that I broke a
while back (sorry).

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

22 years agoMore x86 -> IR stuff, including baseline %eflags handling.
Julian Seward [Sat, 10 Jul 2004 12:23:30 +0000 (12:23 +0000)] 
More x86 -> IR stuff, including baseline %eflags handling.

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

22 years agoAdd to repo.
Julian Seward [Sat, 10 Jul 2004 12:22:40 +0000 (12:22 +0000)] 
Add to repo.

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

22 years agoCommit (I thought it was already was).
Julian Seward [Sat, 10 Jul 2004 12:17:26 +0000 (12:17 +0000)] 
Commit (I thought it was already was).

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

22 years agoA whole bunch more x86 -> IR hacking.
Julian Seward [Thu, 8 Jul 2004 20:25:10 +0000 (20:25 +0000)] 
A whole bunch more x86 -> IR hacking.

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

22 years ago- Mucho x86 to IR hacking.
Julian Seward [Thu, 8 Jul 2004 14:23:22 +0000 (14:23 +0000)] 
- Mucho x86 to IR hacking.
- Build with Intel icc as it can warn about int-enum mismatches

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

22 years agoMore stuff.
Julian Seward [Thu, 8 Jul 2004 01:46:01 +0000 (01:46 +0000)] 
More stuff.

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

22 years agoStart to make this work.
Julian Seward [Thu, 8 Jul 2004 01:45:30 +0000 (01:45 +0000)] 
Start to make this work.

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

22 years agoFill in some cases
Julian Seward [Thu, 8 Jul 2004 01:44:38 +0000 (01:44 +0000)] 
Fill in some cases

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

22 years agoPrint PUT in uppercase.
Julian Seward [Wed, 7 Jul 2004 17:57:34 +0000 (17:57 +0000)] 
Print PUT in uppercase.

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

22 years agoFirst pass at x86 to IR conversion. Compiles, but nothing works.
Julian Seward [Wed, 7 Jul 2004 16:32:57 +0000 (16:32 +0000)] 
First pass at x86 to IR conversion.  Compiles, but nothing works.

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

22 years agoEnable valgrind checking of vex (ugly hack).
Julian Seward [Wed, 7 Jul 2004 12:00:42 +0000 (12:00 +0000)] 
Enable valgrind checking of vex (ugly hack).

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

22 years agoDump -O.
Julian Seward [Wed, 7 Jul 2004 12:00:04 +0000 (12:00 +0000)] 
Dump -O.

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

22 years agofix buglet
Julian Seward [Wed, 7 Jul 2004 11:56:59 +0000 (11:56 +0000)] 
fix buglet

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

22 years agofix buglet
Julian Seward [Wed, 7 Jul 2004 11:56:35 +0000 (11:56 +0000)] 
fix buglet

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

22 years agoTest driver, and test input for "int main ( void ) { return 42; }"
Julian Seward [Wed, 7 Jul 2004 11:55:36 +0000 (11:55 +0000)] 
Test driver, and test input for "int main ( void ) { return 42; }"

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

22 years agoOnly print a warning about not having identified the cache if we have
Tom Hughes [Wed, 7 Jul 2004 07:16:14 +0000 (07:16 +0000)] 
Only print a warning about not having identified the cache if we have
actually failed to recognise it...

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

22 years agominor
Nicholas Nethercote [Tue, 6 Jul 2004 22:46:41 +0000 (22:46 +0000)] 
minor

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

22 years agoCompletely overhauled Cachegrind's data structures. With the new
Nicholas Nethercote [Tue, 6 Jul 2004 21:54:20 +0000 (21:54 +0000)] 
Completely overhauled Cachegrind's data structures.  With the new
scheme, there are two main structures:

1. The CC table holds a cost centre (CC) for every distinct source code
   line, as found using debug/symbol info.  It's arranged by files, then
   functions, then lines.

2. The instr-info-table holds certain important pieces of info about
   each instruction -- instr_addr, instr_size, data_size, its line-CC.
   A pointer to the instr's info is passed to the simulation functions,
   which is shorter and quicker than passing the pieces individually.

This is nice and simple.  Previously, there was a single data structure
(the BBCC table) which mingled the two purposes (maintaining CCs and
caching instruction info).  The CC stuff was done at the level of
instructions, and there were different CC types for different kinds of
instructions, and it was pretty yucky.  The two simple data structures
together are much less complex than the original single data structure.

As a result, we have the following general improvements:

- Previously, when code was unloaded all its hit/miss counts were stuck
  in a single "discard" CC, and so that code would not be annotated.  Now
  this code is profiled and annotatable just like all other code.

- Source code size is 27% smaller.  cg_main.c is now 1472 lines, down
  from 2174.  Some (1/3?) of this is from removing the special handling
  of JIFZ and general compaction, but most is from the data structure
  changes.  Happily, a lot of the removed code was nasty.

- Object code size (vgskin_cachegrind.so) is 15% smaller.

- cachegrind.out.pid size is about 90+% smaller(!)  Annotation time is
  accordingly *much* faster.  Doing cost-centres at the level of source
  code lines rather than instructions makes a big difference, since
  there's typically 2--3 instructions per source line.  Even better,
  when debug info is not present, entire functions (and even files) get
  collapsed into a single "???" CC.  (This behaviour is no different
  to what happened before, it's just the collapsing used to occur in the
  annotation script, rather than within Cachegrind.)  This is a huge win
  for stripped libraries.

- Memory consumption is about 10--20% less, due to fewer CCs.

- Speed is not much changed -- the changes were not in the intensive
  parts, so the only likely change is a cache improvement due to using
  less memory.  SPEC experiments go -3 -- 10% faster, with the "average"
  being unchanged or perhaps a tiny bit faster.

I've tested it reasonably thoroughly, it seems extremely similar result
as the old version, which is highly encouraging.  (The results aren't
quite the same, because they are so sensitive to memory layout;  even
tiny changes to Cachegrind affect the results slightly.)

Some particularly nice changes that happened:

- No longer need an instrumentation prepass;  this is because CCs are not
  stored grouped by BB, and they're all the same size now.  (This makes
  various bits of code much simpler than before).

- The actions to take when a BB translation is discarded (due to the
  translation table getting full) are much easier -- just chuck all the
  instr-info nodes for the BB, without touching the CCs.

- Dumping the cachegrind.out.pid file at the end is much simpler, just
  because the CC data structure is much neater.

Some other, specific changes:

- Removed the JIFZ special handling, which never did what it was
  intended to do and just complicated things.  This changes the results
  for REP-prefixed instructions very slightly, but it's not important.

- Abbreviated the FP/MMX/SSE crap by being slightly laxer with size
  checking -- not an issue, since this checking was just a pale
  imitation of the stricter checking done in codegen anyway.

- Removed "fi" and "fe" handling from cg_annotate, no longer needed due
  to neatening of the CC-table.

- Factorised out some code a bit, so fewer monolithic slabs,
  particularly in SK_(instrument)().

- Just improved formatting and compacted code in general in various
  places.

- Removed the long-commented-out sanity checking code at the bottom.

Phew.

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

22 years ago- Pass host-specific insn and register printing functions to
Julian Seward [Mon, 5 Jul 2004 20:50:45 +0000 (20:50 +0000)] 
- Pass host-specific insn and register printing functions to
  the register allocator, so it can print debug info specific
  to the host.

- Properly propagate some no-return attributes.

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

22 years agoFinal bits of jit->vex renaming I missed.
Julian Seward [Mon, 5 Jul 2004 17:29:08 +0000 (17:29 +0000)] 
Final bits of jit->vex renaming I missed.

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

22 years agoRename everything to use the "vex" name.
Julian Seward [Mon, 5 Jul 2004 17:26:47 +0000 (17:26 +0000)] 
Rename everything to use the "vex" name.

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

22 years agoTry and fill in jit_main.c.
Julian Seward [Mon, 5 Jul 2004 17:10:14 +0000 (17:10 +0000)] 
Try and fill in jit_main.c.

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

22 years ago- Make stuff link.
Julian Seward [Mon, 5 Jul 2004 14:39:15 +0000 (14:39 +0000)] 
- Make stuff link.
- Simple test program to establish how fast memory can be pulled
  out of the allocation pool.

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

22 years agoMajor hashing around to restructure the world.
Julian Seward [Mon, 5 Jul 2004 13:12:34 +0000 (13:12 +0000)] 
Major hashing around to restructure the world.

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

22 years agoMash around top-level library structure some more.
Julian Seward [Mon, 5 Jul 2004 01:15:34 +0000 (01:15 +0000)] 
Mash around top-level library structure some more.

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

22 years agoStart to move files into a new structure.
Julian Seward [Sun, 4 Jul 2004 18:21:14 +0000 (18:21 +0000)] 
Start to move files into a new structure.

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

22 years agoRemove unused variable.
Nicholas Nethercote [Sat, 3 Jul 2004 20:27:39 +0000 (20:27 +0000)] 
Remove unused variable.

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

22 years agoTrack recent reg-alloc changes.
Julian Seward [Sat, 3 Jul 2004 19:52:16 +0000 (19:52 +0000)] 
Track recent reg-alloc changes.

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

22 years ago* Take into account register classes when assigning spill slots.
Julian Seward [Sat, 3 Jul 2004 19:44:54 +0000 (19:44 +0000)] 
* Take into account register classes when assigning spill slots.
* When doing V-V move coalescing, handle case when src is spilt.

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

22 years ago* Move the x86 genSpill/genRestore functions to the right place.
Julian Seward [Sat, 3 Jul 2004 19:08:18 +0000 (19:08 +0000)] 
* Move the x86 genSpill/genRestore functions to the right place.
* Allow HInstrArray to record the number of vregs in the instrs
  in the array.

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

22 years agoTest for x86 code generation of shifts, and for vreg coalescing
Julian Seward [Sat, 3 Jul 2004 14:52:19 +0000 (14:52 +0000)] 
Test for x86 code generation of shifts, and for vreg coalescing
in reg-alloc.

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

22 years agoAdd prototype for isMove_X86Instr.
Julian Seward [Sat, 3 Jul 2004 14:51:44 +0000 (14:51 +0000)] 
Add prototype for isMove_X86Instr.

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

22 years agoImplement vreg-vreg move coalescing.
Julian Seward [Sat, 3 Jul 2004 14:50:33 +0000 (14:50 +0000)] 
Implement vreg-vreg move coalescing.

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

22 years agoAdd an isMove function for X86 (integer only).
Julian Seward [Sat, 3 Jul 2004 14:49:41 +0000 (14:49 +0000)] 
Add an isMove function for X86 (integer only).
Fix regUsage claim for "ret".

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

22 years agoDo Shl32.
Julian Seward [Sat, 3 Jul 2004 14:48:24 +0000 (14:48 +0000)] 
Do Shl32.

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

22 years agoMake reg allocator work, to a first approximation at least.
Julian Seward [Sat, 3 Jul 2004 13:30:00 +0000 (13:30 +0000)] 
Make reg allocator work, to a first approximation at least.

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

22 years agoFix computation of live ranges, and add lots of debug printing. Still
Julian Seward [Fri, 2 Jul 2004 17:30:07 +0000 (17:30 +0000)] 
Fix computation of live ranges, and add lots of debug printing.  Still
doesn't work, though.

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

22 years agoHandle case of assignment to IRTemp.
Julian Seward [Fri, 2 Jul 2004 17:29:14 +0000 (17:29 +0000)] 
Handle case of assignment to IRTemp.

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

22 years agoFix meaningless typo.
Nicholas Nethercote [Fri, 2 Jul 2004 15:28:34 +0000 (15:28 +0000)] 
Fix meaningless typo.

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

22 years agoTie everything together enough so the reg-allocator can be test-run.
Julian Seward [Fri, 2 Jul 2004 15:20:40 +0000 (15:20 +0000)] 
Tie everything together enough so the reg-allocator can be test-run.

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

22 years agoAdd getRegUsage and mapRegs functions for X86 instructions. Tedious.
Julian Seward [Fri, 2 Jul 2004 13:45:17 +0000 (13:45 +0000)] 
Add getRegUsage and mapRegs functions for X86 instructions.  Tedious.

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

22 years agoAllow different gcc's to be used.
Julian Seward [Fri, 2 Jul 2004 13:44:36 +0000 (13:44 +0000)] 
Allow different gcc's to be used.

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

22 years agoComplete reg-alloc output storage, and misc other stuff to make it
Julian Seward [Fri, 2 Jul 2004 07:09:23 +0000 (07:09 +0000)] 
Complete reg-alloc output storage, and misc other stuff to make it
compile and link.

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

22 years agoClarify that you can also iterate from the result of a SkipList_Find.
Jeremy Fitzhardinge [Fri, 2 Jul 2004 00:22:36 +0000 (00:22 +0000)] 
Clarify that you can also iterate from the result of a SkipList_Find.
(Comment change only)

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

22 years agoGet the register allocator a lot closer to compiling.
Julian Seward [Thu, 1 Jul 2004 23:14:42 +0000 (23:14 +0000)] 
Get the register allocator a lot closer to compiling.

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

22 years agoMostly finish the register allocator.
Julian Seward [Thu, 1 Jul 2004 21:00:22 +0000 (21:00 +0000)] 
Mostly finish the register allocator.

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

22 years agoA register allocator (unfinished).
Julian Seward [Thu, 1 Jul 2004 18:30:56 +0000 (18:30 +0000)] 
A register allocator (unfinished).

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

22 years agoSupport stuff for register allocation.
Julian Seward [Thu, 1 Jul 2004 18:30:32 +0000 (18:30 +0000)] 
Support stuff for register allocation.

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

22 years agoCouple of clarifying comments about skip lists. (Comment change only)
Nicholas Nethercote [Thu, 1 Jul 2004 12:21:03 +0000 (12:21 +0000)] 
Couple of clarifying comments about skip lists. (Comment change only)

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

22 years agoFix confusing and wrong comment in definition of live ranges in
Julian Seward [Thu, 1 Jul 2004 11:38:36 +0000 (11:38 +0000)] 
Fix confusing and wrong comment in definition of live ranges in
reg-alloc.  (Comment change only).

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

22 years agoFixed variable name mixup, removed no-longer-used VG_STACK_SIZE_W.
Nicholas Nethercote [Wed, 30 Jun 2004 17:34:30 +0000 (17:34 +0000)] 
Fixed variable name mixup, removed no-longer-used VG_STACK_SIZE_W.

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

22 years agoTry to get x86 instruction representation to something sane, and fix
Julian Seward [Wed, 30 Jun 2004 16:37:16 +0000 (16:37 +0000)] 
Try to get x86 instruction representation to something sane, and fix
up the selector accordingly.

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

22 years agoFirst draft of tree-based instruction selector.
Julian Seward [Wed, 30 Jun 2004 09:28:04 +0000 (09:28 +0000)] 
First draft of tree-based instruction selector.

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

22 years agoAdd some comments describing the various kinds of magic going on in the
Jeremy Fitzhardinge [Wed, 30 Jun 2004 01:27:06 +0000 (01:27 +0000)] 
Add some comments describing the various kinds of magic going on in the
skiplist implementation.  Also, fix a bug which allocated way too much memory
for the list head (found by Nick).

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

22 years agoMake VPATH builds work so that valgrind can be built in a different
Tom Hughes [Tue, 29 Jun 2004 09:45:37 +0000 (09:45 +0000)] 
Make VPATH builds work so that valgrind can be built in a different
directory from the source tree. This resolves bug 83040.

Based on patch from Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

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

22 years agoRemove the .in_place directory on a make distclean.
Tom Hughes [Mon, 28 Jun 2004 21:52:40 +0000 (21:52 +0000)] 
Remove the .in_place directory on a make distclean.

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

22 years agoFixed typo in makefile.
Tom Hughes [Mon, 28 Jun 2004 21:37:58 +0000 (21:37 +0000)] 
Fixed typo in makefile.

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

22 years agoBumped the core interface major version number to reflect changes
Tom Hughes [Sun, 27 Jun 2004 18:10:21 +0000 (18:10 +0000)] 
Bumped the core interface major version number to reflect changes
made to the interface when removing nested functions.

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

22 years agoRemoved all uses of nested functions as they only work with gcc and
Tom Hughes [Sun, 27 Jun 2004 17:37:21 +0000 (17:37 +0000)] 
Removed all uses of nested functions as they only work with gcc and
cause the stack to be marked as executable in order for them to work.

All assembler files have also had a declaration added so that the
object they generate will be marked as not needing an executable stack.

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

22 years agoRemoved duplicate call to rw_remap.
Tom Hughes [Sun, 27 Jun 2004 13:26:44 +0000 (13:26 +0000)] 
Removed duplicate call to rw_remap.

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

22 years agoCommit the patch from bug 69508 that seeks to make more of the pthread
Tom Hughes [Sun, 27 Jun 2004 12:48:53 +0000 (12:48 +0000)] 
Commit the patch from bug 69508 that seeks to make more of the pthread
stack attribute related functions work properly as it seems to be a
sensible thing to improve even if it isn't enough to get the JVM running
under valgrind now.

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

22 years agotypo
Nicholas Nethercote [Sun, 27 Jun 2004 12:38:17 +0000 (12:38 +0000)] 
typo

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

22 years agoPrinting slightly more informative message when mmap fails.
Nicholas Nethercote [Sun, 27 Jun 2004 12:30:15 +0000 (12:30 +0000)] 
Printing slightly more informative message when mmap fails.

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

22 years agoChanged (client-heap-size : client-map-seg-size) ratio from 3:1 to 1:2.
Nicholas Nethercote [Sun, 27 Jun 2004 12:29:56 +0000 (12:29 +0000)] 
Changed (client-heap-size : client-map-seg-size) ratio from 3:1 to 1:2.
As a result, can now mmap much more memory (eg. for Memcheck, 850MB up from
250MB, for Nulgrind 1750MB up from 700MB).  The heap is smaller, but that
doesn't matter much, since programs use brk() directly only rarely, and
malloc() falls back on mmap() if brk() fails anyway.

Also changed the debug info printing for memory layout slightly.

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

22 years agoRedo IR data structures using tagged unions.
Julian Seward [Sun, 27 Jun 2004 10:42:44 +0000 (10:42 +0000)] 
Redo IR data structures using tagged unions.

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

22 years agoMove some stuff from linker.c to dispatch.c.
Julian Seward [Sun, 27 Jun 2004 10:41:58 +0000 (10:41 +0000)] 
Move some stuff from linker.c to dispatch.c.

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

22 years agoRe-home.
Julian Seward [Sun, 27 Jun 2004 01:06:55 +0000 (01:06 +0000)] 
Re-home.

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

22 years agoMove to a new home.
Julian Seward [Sun, 27 Jun 2004 01:04:30 +0000 (01:04 +0000)] 
Move to a new home.

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

22 years agoConvert to tagged unions.
Julian Seward [Sun, 27 Jun 2004 01:03:57 +0000 (01:03 +0000)] 
Convert to tagged unions.

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

22 years agoAdd basic storage management.
Julian Seward [Sat, 26 Jun 2004 20:10:35 +0000 (20:10 +0000)] 
Add basic storage management.

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

22 years agoGet rid of Haskell stuff
Julian Seward [Sat, 26 Jun 2004 18:46:47 +0000 (18:46 +0000)] 
Get rid of Haskell stuff

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

22 years agoReinstate top-level C control.
Julian Seward [Sat, 26 Jun 2004 18:44:08 +0000 (18:44 +0000)] 
Reinstate top-level C control.

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

22 years agoDeleted.
Julian Seward [Sat, 26 Jun 2004 18:43:34 +0000 (18:43 +0000)] 
Deleted.

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

22 years agoDeleted.
Julian Seward [Sat, 26 Jun 2004 14:27:22 +0000 (14:27 +0000)] 
Deleted.
This line, and those below, will be ignored--

D    Linker.hs

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

22 years agoImplement an emulated soft limit for file descriptors in addition to
Tom Hughes [Sat, 26 Jun 2004 11:27:52 +0000 (11:27 +0000)] 
Implement an emulated soft limit for file descriptors in addition to
the current reserved area, which effectively acts as a hard limit. The
setrlimit system call now simply updates the emulated limits as best
as possible - the hard limit is not allowed to move at all and just
returns EPERM if you try and change it.

This should stop reductions in the soft limit causing assertions when
valgrind tries to allocate descriptors from the reserved area.

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

22 years agoIgnore all addrcheck test output files.
Tom Hughes [Fri, 25 Jun 2004 23:25:10 +0000 (23:25 +0000)] 
Ignore all addrcheck test output files.

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

22 years agoReduce rounding size for gap between shadow memory and Valgrind's space from
Nicholas Nethercote [Wed, 23 Jun 2004 16:15:06 +0000 (16:15 +0000)] 
Reduce rounding size for gap between shadow memory and Valgrind's space from
64MB to 1MB.  Gives tools a bit more address space to play with.

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

22 years agoRemove unused #define
Nicholas Nethercote [Tue, 22 Jun 2004 14:20:20 +0000 (14:20 +0000)] 
Remove unused #define

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