Summary: | Use simple int32 multiplication on op_mul if it is possible | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Gabor Loki <loki> | ||||||||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||
Severity: | Enhancement | CC: | abarth, zwarich | ||||||||||||
Priority: | P2 | ||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||
Hardware: | PC | ||||||||||||||
OS: | Linux | ||||||||||||||
Attachments: |
|
Description
Gabor Loki
2008-09-18 04:02:36 PDT
Created attachment 23525 [details]
int32 multiplication on op_mul
Created attachment 23526 [details]
SunSpider, V8 results (rev 36540)
The progression is 2.5% on SunSpider, and 7.8% on V8.
Would someone be so kind to measure it on Mac (without CTI)?
Comment on attachment 23525 [details]
int32 multiplication on op_mul
r=me
Created attachment 23846 [details]
int32 multiplication on op_mul (v2)
The previous patch has a review+ flag for a week, but nobody landed.
So, I have did a small tweak and updated the patch.
The current results are the followings:
SunSpider: 1.5% speedup, V8: 8.7% speedup
Comment on attachment 23846 [details]
int32 multiplication on op_mul (v2)
r=me (again)
Will land v2. This is a bit outside of my area of expertise but looks self-contained. Please stop me if I'm overstepping. My Mac Mini died in the middle of testing this patch. I'm going to take it into the store tomorrow. It's going to be a week before I get my Mac Mini back. Unassigning. This patch needs to be tweaked before landing, but the changes are obvious. Comment on attachment 23846 [details]
int32 multiplication on op_mul (v2)
If I try this patch on ToT (with r and exec changed to callFrame), I get 168 JSC test regressions.
Any new version of this patch should also use C++ style casts instead of C style casts. > If I try this patch on ToT (with r and exec changed to callFrame), I get 168
> JSC test regressions.
It can't be. I guess you forgot to update VPC's statement.
I will send the updated patch and its results on Qt-linux soon.
Created attachment 24354 [details]
int32 multiplication on op_mul (v3)
Here is the updated patch on ToT.
No new regression in JSC tests.
Created attachment 24355 [details]
SunSpider, V8 results (rev 37601)
The progression is 3.1% on SunSpider, and 10.6% on V8 (on Qt-linux).
Comment on attachment 24354 [details]
int32 multiplication on op_mul (v3)
r=me
Landed in r37602. Sorry about that, I should have been able to restructure the patch myself. |