Closed
Bug 620438
Opened 15 years ago
Closed 12 years ago
CodeAlloc is too tricky.
Categories
(Core Graveyard :: Nanojit, defect)
Core Graveyard
Nanojit
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: edwsmith, Unassigned)
Details
The complexity comes from a couple of requirements:
1. We want to allocate max-sized blocks, then return free space once code is generated.
2. Some platforms impose a max block size smaller than the ideal chunk size (ARM wants blocks <4K, but big chunks (eg 64K or 1MB) to minimize mprotect/mmap cost).
3. Block header data is inline with code, to aid coalescing. Therefore there is a minimum block size imposed on code for splitting blocks. We need enough room for the header.
Can we simplify the allocator so it is more obviously correct?
* If block headers were in separate data memory, then there would be no minimum block size. Block headers could come from an Allocator (arena) and be recycled as code blocks are allocated and coalesced. (they would all have the same size).
* does this make coalescing harder or easier? (needs investigation).
* other ideas?
| Assignee | ||
Updated•12 years ago
|
Product: Core → Core Graveyard
Comment 1•12 years ago
|
||
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: 12 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•