| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
| 8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
| 9 #include "src/debug.h" | 9 #include "src/debug.h" |
| 10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 } | 52 } |
| 53 | 53 |
| 54 | 54 |
| 55 const char* V8NameConverter::NameInCode(byte* addr) const { | 55 const char* V8NameConverter::NameInCode(byte* addr) const { |
| 56 // The V8NameConverter is used for well known code, so we can "safely" | 56 // The V8NameConverter is used for well known code, so we can "safely" |
| 57 // dereference pointers in generated code. | 57 // dereference pointers in generated code. |
| 58 return (code_ != NULL) ? reinterpret_cast<const char*>(addr) : ""; | 58 return (code_ != NULL) ? reinterpret_cast<const char*>(addr) : ""; |
| 59 } | 59 } |
| 60 | 60 |
| 61 | 61 |
| 62 static void DumpBuffer(OStream* os, StringBuilder* out) { | 62 static void DumpBuffer(std::ostream* os, StringBuilder* out) { |
| 63 (*os) << out->Finalize() << endl; | 63 (*os) << out->Finalize() << std::endl; |
| 64 out->Reset(); | 64 out->Reset(); |
| 65 } | 65 } |
| 66 | 66 |
| 67 | 67 |
| 68 static const int kOutBufferSize = 2048 + String::kMaxShortPrintLength; | 68 static const int kOutBufferSize = 2048 + String::kMaxShortPrintLength; |
| 69 static const int kRelocInfoPosition = 57; | 69 static const int kRelocInfoPosition = 57; |
| 70 | 70 |
| 71 static int DecodeIt(Isolate* isolate, OStream* os, | 71 static int DecodeIt(Isolate* isolate, std::ostream* os, |
| 72 const V8NameConverter& converter, byte* begin, byte* end) { | 72 const V8NameConverter& converter, byte* begin, byte* end) { |
| 73 SealHandleScope shs(isolate); | 73 SealHandleScope shs(isolate); |
| 74 DisallowHeapAllocation no_alloc; | 74 DisallowHeapAllocation no_alloc; |
| 75 ExternalReferenceEncoder ref_encoder(isolate); | 75 ExternalReferenceEncoder ref_encoder(isolate); |
| 76 | 76 |
| 77 v8::internal::EmbeddedVector<char, 128> decode_buffer; | 77 v8::internal::EmbeddedVector<char, 128> decode_buffer; |
| 78 v8::internal::EmbeddedVector<char, kOutBufferSize> out_buffer; | 78 v8::internal::EmbeddedVector<char, kOutBufferSize> out_buffer; |
| 79 StringBuilder out(out_buffer.start(), out_buffer.length()); | 79 StringBuilder out(out_buffer.start(), out_buffer.length()); |
| 80 byte* pc = begin; | 80 byte* pc = begin; |
| 81 disasm::Disassembler d(converter); | 81 disasm::Disassembler d(converter); |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 DumpBuffer(os, &out); | 268 DumpBuffer(os, &out); |
| 269 } | 269 } |
| 270 } | 270 } |
| 271 } | 271 } |
| 272 | 272 |
| 273 delete it; | 273 delete it; |
| 274 return static_cast<int>(pc - begin); | 274 return static_cast<int>(pc - begin); |
| 275 } | 275 } |
| 276 | 276 |
| 277 | 277 |
| 278 int Disassembler::Decode(Isolate* isolate, OStream* os, byte* begin, byte* end, | 278 int Disassembler::Decode(Isolate* isolate, std::ostream* os, byte* begin, |
| 279 Code* code) { | 279 byte* end, Code* code) { |
| 280 V8NameConverter v8NameConverter(code); | 280 V8NameConverter v8NameConverter(code); |
| 281 return DecodeIt(isolate, os, v8NameConverter, begin, end); | 281 return DecodeIt(isolate, os, v8NameConverter, begin, end); |
| 282 } | 282 } |
| 283 | 283 |
| 284 #else // ENABLE_DISASSEMBLER | 284 #else // ENABLE_DISASSEMBLER |
| 285 | 285 |
| 286 int Disassembler::Decode(Isolate* isolate, OStream* os, byte* begin, byte* end, | 286 int Disassembler::Decode(Isolate* isolate, std::ostream* os, byte* begin, |
| 287 Code* code) { | 287 byte* end, Code* code) { |
| 288 return 0; | 288 return 0; |
| 289 } | 289 } |
| 290 | 290 |
| 291 #endif // ENABLE_DISASSEMBLER | 291 #endif // ENABLE_DISASSEMBLER |
| 292 | 292 |
| 293 } } // namespace v8::internal | 293 } } // namespace v8::internal |
| OLD | NEW |