Closed Bug 654943 Opened 14 years ago Closed 6 years ago

MMgc API cleanup

Categories

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

defect

Tracking

(Not tracked)

RESOLVED WONTFIX
Q1 12 - Brannan

People

(Reporter: lhansen, Unassigned)

References

Details

(Whiteboard: Tracking)

The MMgc API should be cleaned up and made safer and easier to use. This will include at least: - Making GC::Alloc and GC::Callo private to the GC, thus enforcing the rule about subclassing GCObject, GCTraceableObject, GCFinalizedObject, or RCObject for all managed types, not having implicit subclasses of GCObject. (This is orthogonal to headerless BiBoP allocation for double and float - just for the record.) - Making GC::Free private, because dangling pointers are bad and GC::Free tends to be used for evil as much as for good. - Introducing managed array types to be used where GC::Alloc and GC::Calloc are currently used. - Entirely removing DRC, DRCWB, DWB and introducing GCMember everywhere. - Possibly other SafeGC tasks. - Documentation cleanup and development. This is a tracker bug for concrete tasks, please do not post patches here. But ideas and dependent bugs are welcome.
Depends on: 654945
Depends on: 654946
It's an API bug that Alloc and Calloc cannot take a request of size zero. In principle that should be fixed. However, if Alloc and Calloc are made private to MMgc and only available to specially blessed code (such as managed array types) then it's probably OK to keep the restriction that the size of the request can't be zero, because there will be few clients and they can easily check that requirement.
Depends on: 564194
Depends on: 624512
I morphed my "avoid container calc bug" into a "remove WB/WBRC manual write barrier" bug.
FYI, having nativegen.py emit GCMember<> requires a lot of fiddling with Flash/AIR header files; I am *almost* done with that and hopefully will be able to land it this week.
(In reply to comment #3) > FYI, having nativegen.py emit GCMember<> requires a lot of fiddling with > Flash/AIR header files; I am *almost* done with that and hopefully will be > able to land it this week. That's great news!
Flags: flashplayer-qrb+
Blocks: ANI
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.