Closed Bug 795896 Opened 12 years ago Closed 11 years ago

UnwrapProxy is slow

Categories

(Core :: DOM: Core & HTML, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla21

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

In particular, it does xpc::WrapperFactory::IsXrayWrapper, which actually goes and does UnwrapObject (out of line, natch) and all sorts of crud like that.

And some of the places we're calling it (e.g. getElementIfPresent, get) we already asserted !IsXrayWrapper.

And some other places (finalize) we had better be able to assert it.

Peter, are there other places we can assert it too?  Presumably not getOwnPropertyDescriptor, right?  What other hooks do Xrays call?
Based on recent discussions with waldo, it sounds like I shouldn't be assuming that xrays will only call getOwnPropertyDescriptor... Which means I do need to keep doing conditional unwrap in all the hooks.  :(

I can at least make it not do random out of line calls, though.
Assignee: nobody → bzbarsky
Whiteboard: [need review]
Attachment #698761 - Flags: review?(peterv) → review+
http://hg.mozilla.org/integration/mozilla-inbound/rev/19b9f064d8eb
Flags: in-testsuite-
Whiteboard: [need review]
Target Milestone: --- → mozilla21
Relanded; it had nothing to do with the bustage:

https://hg.mozilla.org/integration/mozilla-inbound/rev/f68f04e1fa23
https://hg.mozilla.org/mozilla-central/rev/f68f04e1fa23
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: