Closed Bug 650028 Opened 13 years ago Closed 6 years ago

Guarded RC write barriers for background compiler and XMLAsync

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: siwilkin, Assigned: gchaney)

References

Details

Attachments

(1 file)

Updates all necessary RC write barriers to GUARDED versions to support the background compiler (bug 600723) and async XML parsing (bug 582817).

In other words, only the RC write barriers updated by this patch are reachable from compiler or XML parse threads, and hence are required to be GUARDED. All other VM barriers are only reachable from the main thread (gc-owner thread), and hence require no modification.

See bug 623993 for an overview of why guarded RC write barriers are necessary.

Note:
This patch could be optimized much more aggressively.
Specifically, as some general data-structures (e.g. MultinameHashtable) are reachable by compiler or XML parse threads, they have unconditionally GUARDED RC write barriers. Clearly this is overkill. Instead, MultinameHashtable et-al could have an additional template parameter (the existing MMgc::ThreadGuard enum) which specializes per instance the data-structure's use of guarded barriers.
Assignee: nobody → gchaney
Blocks: 600723, 582817
Depends on: 623993
Flags: flashplayer-qrb+
Target Milestone: --- → Future
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.

Attachment

General

Created:
Updated:
Size: