Index: src/disassembler.cc |
=================================================================== |
--- src/disassembler.cc (revision 280) |
+++ src/disassembler.cc (working copy) |
@@ -63,20 +63,20 @@ |
const char* V8NameConverter::NameOfAddress(byte* pc) const { |
- static char buffer[128]; |
+ static v8::internal::EmbeddedVector<char, 128> buffer; |
const char* name = Builtins::Lookup(pc); |
if (name != NULL) { |
- OS::SNPrintF(buffer, sizeof buffer, "%s (%p)", name, pc); |
- return buffer; |
+ OS::SNPrintF(buffer, "%s (%p)", name, pc); |
+ return buffer.start(); |
} |
if (code_ != NULL) { |
int offs = pc - code_->instruction_start(); |
// print as code offset, if it seems reasonable |
if (0 <= offs && offs < code_->instruction_size()) { |
- OS::SNPrintF(buffer, sizeof buffer, "%d (%p)", offs, pc); |
- return buffer; |
+ OS::SNPrintF(buffer, "%d (%p)", offs, pc); |
+ return buffer.start(); |
} |
} |
@@ -110,8 +110,8 @@ |
AssertNoAllocation no_alloc; |
ExternalReferenceEncoder ref_encoder; |
- char decode_buffer[128]; |
- char out_buffer[kOutBufferSize]; |
+ v8::internal::EmbeddedVector<char, 128> decode_buffer; |
+ v8::internal::EmbeddedVector<char, kOutBufferSize> out_buffer; |
byte* pc = begin; |
disasm::Disassembler d(converter); |
RelocIterator* it = NULL; |
@@ -127,7 +127,6 @@ |
byte* prev_pc = pc; |
if (constants > 0) { |
OS::SNPrintF(decode_buffer, |
- sizeof(decode_buffer), |
"%08x constant", |
*reinterpret_cast<int32_t*>(pc)); |
constants--; |
@@ -136,14 +135,13 @@ |
int num_const = d.ConstantPoolSizeAt(pc); |
if (num_const >= 0) { |
OS::SNPrintF(decode_buffer, |
- sizeof(decode_buffer), |
"%08x constant pool begin", |
*reinterpret_cast<int32_t*>(pc)); |
constants = num_const; |
pc += 4; |
} else { |
decode_buffer[0] = '\0'; |
- pc += d.InstructionDecode(decode_buffer, sizeof decode_buffer, pc); |
+ pc += d.InstructionDecode(decode_buffer, pc); |
} |
} |
@@ -167,7 +165,7 @@ |
} |
} |
- StringBuilder out(out_buffer, sizeof(out_buffer)); |
+ StringBuilder out(out_buffer.start(), out_buffer.length()); |
// Comments. |
for (int i = 0; i < comments.length(); i++) { |
@@ -182,7 +180,7 @@ |
out.AddFormatted("%p %4d ", prev_pc, prev_pc - begin); |
// Instruction. |
- out.AddFormatted("%s", decode_buffer); |
+ out.AddFormatted("%s", decode_buffer.start()); |
// Print all the reloc info for this instruction which are not comments. |
for (int i = 0; i < pcs.length(); i++) { |