Closed Bug 499980 Opened 17 years ago Closed 16 years ago

BitSet doesn't support fixed allocation

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: edwsmith, Unassigned)

References

Details

Attachments

(1 file, 1 obsolete file)

avmplus::BitSet requires GC memory if the bitset grows. We need it in contexts where we want to use fixed memory instead of gc memory. Easy enough to modify it to accept NULL GC* and use global new/delete instead, like SortedMap<> and List<> already do.
Attachment #384653 - Flags: review?(stejohns)
I can think of no reason to use GC memory for bits, in fact I suspect it was written that way by someone not on our team who was just copying code from avmplus::List and didn't really understand that they didn't have to use GC memory.
true, this whole class can be fixed-mem. sweet.
yeah -- I can review+ this if you like but IMHO better to nuke the GC options and always call the FixedMalloc code directly.
Debugger can make BitSet be a class field since its already a GCFinalizedObject, and other uses of BitSet on the stack are contexts that wont be unwound by an Exception. hence, BitSet can be plain C++ and use plain new/delete for its field.
Attachment #384653 - Attachment is obsolete: true
Attachment #384681 - Flags: review?(stejohns)
Attachment #384653 - Flags: review?(stejohns)
Attachment #384681 - Flags: review?(stejohns) → review+
Comment on attachment 384681 [details] [diff] [review] remove GC stuff from BitSet entirely any risk that the dtors can be skipped if longjmp is called?
actually yes, this patch depends on CodegenLIR properly cleaning itself up after an exception, which is done in bug 499672.
Depends on: 499672
Depends on: 500181
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Resolved fixed engineering / work item that has been pushed. Setting status to verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: