Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2353)

Issue 119241: A bunch of changes to speed up math on ARM.... (Closed)

Created:
11 years, 6 months ago by Erik Corry
Modified:
9 years, 7 months ago
Reviewers:
iposva
CC:
v8-dev
Visibility:
Public.

Description

A bunch of changes to speed up math on ARM. * Identify heap numbers that contain non-Smi int32s and do bit ops on them without calling the fp hardware or emulation. * Identify results that are non-Smi int32s and write them into heap numbers without calling the fp hardware or emulation. * Do unary minus on heap numbers without going into the runtime system. * On add, sub and mul if we have both Smi and heapnumber inputs to the same operation then convert the Smi to a double and do the op without going into runtime system. This also applies if we have two Smi inputs but the result is not Smi. Committed: http://code.google.com/p/v8/source/detail?r=2131

Patch Set 1 #

Total comments: 9

Patch Set 2 : '' #

Total comments: 15

Patch Set 3 : '' #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+590 lines, -122 lines) Patch
M src/arm/codegen-arm.cc View 1 2 10 chunks +550 lines, -108 lines 1 comment Download
M src/code-stubs.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/codegen.h View 1 chunk +4 lines, -2 lines 0 comments Download
M src/d8.js View 1 chunk +0 lines, -2 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 4 chunks +21 lines, -10 lines 0 comments Download
M src/objects.h View 1 2 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Erik Corry
11 years, 6 months ago (2009-06-05 13:44:49 UTC) #1
Erik Corry
http://codereview.chromium.org/119241/diff/1/6 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/119241/diff/1/6#newcode4403 Line 4403: // Takes a Smi and converts to an ...
11 years, 6 months ago (2009-06-05 22:28:07 UTC) #2
iposva
Erik, first set of comments. Apparently I did not hit "Publish" on my work machine ...
11 years, 6 months ago (2009-06-08 06:45:29 UTC) #3
Erik Corry
http://codereview.chromium.org/119241/diff/1/6 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/119241/diff/1/6#newcode4369 Line 4369: // of 32). On 2009/06/08 06:45:29, iposva wrote: ...
11 years, 6 months ago (2009-06-08 07:34:58 UTC) #4
iposva
Next set of comments. -Ivan http://codereview.chromium.org/119241/diff/14/1014 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/119241/diff/14/1014#newcode4455 Line 4455: __ and_(result1_, source_, ...
11 years, 6 months ago (2009-06-08 22:51:55 UTC) #5
Erik Corry
New version uploaded. http://codereview.chromium.org/119241/diff/14/1014 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/119241/diff/14/1014#newcode4455 Line 4455: __ and_(result1_, source_, Operand(0x80000000), SetCC); ...
11 years, 6 months ago (2009-06-09 08:45:56 UTC) #6
iposva
11 years, 6 months ago (2009-06-10 04:30:48 UTC) #7
One small comment about an oversight, otherwise LGTM.

-Ivan

PS. Feeling sorry for you about dreaming in IEEE floating point format.

http://codereview.chromium.org/119241/diff/18/1023
File src/arm/codegen-arm.cc (right):

http://codereview.chromium.org/119241/diff/18/1023#newcode4480
Line 4480: __ orr(result1_, result1_, Operand(result2_, LSL, 20));
Please use kExponentShift, which you added to the header here.

Powered by Google App Engine
This is Rietveld 408576698