Closed
Bug 914478
Opened 11 years ago
Closed 11 years ago
30% octane-Mandreel regression on Sept 10
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla26
People
(Reporter: Hughman, Assigned: shu)
References
Details
(Keywords: regression)
Attachments
(1 file)
1.09 KB,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
Just saw the octane-Mandreel regression on AWFY of 30% for both Mac Pros.
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=afa6f48ffe9c&tochange=9ff0b038942a
I don't think bz's change is enough it cause it so I blame Bug 899139.
![]() |
||
Updated•11 years ago
|
tracking-firefox26:
--- → ?
Keywords: regression
There's also a 400% (!) regression on misc-bugs-847389-jpeg2000 for the same changeset. It's probably the same bug, so I don't think it's needed to file a new one, but that benchmark should be checked too after fixing this.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 3•11 years ago
|
||
There's also a 20% Kraken crypto-ccm regression.
Assignee | ||
Comment 4•11 years ago
|
||
As part of bug 909764, djvj refactored a bunch of calls to |PropertyWriteNeedsTypeBarrier|. There's a typo in |setElemTryCache| resulting in the function basically always returning.
This fixes the mandreel regression, but I have no idea why, since before my patch it was always inserting a CallSetElement, which should be slower.
Assignee | ||
Comment 5•11 years ago
|
||
Also, mjrosenb found out that the regression needs --parallel-ion-compile=on to reproduce.
Comment 6•11 years ago
|
||
Comment on attachment 802179 [details] [diff] [review]
mandreel-regress.patch
Review of attachment 802179 [details] [diff] [review]:
-----------------------------------------------------------------
Good catch.
Attachment #802179 -
Flags: review?(jdemooij) → review+
Assignee | ||
Comment 7•11 years ago
|
||
What's going on is that the typo would erroneously returned false and thus would've been treated as a compilation error, disabling Ion.
The reason *my* patch triggered this is because |setElemTryCache| before my patch never even reached that typo'd call, due to this change:
- if (!icInspect.sawDenseWrite())
+ if (!icInspect.sawDenseWrite() && !icInspect.sawTypedArrayWrite())
return true;
Since in these benchmarks no dense write was ever observed, |setElemTryCache| would've just returned true.
Assignee | ||
Comment 8•11 years ago
|
||
Comment 9•11 years ago
|
||
AWFY confirms this fixes the Octane-mandreel regression and is a nice win on Octane-gameboy..
The Kraken crypto-ccm regression is still there though, a bit weird because Kraken doesn't use typed arrays at all.
Assignee | ||
Comment 10•11 years ago
|
||
I'll look at crypto-ccm, weird...
Assignee | ||
Comment 11•11 years ago
|
||
Should note we're also winning a bit on jpeg2000 now.
![]() |
||
Comment 12•11 years ago
|
||
This also improved Dromaeo-CSS by 6% or so.
![]() |
||
Comment 13•11 years ago
|
||
Which is odd, since I doubt that uses typed arrays.
Assignee | ||
Comment 14•11 years ago
|
||
What does dromaeo-css test mainly? The only other big part of this patch was refactoring of some value-to-int logic into the macro assembler.
![]() |
||
Comment 15•11 years ago
|
||
> What does dromaeo-css test mainly?
The behavior of things like $(stuff) in jQuery for various values of stuff, and similar for other JS libraries.
Assignee | ||
Comment 16•11 years ago
|
||
(In reply to Boris Zbarsky [:bz] from comment #15)
> > What does dromaeo-css test mainly?
>
> The behavior of things like $(stuff) in jQuery for various values of stuff,
> and similar for other JS libraries.
This bug fixed a bug introduced by bug 909764 which accidentally disabled all setelem ICs. Maybe that was it?
![]() |
||
Comment 17•11 years ago
|
||
Yes, that would certainly do it. As in, it fixed bug 913752?
Assignee | ||
Comment 18•11 years ago
|
||
(In reply to Boris Zbarsky [:bz] from comment #17)
> Yes, that would certainly do it. As in, it fixed bug 913752?
Well, that I can't say for sure. If dromaeo-css was the only one that regressed, then I'd guess so.
Assignee | ||
Comment 19•11 years ago
|
||
Does this look like a fix to bug 913752, djvj?
Flags: needinfo?(kvijayan)
Comment 20•11 years ago
|
||
I'm pretty sure it is. Great job in tracking this down. I was trying to track down the dromaeo-css regression but not having a lot of luck.
Flags: needinfo?(kvijayan)
Comment 21•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Updated•11 years ago
|
status-firefox26:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•