Closed
Bug 499980
Opened 17 years ago
Closed 16 years ago
BitSet doesn't support fixed allocation
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: edwsmith, Unassigned)
References
Details
Attachments
(1 file, 1 obsolete file)
|
10.85 KB,
patch
|
stejohns
:
review+
|
Details | Diff | Splinter Review |
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)
Comment 1•17 years ago
|
||
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.
| Reporter | ||
Comment 2•17 years ago
|
||
true, this whole class can be fixed-mem. sweet.
Comment 3•17 years ago
|
||
yeah -- I can review+ this if you like but IMHO better to nuke the GC options and always call the FixedMalloc code directly.
| Reporter | ||
Comment 4•17 years ago
|
||
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)
Updated•17 years ago
|
Attachment #384681 -
Flags: review?(stejohns) → review+
Comment 5•17 years ago
|
||
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?
| Reporter | ||
Comment 6•17 years ago
|
||
actually yes, this patch depends on CodegenLIR properly cleaning itself up after an exception, which is done in bug 499672.
Depends on: 499672
| Reporter | ||
Comment 7•16 years ago
|
||
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment 8•16 years ago
|
||
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.
Description
•