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.
You need to log in before you can comment on or make changes to this bug.