Closed Bug 625297 Opened 14 years ago Closed 14 years ago

Distinguish "internal" Free from "external" Free

Categories

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

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lhansen, Assigned: lhansen)

References

Details

(Whiteboard: has-patch)

Attachments

(1 file)

It will be useful for dealing with explicit deletion to make the distinction between Free calls originating internally (sweeper, reaper) and those originating externally (always explicit deletion).
And it will be useful to distinguish between Free calls originating from operator delete and Free calls that are explicit: in the latter case, we should assert that the object is not finalizable, because explicitly freeing it will not run the finalizer.

So perhaps three APIs:

- FreeFromGC
- FreeFromDelete
- Free

Of these, only the third is public, and would check that its object is not finalizable.
Blocks: 589102
Blocks: 625328
Attached patch PatchSplinter Review
Assignee: nobody → lhansen
Status: NEW → ASSIGNED
Attachment #503452 - Flags: review?(treilly)
Whiteboard: has-patch
Attachment #503452 - Flags: review?(treilly) → review+
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
changeset: 5789:3e1668d818e0
user:      Lars T Hansen <lhansen@adobe.com>
summary:   Fix 625297 - Distinguish "internal" Free from "external" Free (r=treilly)

http://hg.mozilla.org/tamarin-redux/rev/3e1668d818e0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: