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 -~----------~----~----~----~------~----~------~--~---
