Commit 9b62bb32 authored by mtrofin's avatar mtrofin Committed by Commit bot

Block pretty printing (partial re-revert of 1177123002).

Revert "Revert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromium.org/1177123002/)"

This reverts commit e2ce4681, avoiding the hex->dec changes, and re-introducing the block pretty printing of the original CL.

The hex-dec issue would be handled separately.
BUG=

Review URL: https://codereview.chromium.org/1186273005

Cr-Commit-Position: refs/heads/master@{#29063}
parent f1db38ca
...@@ -99,12 +99,29 @@ Handle<Code> CodeGenerator::GenerateCode() { ...@@ -99,12 +99,29 @@ Handle<Code> CodeGenerator::GenerateCode() {
if (FLAG_code_comments) { if (FLAG_code_comments) {
// TODO(titzer): these code comments are a giant memory leak. // TODO(titzer): these code comments are a giant memory leak.
Vector<char> buffer = Vector<char>::New(200); Vector<char> buffer = Vector<char>::New(200);
SNPrintF(buffer, "-- B%d start%s%s%s%s --", block->rpo_number().ToInt(), char* buffer_start = buffer.start();
int next = SNPrintF(
buffer, "-- B%d start%s%s%s%s", block->rpo_number().ToInt(),
block->IsDeferred() ? " (deferred)" : "", block->IsDeferred() ? " (deferred)" : "",
block->needs_frame() ? "" : " (no frame)", block->needs_frame() ? "" : " (no frame)",
block->must_construct_frame() ? " (construct frame)" : "", block->must_construct_frame() ? " (construct frame)" : "",
block->must_deconstruct_frame() ? " (deconstruct frame)" : ""); block->must_deconstruct_frame() ? " (deconstruct frame)" : "");
masm()->RecordComment(buffer.start());
buffer = buffer.SubVector(next, buffer.length());
if (block->IsLoopHeader()) {
next =
SNPrintF(buffer, " (loop up to %d)", block->loop_end().ToInt());
buffer = buffer.SubVector(next, buffer.length());
}
if (block->loop_header().IsValid()) {
next =
SNPrintF(buffer, " (in loop %d)", block->loop_header().ToInt());
buffer = buffer.SubVector(next, buffer.length());
}
SNPrintF(buffer, " --");
masm()->RecordComment(buffer_start);
} }
masm()->bind(GetLabel(current_block_)); masm()->bind(GetLabel(current_block_));
for (int i = block->code_start(); i < block->code_end(); ++i) { for (int i = block->code_start(); i < block->code_end(); ++i) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment