Closed
Bug 656907
Opened 13 years ago
Closed 6 years ago
GCAlloc, GCLargeAlloc, and the reaper all differ about how to delete objects
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect)
Tamarin Graveyard
Garbage Collection (mmGC)
Tracking
(Not tracked)
RESOLVED
WONTFIX
Future
People
(Reporter: lhansen, Unassigned)
Details
In GCAlloc, we test whether the first word is zero (this came in with bug #573737 and may actually be redundant now, I'm investigating), then we clear kFinalizable, then we run the destructor. The clearing of the bit before the destructor call is supposed to make the GC more resilient; if the destructor throws, then the clearing is important (according to a comment). IMO, if the destructor throws while we're in a GC critical section then we're already long past gone, but perhaps this has some relevance to OOM handling? In GCLargeAlloc, we just run the finalizer: no zero check, no bit clearing. Then the object is freed. In the reaper, we assert that the first word is not zero, then we run the destructor without clearing the bit. Then the object is freed.
Reporter | ||
Updated•13 years ago
|
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
Comment 1•6 years ago
|
||
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•