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
This commit is contained in:
parent
9da793a257
commit
765e134b92
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user