Reviewers: William Hesse,

Description:
Fix issue 434: make OS::LogSharedLibraryAddresses work on x64 Mac.

Also, enable tick processor to process 64-bit profiler logs on Mac.

BUG=http://code.google.com/p/v8/issues/detail?id=434

Please review this at http://codereview.chromium.org/180063

Affected files:
   M src/platform-macos.cc
   M tools/tickprocessor.js


Index: src/platform-macos.cc
diff --git a/src/platform-macos.cc b/src/platform-macos.cc
index  
c0810649fe52cd02719db284b204f9e7d27678b6..e0bcb34691dbe60d9eb42e792f8f3d68a7c3a74d
  
100644
--- a/src/platform-macos.cc
+++ b/src/platform-macos.cc
@@ -211,8 +211,14 @@ void OS::LogSharedLibraryAddresses() {
    for (unsigned int i = 0; i < images_count; ++i) {
      const mach_header* header = _dyld_get_image_header(i);
      if (header == NULL) continue;
+#if V8_HOST_ARCH_X64
+    uint64_t size;
+    char* code_ptr = getsectdatafromheader_64(
+        (mach_header_64*)header, SEG_TEXT, SECT_TEXT, &size);
+#else
      unsigned int size;
      char* code_ptr = getsectdatafromheader(header, SEG_TEXT, SECT_TEXT,  
&size);
+#endif
      if (code_ptr == NULL) continue;
      const uintptr_t slide = _dyld_get_image_vmaddr_slide(i);
      const uintptr_t start = reinterpret_cast<uintptr_t>(code_ptr) + slide;
Index: tools/tickprocessor.js
diff --git a/tools/tickprocessor.js b/tools/tickprocessor.js
index  
72b3059dcaabf3e1645d2395cfc41cec118eda7d..84f0eea580d10fcef2ad01d15da638f782cc1bdc
  
100644
--- a/tools/tickprocessor.js
+++ b/tools/tickprocessor.js
@@ -476,7 +476,7 @@ UnixCppEntriesProvider.prototype.parseNextLine =  
function() {
  function MacCppEntriesProvider(nmExec) {
    UnixCppEntriesProvider.call(this, nmExec);
    // Note an empty group. It is required, as UnixCppEntriesProvider  
expects 3 groups.
-  this.FUNC_RE = /^([0-9a-fA-F]{8}) ()[iItT] (.*)$/;
+  this.FUNC_RE = /^([0-9a-fA-F]{8,16}) ()[iItT] (.*)$/;
  };
  inherits(MacCppEntriesProvider, UnixCppEntriesProvider);




--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to