sunspider benchmarks regression on Win 64 Build

RESOLVED FIXED in Firefox 13

Status

()

Core
JavaScript Engine
RESOLVED FIXED
5 years ago
2 years ago

People

(Reporter: SpeciesX, Assigned: dmandelin)

Tracking

({regression})

Trunk
mozilla14
x86_64
Windows 7
regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox10 unaffected, firefox11 unaffected, firefox12 unaffected, firefox13 verified, firefox14 verified)

Details

(Whiteboard: [qa+], URL)

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:13.0a1) Gecko/13.0a1 Firefox/13.0a1
Build ID: 20120218031156

Steps to reproduce:

1. Start Firefox with clean profile
2  Open URL http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html


Actual results:

http://hg.mozilla.org/mozilla-central/rev/d45c7d7b0079
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:13.0a1) Gecko/20120215 Firefox/13.0a1
ID 20120215031155
237.3ms

First slow Build

http://hg.mozilla.org/mozilla-central/rev/46e22ce549b0
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:13.0a1) Gecko/20120215 Firefox/13.0a1
ID 20120215083849
399.4ms
(Reporter)

Updated

5 years ago
Hardware: x86 → x86_64
(Reporter)

Updated

5 years ago
Keywords: regression
Assignee: nobody → general
Component: Untriaged → JavaScript Engine
Product: Firefox → Core
QA Contact: untriaged → general
Ed, Marco, you were looking into this, right?

Confirming, since our test automation saw this too.
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 2

5 years ago
I've bisected using inbound win64 non-pgo tinderbox builds, and get 320ms on 85f3cf72938a and 529ms on 9e93f190f64c.

hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=85f3cf72938a&tochange=9e93f190f64c
-> Bug 700822
Blocks: 700822

Comment 3

5 years ago
> hg.mozilla.org/integration/mozilla-inbound/
> pushloghtml?fromchange=85f3cf72938a&tochange=9e93f190f64c

Correctly linkified:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9e93f190f64c

Meant to add that the testing above was on Win7 x64, but this was also seen on tinderbox once inbound merged to mozilla-central (win64 talos doesn't run on inbound \o/):
https://groups.google.com/d/msg/mozilla.dev.tree-management/5VxnjZSzZOw/aY8V-wbczUoJ
I'm guessing that this is because JM is generating a lot more "far jumps" on x64 than we used to, because VirtualAlloc was packing our JIT code together in memory space. I don't really remember the specifics of how far jumps were implemented on x64, but I'll check it out soon.

Quick and dirty solution to restore perf is to disable VirtualAlloc randomization on the x64 builds.
Assignee: general → christopher.leary
Status: NEW → ASSIGNED
(Reporter)

Comment 5

5 years ago
What about the Quick and dirty solution?
(Assignee)

Updated

5 years ago
Assignee: christopher.leary → dmandelin
(Assignee)

Comment 6

5 years ago
(In reply to SpeciesX from comment #5)
> What about the Quick and dirty solution?

I verified that it does in fact give a big SunSpider speedup on x64 using a version too quick and dirty to land. I'll get a real patch up in a day or two.
(Assignee)

Comment 7

5 years ago
Created attachment 606036 [details] [diff] [review]
Patch

Disables address randomization on x64.
Attachment #606036 - Flags: review?(dvander)
Attachment #606036 - Flags: review?(dvander) → review+
(Assignee)

Comment 8

5 years ago
http://hg.mozilla.org/integration/mozilla-inbound/rev/9bbf385111be
Target Milestone: --- → mozilla14
https://hg.mozilla.org/mozilla-central/rev/9bbf385111be
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Assignee)

Comment 10

5 years ago
Comment on attachment 606036 [details] [diff] [review]
Patch

[Approval Request Comment]
Regression caused by (bug #): 700822
User impact if declined: 2x SunSpider regression on Win64. Suspected similar regression on other JS worksloads, but unknown.
Testing completed (on m-c, etc.): Tested on try, landed to m-c.
Risk to taking this patch (and alternatives if risky): Almost none--it has no effect on platforms other than Win64. On Win64, it just restores the jitcode allocation behavior to what it was before 700822.
Attachment #606036 - Flags: approval-mozilla-release?
Attachment #606036 - Flags: approval-mozilla-beta?
Attachment #606036 - Flags: approval-mozilla-aurora?
Comment on attachment 606036 [details] [diff] [review]
Patch

[Triage Comment]
Approved for Aurora 13 and Beta 12 - I don't see any reason to take this on m-r since it's not a shipping config.
Attachment #606036 - Flags: approval-mozilla-release?
Attachment #606036 - Flags: approval-mozilla-release-
Attachment #606036 - Flags: approval-mozilla-beta?
Attachment #606036 - Flags: approval-mozilla-beta+
Attachment #606036 - Flags: approval-mozilla-aurora?
Attachment #606036 - Flags: approval-mozilla-aurora+
(Assignee)

Comment 12

5 years ago
(In reply to Alex Keybl [:akeybl] from comment #11)
> Comment on attachment 606036 [details] [diff] [review]
> Patch
> 
> [Triage Comment]
> Approved for Aurora 13 and Beta 12 - I don't see any reason to take this on
> m-r since it's not a shipping config.

Turns out the bug doesn't affect release (nor beta)--it started with 13, but I misread the report and thought it affected release. My bad.
status-firefox10: --- → unaffected
status-firefox11: --- → unaffected
status-firefox12: --- → unaffected
status-firefox13: --- → affected
status-firefox14: --- → fixed
(Assignee)

Comment 13

5 years ago
http://hg.mozilla.org/releases/mozilla-aurora/rev/ce052bf33131
status-firefox13: affected → fixed
(Assignee)

Updated

5 years ago
Attachment #606036 - Flags: approval-mozilla-beta+
Whiteboard: [qa+]

Comment 14

5 years ago
Verified as fixed on:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0

The results from http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html averaged around 245 ms.
status-firefox13: fixed → verified

Comment 15

5 years ago
Verified as fixed with the STR from comment 0 on:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0 (20120605113340)

The result from http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html was 258.2ms.
status-firefox14: fixed → verified

Updated

2 years ago
Blocks: 1144361
You need to log in before you can comment on or make changes to this bug.