Closed
Bug 654943
Opened 14 years ago
Closed 6 years ago
MMgc API cleanup
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P2)
Tamarin Graveyard
Garbage Collection (mmGC)
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.
Reporter | ||
Comment 1•14 years ago
|
||
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.
Comment 2•14 years ago
|
||
I morphed my "avoid container calc bug" into a "remove WB/WBRC manual write barrier" bug.
Comment 3•14 years ago
|
||
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.
Reporter | ||
Comment 4•14 years ago
|
||
(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!
Comment 5•6 years ago
|
||
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Comment 6•6 years ago
|
||
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in
before you can comment on or make changes to this bug.
Description
•