Closed Bug 610982 Opened 14 years ago Closed 6 years ago

consolidate page maps into gcheap

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: pnkfelix, Unassigned)

References

Details

In Bug 445780, comment 7, Lars suggested the following: Thus IMO the design we may be looking for here is a generic design in GCHeap that sparsely stores information about every page allocated by GCHeap, and which can be queried about any pointer in the address space. If the page is assigned to a GC it needs to be able to extract a pointer to the GC that owns it; if it is assigned to FixedMalloc it should be possible to figure out whether it's a large-block or small-block page, etc. Right now we're storing per-block information in the block itself but with such a global data structure we could reconsider that, esp if it is fast enough and if the storage can be more efficient (eg if multiple pages with the same attributes can share one information blob). Information sharing in this table is in fact something that is appealing, the current structure in GCHeap appears to me to be a little profligate in its use of memory. I investigated this a little bit; its not clear whether we could implement such a structure with such information blob sharing with the current API. It still might be a worthwhile task, if we are willing to revise the API accordingly. Not a short term priority though.
Note that one hypothesized benefit (Bug 445780, comment 7) of such a revision is that FixedMalloc's page-ownership queries could be sped up with such consolidation. This is important because debug builds are known to have issues when run on e.g. the ATS test suite due to the current overhead of those queries.
Target Milestone: --- → Future
Blocks: 564119
Flags: flashplayer-qrb+
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.