Closed
Bug 594422
Opened 15 years ago
Closed 15 years ago
ByteArray addSubscriber broken
Categories
(Tamarin Graveyard :: Virtual Machine, defect, P2)
Tracking
(Not tracked)
RESOLVED
FIXED
flash10.2.x-Spicy
People
(Reporter: treilly, Assigned: treilly)
References
Details
Attachments
(1 file)
|
2.64 KB,
patch
|
lhansen
:
review+
|
Details | Diff | Splinter Review |
Write barrier missing in weakSubscriber write, this code should be re-written to use smart pointer write barriers as well.
Comment 1•15 years ago
|
||
Is this in the avmshell or Flash ByteArray? (or both?)
| Assignee | ||
Comment 2•15 years ago
|
||
both (WE bug: 2714615)
Assignee: nobody → treilly
Flags: flashplayer-qrb+
Priority: -- → P2
Target Milestone: --- → flash10.2.x-Spicy
| Assignee | ||
Comment 3•15 years ago
|
||
Attachment #477592 -
Flags: review?(lhansen)
Updated•15 years ago
|
Attachment #477592 -
Flags: review?(lhansen) → review+
| Assignee | ||
Comment 4•15 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment 5•15 years ago
|
||
We should update this bug with the CL of the fix to Flash's parallel ByteArray implementation.
(See also https://bugzilla.mozilla.org/show_bug.cgi?id=564248, which also has ByteArray update notes)
Comment 6•15 years ago
|
||
Note, this happens to work OK in Tamarin, but making m_subscriberRoot a DWB won't work in the Flash/AIR version of this file: their ByteArray is used on the stack (as well as being embedded in a GC object), where DWB is verboten.
Q: instead of a linked list, how about we use a List<> of GCWeakRef? It's going to be a pretty small list no matter what, and List<> is already savvy about working in both stack and gc-member contexts...
Comment 7•15 years ago
|
||
(In reply to comment #6)
> Note, this happens to work OK in Tamarin, but making m_subscriberRoot a DWB
> won't work in the Flash/AIR version of this file: their ByteArray is used on
> the stack (as well as being embedded in a GC object), where DWB is verboten.
For exact tracing, objects are going to be required to be heap-allocated, and there will be asserts that check this. GCObjects (etc) that are members or stack-allocated can no longer be that.
| Assignee | ||
Comment 8•15 years ago
|
||
(In reply to comment #6)
> Note, this happens to work OK in Tamarin, but making m_subscriberRoot a DWB
> won't work in the Flash/AIR version of this file: their ByteArray is used on
> the stack (as well as being embedded in a GC object), where DWB is verboten.
I'll have a go at fixing it.
Comment 9•15 years ago
|
||
(In reply to comment #7)
> For exact tracing, objects are going to be required to be heap-allocated, and
> there will be asserts that check this. GCObjects (etc) that are members or
> stack-allocated can no longer be that.
ByteArray is not a GCObject, it's just a plain C++ object that contains a pointer-to-GCObject. See existing List<> class for a similar precedent.
You need to log in
before you can comment on or make changes to this bug.
Description
•