As seen in this graph: http://graphs.mozilla.org/graph.html#tests=[[230,63,24]]&sel=1381163470753,1381768270753,10750,13500&displayrange=7&datatype=running There was a regression after the fix for bug 925088. There was another unrelated regression on top of it, which is now fixed, but the performance is still not back to the original level. I have not yet been able to reproduce the slowdown myself yet. My guess is that by making the code smaller, it is pushing branches in the branch-heavy visitTestVAndBranch sequence closer together and tripping some limit in the hardware branch predictor. Among other things, that would explain why this regression isn't observed in the GGC build or under other seemingly unrelated configuration options. If so, perhaps this can be fixed by some strategic code alignment.
Graph.mozilla.org gives the following regression range which is also matching x86-64 Splay regression on AWFY: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=655490859d77&tochange=92416820c9fa http://arewefastyet.com/#machine=12&view=breakdown&suite=octane Thanks for filing this bug.
I am still unable to reproduce the performance regression locally. AWFY has been bouncing around a lot on splay, but graphs.mozilla.org data pretty clearly shows that the regression persists. I'll start reverting patches soon.
micro-test-string-truthy.patch is the patch identified by the above graph.mozilla.org chart. Reverted here: https://hg.mozilla.org/integration/mozilla-inbound/rev/8de556315ae6
That had no effect. micro-fold-branchTest32.patch is the next patch in the set. Reverted here: https://hg.mozilla.org/integration/mozilla-inbound/rev/188f87037857
I made an error in resolving a merge conflict for that revert, and the revert was reverted (see bug 925088). Error fixed and revert redone here: https://hg.mozilla.org/integration/mozilla-inbound/rev/26e3cd34e228
That had no effect either. Assuming the patch range above is right, the only patch remaining is 37ca290c9256. That patch just adds "static" keywords to things in .cpp files which aren't used from other files. If anyone wants, I'm willing to revert this too.
Hannes, do you know if this is still a problem?
So from what I see the regression on AWFY is fixed. Though the regression on graphs.mozilla.org persists. Now I'm not really a fan of octane-splay as a benchmark. I've seen too many improvements on code deteriorate the score. I'm not sure if it is really worth to dive into octane-splay and spend some hours to try to reproduce and hope it's the same issue as on graphs.mozilla.org. Looking at the regression range and Dan backing out all patches, except for a trivial change, don't think there is actuall something we can do for this?
In that case, closing.