Author: [email protected]
Date: Fri Jun 19 00:08:31 2009
New Revision: 2221

Modified:
    branches/bleeding_edge/tools/tickprocessor.js

Log:
Fix 'nm' results parsing in tickprocessor.

Without an explicit check if a function belongs to shared library address  
space, "finishing" a library symbols processing  
with 'addPrevEntry(libEnd);' can cause emission of code entries which cover  
almost the entire address space, shadowing other code.

Review URL: http://codereview.chromium.org/131033


Modified: branches/bleeding_edge/tools/tickprocessor.js
==============================================================================
--- branches/bleeding_edge/tools/tickprocessor.js       (original)
+++ branches/bleeding_edge/tools/tickprocessor.js       Fri Jun 19 00:08:31 2009
@@ -379,7 +379,9 @@
    function addPrevEntry(end) {
      // Several functions can be mapped onto the same address. To avoid
      // creating zero-sized entries, skip such duplicates.
-    if (prevEntry && prevEntry.start < end) {
+    // Also double-check that function belongs to the library address  
space.
+    if (prevEntry && prevEntry.start < end &&
+        prevEntry.start >= libStart && end <= libEnd) {
        processorFunc(prevEntry.name, prevEntry.start, end);
      }
    }

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

Reply via email to