From 765e134b92c1ec6f0767e77b2eaad980028b4a60 Mon Sep 17 00:00:00 2001 From: "mikhail.naganov@gmail.com" Date: Wed, 21 Oct 2009 13:04:53 +0000 Subject: [PATCH] Heap profiler: guard calls to Producer profile. Patch by Steve Block. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/307018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/heap.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/heap.cc b/src/heap.cc index a6122af..c1827f1 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; } -- 2.7.4