| Index: src/disassembler.cc
|
| ===================================================================
|
| --- src/disassembler.cc (revision 8885)
|
| +++ src/disassembler.cc (working copy)
|
| @@ -97,14 +97,17 @@
|
| }
|
|
|
|
|
| -static void DumpBuffer(FILE* f, char* buff) {
|
| +static void DumpBuffer(FILE* f, StringBuilder* out) {
|
| if (f == NULL) {
|
| - PrintF("%s", buff);
|
| + PrintF("%s\n", out->Finalize());
|
| } else {
|
| - fprintf(f, "%s", buff);
|
| + fprintf(f, "%s\n", out->Finalize());
|
| }
|
| + out->Reset();
|
| }
|
|
|
| +
|
| +
|
| static const int kOutBufferSize = 2048 + String::kMaxShortPrintLength;
|
| static const int kRelocInfoPosition = 57;
|
|
|
| @@ -185,13 +188,10 @@
|
|
|
| // Comments.
|
| for (int i = 0; i < comments.length(); i++) {
|
| - out.AddFormatted(" %s\n", comments[i]);
|
| + out.AddFormatted(" %s", comments[i]);
|
| + DumpBuffer(f, &out);
|
| }
|
|
|
| - // Write out comments, resets outp so that we can format the next line.
|
| - DumpBuffer(f, out.Finalize());
|
| - out.Reset();
|
| -
|
| // Instruction address and instruction offset.
|
| out.AddFormatted("%p %4d ", prev_pc, prev_pc - begin);
|
|
|
| @@ -209,7 +209,7 @@
|
| out.AddPadding(' ', kRelocInfoPosition - out.position());
|
| } else {
|
| // Additional reloc infos are printed on separate lines.
|
| - out.AddFormatted("\n");
|
| + DumpBuffer(f, &out);
|
| out.AddPadding(' ', kRelocInfoPosition);
|
| }
|
|
|
| @@ -299,9 +299,7 @@
|
| out.AddFormatted(" ;; %s", RelocInfo::RelocModeName(rmode));
|
| }
|
| }
|
| - out.AddString("\n");
|
| - DumpBuffer(f, out.Finalize());
|
| - out.Reset();
|
| + DumpBuffer(f, &out);
|
| }
|
|
|
| delete it;
|
|
|