Closed Bug 1091970 Opened 10 years ago Closed 10 years ago

[e10s] Package the shim's "object tag" along with all new CPOWs

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36
Tracking Status
e10s m4+ ---

People

(Reporter: billm, Assigned: billm)

References

Details

Attachments

(1 file)

Attached patch cache-obj-tag (deleted) — Splinter Review
Whenever the add-on shims wrap an object, they first compute its "object tag". They really just do a few instanceof checks to see if it's a XUL node, a window, a docshell, or whatever. In particular, when the object is a CPOW, we do two instanceof checks. Each one sends a sync IPC message. Like in bug 1091964, this information is constant for a given object. So this patch just sends the tag along with the CPOW, same as in bug 1091964. I had to make a new interface for doing this. This patch reduces the number of CPOW IPCs we do on my testcase from 16837 to 8100.
Attachment #8514716 - Flags: review?(mrbkap)
Comment on attachment 8514716 [details] [diff] [review] cache-obj-tag Review of attachment 8514716 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/xpconnect/idl/xpccomponents.idl @@ +441,5 @@ > + * nsIRemoteTagService.getRemoteObjectTag method. It's sent along > + * with the CPOW to the remote process, where it can be fetched > + * with this function, getCrossProcessWrapperTag. > + */ > + ACString getCrossProcessWrapperTag(in jsval obj); Need to bump the IID.
Attachment #8514716 - Flags: review?(mrbkap) → review+
The rooting hazards that this patch was implicated in did not go away after the backout. Relanding. https://hg.mozilla.org/integration/mozilla-inbound/rev/c97553c13fb6
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: