From: mikhail.naganov@gmail.com Date: Thu, 29 Sep 2011 15:07:00 +0000 (+0000) Subject: Make sure that heap is iterable prior to iterating it in Logger:: methods. X-Git-Tag: upstream/4.7.83~18316 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0b2f694d994a459c41742615f29d62cd1711ff0a;p=platform%2Fupstream%2Fv8.git Make sure that heap is iterable prior to iterating it in Logger:: methods. R=vegorov@chromium.org BUG=v8:1700 TEST=none Review URL: http://codereview.chromium.org/8079002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/log.cc b/src/log.cc index 6373a35..bad5fdc 100644 --- a/src/log.cc +++ b/src/log.cc @@ -1519,6 +1519,7 @@ void Logger::LowLevelLogWriteBytes(const char* bytes, int size) { void Logger::LogCodeObjects() { + HEAP->CollectAllGarbage(Heap::kMakeHeapIterableMask); HeapIterator iterator; AssertNoAllocation no_alloc; for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) { @@ -1573,6 +1574,7 @@ void Logger::LogExistingFunction(Handle shared, void Logger::LogCompiledFunctions() { + HEAP->CollectAllGarbage(Heap::kMakeHeapIterableMask); HandleScope scope; const int compiled_funcs_count = EnumerateCompiledFunctions(NULL, NULL); ScopedVector< Handle > sfis(compiled_funcs_count); @@ -1591,6 +1593,7 @@ void Logger::LogCompiledFunctions() { void Logger::LogAccessorCallbacks() { + HEAP->CollectAllGarbage(Heap::kMakeHeapIterableMask); HeapIterator iterator; AssertNoAllocation no_alloc; for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) {