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

Issue 9223011: Some assembler-level optimizations on ARM. (Closed)

Created:
8 years, 11 months ago by Yang
Modified:
8 years, 11 months ago
Reviewers:
ulan
CC:
v8-dev
Visibility:
Public.

Description

Some assembler-level optimizations on ARM. Committed: https://code.google.com/p/v8/source/detail?r=10541

Patch Set 1 #

Total comments: 11

Patch Set 2 : . #

Patch Set 3 : . #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+75 lines, -80 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 22 chunks +38 lines, -63 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 7 chunks +11 lines, -11 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 4 chunks +4 lines, -6 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 1 chunk +6 lines, -0 lines 1 comment Download
M src/arm/macro-assembler-arm.cc View 1 2 1 chunk +16 lines, -0 lines 1 comment Download

Messages

Total messages: 4 (0 generated)
Yang
PTAL. Common patterns: - JumpIfSmi and SmiUntag can be combined, leveraging the carry flag (shifter ...
8 years, 11 months ago (2012-01-27 09:31:36 UTC) #1
ulan
LGTM if comments are addressed. http://codereview.chromium.org/9223011/diff/1/src/arm/builtins-arm.cc File src/arm/builtins-arm.cc (right): http://codereview.chromium.org/9223011/diff/1/src/arm/builtins-arm.cc#newcode157 src/arm/builtins-arm.cc:157: __ LoadRoot(scratch3, Heap::kFixedArrayMapRootIndex); In ...
8 years, 11 months ago (2012-01-27 13:19:11 UTC) #2
Yang
Please take another look. On 2012/01/27 13:19:11, ulan wrote: > LGTM if comments are addressed. ...
8 years, 11 months ago (2012-01-27 15:00:34 UTC) #3
ulan
8 years, 11 months ago (2012-01-27 15:24:35 UTC) #4
LGTM with nits.

http://codereview.chromium.org/9223011/diff/1008/src/arm/macro-assembler-arm.cc
File src/arm/macro-assembler-arm.cc (right):

http://codereview.chromium.org/9223011/diff/1008/src/arm/macro-assembler-arm....
src/arm/macro-assembler-arm.cc:2977: Register dst, Register src, Label*
smi_case) {
smi_case should be non_smi_case

http://codereview.chromium.org/9223011/diff/1008/src/arm/macro-assembler-arm.h
File src/arm/macro-assembler-arm.h (right):

http://codereview.chromium.org/9223011/diff/1008/src/arm/macro-assembler-arm....
src/arm/macro-assembler-arm.h:1152: // Tentatively untag and jump if the value
has been a smi.
"Tentatively" is a bit misleading, since the function doesn't restore the
original values. 
Consider something along this lines:
Untag the source register to the destination register and jump if the source
register is a smi. The source and the destination registers can be the same.

Powered by Google App Engine
This is Rietveld 408576698