Reviewers: Mads Ager,

Description:
Heap profiler: guard calls to Producer profile.

Patch by Steve Block.

[email protected]

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

Affected files:
   M src/heap.cc


Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index  
a6122af59240fc26bb17e8ea7314bd889d02e97a..c1827f18f0a5a95289454db8ee108ff1b2447f4f
  
100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -2133,7 +2133,9 @@ Object* Heap::Allocate(Map* map, AllocationSpace  
space) {
                                 TargetSpaceId(map->instance_type()));
    if (result->IsFailure()) return result;
    HeapObject::cast(result)->set_map(map);
+#ifdef ENABLE_LOGGING_AND_PROFILING
    ProducerHeapProfile::RecordJSObjectAllocation(result);
+#endif
    return result;
  }

@@ -2455,7 +2457,9 @@ Object* Heap::CopyJSObject(JSObject* source) {
      JSObject::cast(clone)->set_properties(FixedArray::cast(prop));
    }
    // Return the new clone.
+#ifdef ENABLE_LOGGING_AND_PROFILING
    ProducerHeapProfile::RecordJSObjectAllocation(clone);
+#endif
    return clone;
  }

@@ -3422,8 +3426,10 @@ bool Heap::Setup(bool create_heap_objects) {
    LOG(IntEvent("heap-capacity", Capacity()));
    LOG(IntEvent("heap-available", Available()));

+#ifdef ENABLE_LOGGING_AND_PROFILING
    // This should be called only after initial objects have been created.
    ProducerHeapProfile::Setup();
+#endif

    return true;
  }



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

Reply via email to