We can use int32 multiplication instead of double one on op_mul if both operands are immediate and they are between 0 - 0x7FFFF.
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.