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

Issue 1113002: Implement function calls on ARM using the blx instruction when available. Usi... (Closed)

Created:
10 years, 9 months ago by rodolph
Modified:
9 years, 7 months ago
Reviewers:
Erik Corry
Visibility:
Public.

Description

Implement function calls on ARM using the blx instruction when available. Using blx will allow the CPU to predict the return address fo the function, resulting in better overall performamce. BUG=648

Patch Set 1 #

Total comments: 4

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+97 lines, -20 lines) Patch
M src/arm/assembler-arm.h View 1 2 chunks +27 lines, -2 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 1 chunk +8 lines, -2 lines 0 comments Download
M src/arm/assembler-arm-inl.h View 1 2 chunks +25 lines, -6 lines 0 comments Download
M src/arm/constants-arm.h View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/arm/debug-arm.cc View 1 1 chunk +10 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 chunks +22 lines, -10 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
rodolph
10 years, 9 months ago (2010-03-18 23:33:37 UTC) #1
Erik Corry
LGTM! I'll land this for you if you fix the minor points below. http://codereview.chromium.org/1113002/diff/1/3 File ...
10 years, 9 months ago (2010-03-19 10:01:05 UTC) #2
rodolph
http://codereview.chromium.org/1113002/diff/1/3 File src/arm/assembler-arm-inl.h (right): http://codereview.chromium.org/1113002/diff/1/3#newcode240 src/arm/assembler-arm-inl.h:240: // what need to be patched. On 2010/03/19 10:01:06, ...
10 years, 9 months ago (2010-03-19 11:39:18 UTC) #3
Erik Corry
10 years, 9 months ago (2010-03-19 14:05:48 UTC) #4
Committed to bleeding edge as r4198

On 2010/03/19 11:39:18, rodolph wrote:
> http://codereview.chromium.org/1113002/diff/1/3
> File src/arm/assembler-arm-inl.h (right):
> 
> http://codereview.chromium.org/1113002/diff/1/3#newcode240
> src/arm/assembler-arm-inl.h:240: // what need to be patched.
> On 2010/03/19 10:01:06, Erik Corry wrote:
> > need -> needs
> 
> Done.
> 
> http://codereview.chromium.org/1113002/diff/1/4
> File src/arm/assembler-arm.cc (right):
> 
> http://codereview.chromium.org/1113002/diff/1/4#newcode244
> src/arm/assembler-arm.cc:244: const Instr kLdrPCPattern = al | B26 | L |
> pc.code() * B16;
> On 2010/03/19 10:01:06, Erik Corry wrote:
> > I can't understand why these two aren't divided up into a mask and a value. 
> Are
> > there no should-be-zero bits in an LDR pc instruction or a BLX instruction
and
> > if so isn't that just a coincidence?
> 
> You are right, these should be divided into mask/value. Done in the latest
> upload.

Powered by Google App Engine
This is Rietveld 408576698