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

Issue 1431933003: [assembler] Introduce proper AssemblerBase::Print() for improved debuggability. (Closed)

Created:
5 years, 1 month ago by Mircea Trofin
Modified:
5 years, 1 month ago
Reviewers:
Benedikt Meurer, Jarin
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[assembler] Introduce proper AssemblerBase::Print() for improved debuggability. While working on frame elision, I wanted to disassemble codegen in the debugger, as the code generation is progressing. I discovered we had a "Print" member on the x64 assembler, without any implementation. I pulled it up to AssemblerBase and gave it an implementation that should work for the other architectures. Also checked that ia32, x87, arm and arm64 assemblers didn't have such an implementation - free Print. Arm64 has a naming conflict with the v8::internal::Disassembler. I renamed the arm64 type with a more specific name. Opportunistically fixed a bug in the name converter. This debug-time printer doesn't provide a Code object, which should be OK with the name converters, by the looks of other APIs there. All this means is that when using the Print() API, we just get addresses dumped without any context (like what this address may be - a stub maybe, etc). This seems fine for the scenario. There may be other places that assume a Code object. Since this is a diagnostics-only scenario, for codegen developers, I feel it is reasonable to fix such other places as we find them. Committed: https://crrev.com/ab1d270a72a2c0553eb0b7d47eb6fa16ecc038c6 Cr-Commit-Position: refs/heads/master@{#31869}

Patch Set 1 #

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+113 lines, -101 lines) Patch
M src/arm64/disasm-arm64.h View 1 2 chunks +5 lines, -5 lines 0 comments Download
M src/arm64/disasm-arm64.cc View 1 61 chunks +83 lines, -81 lines 0 comments Download
M src/assembler.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/assembler.cc View 2 chunks +8 lines, -0 lines 0 comments Download
M src/disassembler.cc View 1 chunk +3 lines, -1 line 0 comments Download
M src/x64/assembler-x64.h View 1 chunk +0 lines, -3 lines 0 comments Download
M test/cctest/test-disasm-arm64.cc View 1 1 chunk +10 lines, -10 lines 0 comments Download
M test/cctest/test-fuzz-arm64.cc View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 10 (5 generated)
Mircea Trofin
5 years, 1 month ago (2015-11-08 18:42:48 UTC) #4
Benedikt Meurer
LGTM, thanks.
5 years, 1 month ago (2015-11-09 04:48:02 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1431933003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1431933003/20001
5 years, 1 month ago (2015-11-09 05:38:14 UTC) #8
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 1 month ago (2015-11-09 05:39:25 UTC) #9
commit-bot: I haz the power
5 years, 1 month ago (2015-11-09 05:39:57 UTC) #10
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/ab1d270a72a2c0553eb0b7d47eb6fa16ecc038c6
Cr-Commit-Position: refs/heads/master@{#31869}

Powered by Google App Engine
This is Rietveld 408576698