bug 311090's patch caused a 0.5% Tp jump

RESOLVED INVALID

Status

()

Core
DOM
P2
normal
RESOLVED INVALID
13 years ago
10 years ago

People

(Reporter: mrbkap, Assigned: mrbkap)

Tracking

({perf, regression})

Trunk
x86
Linux
perf, regression
Points:
---
Bug Flags:
wanted-next +
blocking1.9 -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

13 years ago
bz pointed out in bug 311090, comment 9 that that bug's patch caused a .5% Tp
regression. I'm filing this bug to get that .5% back!
(Assignee)

Comment 1

13 years ago
Created attachment 198595 [details] [diff] [review]
One possibility

This is one possibility for the fix here. It basically restores the fast path
that was removed in bug 311090. I have a better and more general fix in mind
(to allow the more-derived classes to catch the NewResolve hook and call a
common base function on the generic class, with the generic class using the
slow ::JS_GetProperty method), but I don't have the time to implement that
right now.
Comment on attachment 198595 [details] [diff] [review]
One possibility

>Index: dom/src/base/nsDOMClassInfo.cpp
>+    nsCOMPtr<nsIDOMNodeList> map = do_QueryInterface(wrapper->Native());

do_QueryWrappedNative(wrapper)

r+sr=bzbarsky with that.
Attachment #198595 - Flags: superreview+
Attachment #198595 - Flags: review+
(Assignee)

Comment 3

13 years ago
I checked this in earlier today, it didn't seem to affect Tp.
Flags: blocking1.9?
Keywords: perf, regression

Comment 4

11 years ago
+ing - need to squash all Tp regressions...
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2

Updated

11 years ago
Flags: wanted-next+
Flags: tracking1.9+
Flags: blocking1.9-
(Assignee)

Comment 5

10 years ago
After three years, it's doubtful we'll be able to even know if we've reclaimed this. Also, bz did a bunch of work recently to improve perf around here so I'm closing this.
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.