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 <stdarg.h> | 5 #include <stdarg.h> |
6 | 6 |
7 #include "v8.h" | 7 #include "v8.h" |
8 | 8 |
9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
10 #include "code-stubs.h" | 10 #include "code-stubs.h" |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 | 315 |
316 void LogWriteBytes(const char* bytes, int size); | 316 void LogWriteBytes(const char* bytes, int size); |
317 void LogWriteHeader(); | 317 void LogWriteHeader(); |
318 | 318 |
319 static const uint32_t kJitHeaderMagic = 0x4F74496A; | 319 static const uint32_t kJitHeaderMagic = 0x4F74496A; |
320 static const uint32_t kJitHeaderVersion = 0x2; | 320 static const uint32_t kJitHeaderVersion = 0x2; |
321 static const uint32_t kElfMachIA32 = 3; | 321 static const uint32_t kElfMachIA32 = 3; |
322 static const uint32_t kElfMachX64 = 62; | 322 static const uint32_t kElfMachX64 = 62; |
323 static const uint32_t kElfMachARM = 40; | 323 static const uint32_t kElfMachARM = 40; |
324 static const uint32_t kElfMachMIPS = 10; | 324 static const uint32_t kElfMachMIPS = 10; |
| 325 static const uint32_t kElfMachX87 = 3; |
325 | 326 |
326 struct jitheader { | 327 struct jitheader { |
327 uint32_t magic; | 328 uint32_t magic; |
328 uint32_t version; | 329 uint32_t version; |
329 uint32_t total_size; | 330 uint32_t total_size; |
330 uint32_t elf_mach; | 331 uint32_t elf_mach; |
331 uint32_t pad1; | 332 uint32_t pad1; |
332 uint32_t pid; | 333 uint32_t pid; |
333 uint64_t timestamp; | 334 uint64_t timestamp; |
334 }; | 335 }; |
(...skipping 19 matching lines...) Expand all Loading... |
354 | 355 |
355 uint32_t GetElfMach() { | 356 uint32_t GetElfMach() { |
356 #if V8_TARGET_ARCH_IA32 | 357 #if V8_TARGET_ARCH_IA32 |
357 return kElfMachIA32; | 358 return kElfMachIA32; |
358 #elif V8_TARGET_ARCH_X64 | 359 #elif V8_TARGET_ARCH_X64 |
359 return kElfMachX64; | 360 return kElfMachX64; |
360 #elif V8_TARGET_ARCH_ARM | 361 #elif V8_TARGET_ARCH_ARM |
361 return kElfMachARM; | 362 return kElfMachARM; |
362 #elif V8_TARGET_ARCH_MIPS | 363 #elif V8_TARGET_ARCH_MIPS |
363 return kElfMachMIPS; | 364 return kElfMachMIPS; |
| 365 #elif V8_TARGET_ARCH_X87 |
| 366 return kElfMachX87; |
364 #else | 367 #else |
365 UNIMPLEMENTED(); | 368 UNIMPLEMENTED(); |
366 return 0; | 369 return 0; |
367 #endif | 370 #endif |
368 } | 371 } |
369 | 372 |
370 FILE* perf_output_handle_; | 373 FILE* perf_output_handle_; |
371 }; | 374 }; |
372 | 375 |
373 const char PerfJitLogger::kFilenameFormatString[] = "/tmp/jit-%d.dump"; | 376 const char PerfJitLogger::kFilenameFormatString[] = "/tmp/jit-%d.dump"; |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
550 | 553 |
551 void LowLevelLogger::LogCodeInfo() { | 554 void LowLevelLogger::LogCodeInfo() { |
552 #if V8_TARGET_ARCH_IA32 | 555 #if V8_TARGET_ARCH_IA32 |
553 const char arch[] = "ia32"; | 556 const char arch[] = "ia32"; |
554 #elif V8_TARGET_ARCH_X64 | 557 #elif V8_TARGET_ARCH_X64 |
555 const char arch[] = "x64"; | 558 const char arch[] = "x64"; |
556 #elif V8_TARGET_ARCH_ARM | 559 #elif V8_TARGET_ARCH_ARM |
557 const char arch[] = "arm"; | 560 const char arch[] = "arm"; |
558 #elif V8_TARGET_ARCH_MIPS | 561 #elif V8_TARGET_ARCH_MIPS |
559 const char arch[] = "mips"; | 562 const char arch[] = "mips"; |
| 563 #elif V8_TARGET_ARCH_X87 |
| 564 const char arch[] = "x87"; |
560 #else | 565 #else |
561 const char arch[] = "unknown"; | 566 const char arch[] = "unknown"; |
562 #endif | 567 #endif |
563 LogWriteBytes(arch, sizeof(arch)); | 568 LogWriteBytes(arch, sizeof(arch)); |
564 } | 569 } |
565 | 570 |
566 | 571 |
567 void LowLevelLogger::LogRecordedBuffer(Code* code, | 572 void LowLevelLogger::LogRecordedBuffer(Code* code, |
568 SharedFunctionInfo*, | 573 SharedFunctionInfo*, |
569 const char* name, | 574 const char* name, |
(...skipping 1541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2111 if (jit_logger_) { | 2116 if (jit_logger_) { |
2112 removeCodeEventListener(jit_logger_); | 2117 removeCodeEventListener(jit_logger_); |
2113 delete jit_logger_; | 2118 delete jit_logger_; |
2114 jit_logger_ = NULL; | 2119 jit_logger_ = NULL; |
2115 } | 2120 } |
2116 | 2121 |
2117 return log_->Close(); | 2122 return log_->Close(); |
2118 } | 2123 } |
2119 | 2124 |
2120 } } // namespace v8::internal | 2125 } } // namespace v8::internal |
OLD | NEW |