Bug 95953 - Regressions on 32-bit platforms with revisions 125637 and 126387
Summary: Regressions on 32-bit platforms with revisions 125637 and 126387
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-06 02:01 PDT by Yuqiang Xian
Modified: 2012-09-06 12:53 PDT (History)
3 users (show)

See Also:


Attachments
patch (1.49 KB, patch)
2012-09-06 02:08 PDT, Yuqiang Xian
no flags Details | Formatted Diff | Diff
Performance result (32bit) (7.48 KB, text/plain)
2012-09-06 02:11 PDT, Yuqiang Xian
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yuqiang Xian 2012-09-06 02:01:17 PDT
Take a look at awfy.com (http://arewefastyet.com/?runs=1000&view=regress&machine=11), there are two obvious performance regressions.

The root cause is related to r125637, and it's further exposed in r126387. It's a typo in the baseline JIT compiler for op_get_by_val which causes the baseline JIT incorrectly falls back to the slow case. The value profiler knows the fact that the operation goes to the slow path, the DFG compiler then thinks it might clobber the world and the high level optimizations especially the local CSE are affected greatly.

The fix should recover both regressions. My local test indicates 5% on SunSpider, 2% on v8 and 23% on Kraken.

Patch forthcoming.
Comment 1 Yuqiang Xian 2012-09-06 02:08:51 PDT
Created attachment 162453 [details]
patch
Comment 2 Yuqiang Xian 2012-09-06 02:11:23 PDT
Created attachment 162454 [details]
Performance result (32bit)
Comment 3 WebKit Review Bot 2012-09-06 12:53:50 PDT
Comment on attachment 162453 [details]
patch

Clearing flags on attachment: 162453

Committed r127778: <http://trac.webkit.org/changeset/127778>
Comment 4 WebKit Review Bot 2012-09-06 12:53:53 PDT
All reviewed patches have been landed.  Closing bug.