Closed Bug 578673 Opened 15 years ago Closed 11 years ago

Add valgrind client requests to Nanojit's custom allocators

Categories

(Core Graveyard :: Nanojit, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: edwsmith, Unassigned)

References

Details

Attachments

(1 file)

nanojit::Allocator would benefit from using memchecks MEMPOOL client requests, to protect unallocated memory and add redzones around allocated chuncks. nanojit::CodeAlloc might also benefit from redzones or protected areas, but we already have code to report freshly generated code.
Blocks: 509020
The patch attempts to use the MEMPOOL client request api to a) mark new arena-allocated chunks as undefined, and b) insert redzones around each arena allocation. Each chunk of memory that the arena gets from the underlying allocator is initialized as a memory pool; nothing special is done to the Allocator instance itself. (from my reading of the mempool docs, this might not be right; but from looking at the test code in valgrind, it looks right) I had to add a field to track chunk sizes so that when a chunk is ultimately freed, we know the size. Before freeing a chunk back to the underlying allocator, I mark it DEFINED; marking it undefined generates lots of spew that I didn't investigate yet.
(In reply to comment #2) > allocator, I mark it DEFINED; marking it undefined generates lots of spew that > I didn't investigate yet. correction: marking it NOACCESS generated spew; undefined might be more appropriate.
Product: Core → Core Graveyard
Nanojit has been dead for several years. Its Bugzilla component has been moved to the graveyard (bug 984276). I checked all the open bugs. They're all uninteresting, so I'm WONTFIXing them all. Apologies for the bugspam.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: