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

Issue 268353005: ARM64: Fix and improve MacroAssembler::Printf. (Closed)

Created:
6 years, 7 months ago by jbramley
Modified:
6 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

ARM64: Fix and improve MacroAssembler::Printf. - W-sized values passed to Printf are now handled correctly by the simulator. In AAPCS64, int32_t and int64_t are passed in the same way, so this didn't affect non-simulator builds. - Since Printf now records the type and size of each argument, it is possible to mix argument types. - It is now possible to print the stack pointer. There is only one remaining restriction: The `csp` register cannot be printed unless it is the current stack pointer. This is because it is modified by BumpSystemStackPointer when the caller-saved registers are preserved. BUG= R=rmcilroy@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=21272

Patch Set 1 #

Total comments: 10

Patch Set 2 : Address review comments. #

Patch Set 3 : Reorganise Simulator::DoPrintf as suggested. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+387 lines, -212 lines) Patch
M src/arm64/assembler-arm64.h View 2 chunks +6 lines, -0 lines 0 comments Download
M src/arm64/assembler-arm64-inl.h View 2 chunks +19 lines, -8 lines 0 comments Download
M src/arm64/instructions-arm64.h View 1 chunk +29 lines, -15 lines 0 comments Download
M src/arm64/macro-assembler-arm64.h View 3 chunks +14 lines, -15 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 4 chunks +141 lines, -109 lines 0 comments Download
M src/arm64/simulator-arm64.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm64/simulator-arm64.cc View 1 2 2 chunks +128 lines, -37 lines 0 comments Download
M test/cctest/test-assembler-arm64.cc View 7 chunks +47 lines, -28 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
jbramley
This ports improvements and fixes to Printf that were made in VIXL 1.4.
6 years, 7 months ago (2014-05-07 16:20:34 UTC) #1
rmcilroy
Overall looks good. One main comment in simulator-arm64.cc, but other than that just nits. https://codereview.chromium.org/268353005/diff/1/src/arm64/macro-assembler-arm64.cc ...
6 years, 7 months ago (2014-05-08 09:32:13 UTC) #2
jbramley
https://codereview.chromium.org/268353005/diff/1/src/arm64/macro-assembler-arm64.cc File src/arm64/macro-assembler-arm64.cc (right): https://codereview.chromium.org/268353005/diff/1/src/arm64/macro-assembler-arm64.cc#newcode4871 src/arm64/macro-assembler-arm64.cc:4871: CPURegister pcs[kPrintfMaxArgCount] = {NoReg, NoReg, NoReg, NoReg}; On 2014/05/08 ...
6 years, 7 months ago (2014-05-08 14:48:01 UTC) #3
rmcilroy
https://codereview.chromium.org/268353005/diff/1/src/arm64/simulator-arm64.cc File src/arm64/simulator-arm64.cc (right): https://codereview.chromium.org/268353005/diff/1/src/arm64/simulator-arm64.cc#newcode3651 src/arm64/simulator-arm64.cc:3651: if (placeholder_count > 0) *format_scratch++ = format_base[i]; On 2014/05/08 ...
6 years, 7 months ago (2014-05-08 15:38:31 UTC) #4
rmcilroy
6 years, 7 months ago (2014-05-08 15:38:32 UTC) #5
jbramley
https://codereview.chromium.org/268353005/diff/1/src/arm64/simulator-arm64.cc File src/arm64/simulator-arm64.cc (right): https://codereview.chromium.org/268353005/diff/1/src/arm64/simulator-arm64.cc#newcode3651 src/arm64/simulator-arm64.cc:3651: if (placeholder_count > 0) *format_scratch++ = format_base[i]; On 2014/05/08 ...
6 years, 7 months ago (2014-05-12 10:11:28 UTC) #6
rmcilroy
On 2014/05/12 10:11:28, jbramley wrote: > https://codereview.chromium.org/268353005/diff/1/src/arm64/simulator-arm64.cc > File src/arm64/simulator-arm64.cc (right): > > https://codereview.chromium.org/268353005/diff/1/src/arm64/simulator-arm64.cc#newcode3651 > ...
6 years, 7 months ago (2014-05-12 10:23:43 UTC) #7
jbramley
6 years, 7 months ago (2014-05-12 15:44:33 UTC) #8
Message was sent while issue was closed.
Committed patchset #3 manually as r21272 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698