Last Comment Bug 716033 - Move write barriers from jsapi.h to jsfriendapi.h
: Move write barriers from jsapi.h to jsfriendapi.h
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
-- normal (vote)
: mozilla12
Assigned To: Bill McCloskey (:billm)
: Jason Orendorff [:jorendorff]
Depends on:
  Show dependency treegraph
Reported: 2012-01-06 13:11 PST by Bill McCloskey (:billm)
Modified: 2012-01-24 05:08 PST (History)
3 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

patch (14.81 KB, patch)
2012-01-06 13:11 PST, Bill McCloskey (:billm)
luke: review+
bobbyholley: review+
Details | Diff | Splinter Review

Description User image Bill McCloskey (:billm) 2012-01-06 13:11:25 PST
Created attachment 586543 [details] [diff] [review]

I no longer have much faith left that outside developers will be able to correctly implement write barriers. So this patch moves the API to jsfriendapi.h, and also simplifies it somewhat.

I also changed the SetProto barrier on XPCWrappedNative. Previously, the barrier used the existing tracing code to trace the wrapped native's proto. Now it uses a special write barrier call instead. The reason to do this is that it doesn't require a JSTracer. Requiring the runtime to have a JSTracer for XPConnect barriers is troublesome because of thread safety issues.

Most of these are JSAPI changes for Luke. Also asking for Bobby's review of the XPConnect changes.
Comment 2 User image Marco Bonardo [::mak] 2012-01-24 05:08:28 PST

Note You need to log in before you can comment on or make changes to this bug.