Closed
Bug 1343395
Opened 8 years ago
Closed 8 years ago
Split CycledCollectedJSContext and XPCJSContext into separate context and runtime classes
Categories
(Core :: XPCOM, enhancement)
Core
XPCOM
Tracking
()
RESOLVED
DUPLICATE
of bug 1343396
People
(Reporter: billm, Assigned: billm)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
8 years ago
367.12 KB,
patch
|
Details | Diff | Splinter Review |
Now that the JS engine supports using multiple JSContexts in different cooperatively scheduled threads, we have to do the same thing in XPConnect and XPCOM. This patch splits CycleCollectedJSContext into CycleCollectedJSContext and CycleCollectedJSRuntime. It does a similar thing for XPCJSContext.
The context classes contain members that are "call stack"-related. The runtime classes contain mostly GC-related stuff.
To reduce churn, I added helper methods to the context classes that just call into the runtime class. For the most part, I think we still want consumers of these classes to use contexts as much as possible. The runtime class should be more of an implementation detail. Eventually I would like to move most of the members of the runtime classes to something like the Zone or TabGroup, so I would like to avoid exposing it too much.
I structured the patch so that it looks like I copied the existing FooContext.cpp file into FooContext.cpp and FooRuntime.cpp and then deleted the unneeded parts from each one. I hope that helps make it easier to see the actual changes.
Olli, feel free to forward this to someone else if you're too busy. It's kind of a big patch.
Updated•8 years ago
|
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Assignee | ||
Updated•8 years ago
|
Flags: needinfo?(wmccloskey)
You need to log in
before you can comment on or make changes to this bug.
Description
•