Closed Bug 488738 Opened 15 years ago Closed 15 years ago

make GCHeap infrastructure memory come from MMgc

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P2)

defect

Tracking

(Not tracked)

VERIFIED FIXED
flash10.1

People

(Reporter: treilly, Assigned: treilly)

References

Details

Attachments

(3 files, 1 obsolete file)

Most of this has been fixed, some left:

GCHeap::Region
GCHeap::HeapBlock array
GCAlloc instances
Does this mean you'll get rid of GCAllocObject in favor of eg factory methods?  I would welcome that...
Not sure what you mean, when this is done the memory profiler will still use it although I hate the name, SystemAllocObject would be better I think
refining to GCHeap things to focus bug and separate from similar profiler bug
Assignee: nobody → treilly
Status: NEW → ASSIGNED
OS: Mac OS X → All
Hardware: x86 → All
Summary: make all release GC infrastructure memory come from MMgc → make GCHeap infrastructure memory come from MMgc
Specifically this bug now refers to just the GCHeap instance, Region's and the HeapBlock array.
Blocks: 491388
Depends on: 489345
Flags: flashplayer-qrb+
Priority: -- → P2
Target Milestone: --- → flash10.x
Flags: flashplayer-triage+
No longer depends on: 489345
Blocks: 489345
HeapBlock array will be handled in a separate patch
Attachment #399921 - Flags: superreview?(lhansen)
GCHeap::Region not handled yet either
Following is a case of GCHeap memory coming from system -

GCHeap data members that are of type BasicList or use BasicList indirectly, examples gcManager::collectors and callbacks.

When MMGC_USE_SYSTEM_MALLOC is defined the delete call gets routed to SystemDelete which calls GetGCHeap()->TrackSystemFree().  During an OOM condition, GCHeap::Leave() nulls out the GCHeap::instance singleton prior to destroying gcheap instance.  This results in a NULL pointer crash in SystemDelete().
Attachment #399921 - Flags: superreview?(lhansen) → superreview+
Note that we also have to fix all callers of mmfx_new (GCAlloc, GCLargeAlloc and BasicList)
Blocks: 491314
Passes sanities and ATS in player
Attachment #400656 - Attachment is obsolete: true
Attachment #404663 - Flags: superreview?(lhansen)
Comment on attachment 404663 [details] [diff] [review]
allocates heap blocks from our memory

I'm not happy with the complexity of ExpandHeapInternal (and we have to consider bug #520080 soon) but this should be OK for now.
Attachment #404663 - Flags: superreview?(lhansen) → superreview+
pushed changeset:   2698:01908e2ae607
This should be it for this bug.
Attachment #405113 - Flags: superreview?(lhansen)
Attachment #405113 - Flags: superreview?(lhansen) → superreview+
changeset:   2745:c1a3b9cba0e3
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Depends on: 521550
Resolved fixed engineering / work item that has been pushed.  Setting status to verified.
Status: RESOLVED → VERIFIED
Blocks: 491233
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: