Closed Bug 620438 Opened 15 years ago Closed 12 years ago

CodeAlloc is too tricky.

Categories

(Core Graveyard :: Nanojit, defect)

defect
Not set
normal

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?
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: 12 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.