| Index: src/log.cc
 | 
| diff --git a/src/log.cc b/src/log.cc
 | 
| index 49fd10ae581e5335622479ea7050ada08ff88faf..886ddedd6ed491ecf67b9e3fc5579fba3fafe446 100644
 | 
| --- a/src/log.cc
 | 
| +++ b/src/log.cc
 | 
| @@ -1565,6 +1565,8 @@
 | 
|  
 | 
|  void Logger::LogCodeObjects() {
 | 
|    Heap* heap = isolate_->heap();
 | 
| +  heap->CollectAllGarbage(Heap::kMakeHeapIterableMask,
 | 
| +                          "Logger::LogCodeObjects");
 | 
|    HeapIterator iterator(heap);
 | 
|    DisallowHeapAllocation no_gc;
 | 
|    for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) {
 | 
| @@ -1648,12 +1650,13 @@
 | 
|  
 | 
|  void Logger::LogCompiledFunctions() {
 | 
|    Heap* heap = isolate_->heap();
 | 
| +  heap->CollectAllGarbage(Heap::kMakeHeapIterableMask,
 | 
| +                          "Logger::LogCompiledFunctions");
 | 
|    HandleScope scope(isolate_);
 | 
| -  int compiled_funcs_count = EnumerateCompiledFunctions(heap, NULL, NULL);
 | 
| +  const int compiled_funcs_count = EnumerateCompiledFunctions(heap, NULL, NULL);
 | 
|    ScopedVector< Handle<SharedFunctionInfo> > sfis(compiled_funcs_count);
 | 
|    ScopedVector<Handle<AbstractCode> > code_objects(compiled_funcs_count);
 | 
| -  compiled_funcs_count =
 | 
| -      EnumerateCompiledFunctions(heap, sfis.start(), code_objects.start());
 | 
| +  EnumerateCompiledFunctions(heap, sfis.start(), code_objects.start());
 | 
|  
 | 
|    // During iteration, there can be heap allocation due to
 | 
|    // GetScriptLineNumber call.
 | 
| @@ -1667,6 +1670,8 @@
 | 
|  
 | 
|  void Logger::LogAccessorCallbacks() {
 | 
|    Heap* heap = isolate_->heap();
 | 
| +  heap->CollectAllGarbage(Heap::kMakeHeapIterableMask,
 | 
| +                          "Logger::LogAccessorCallbacks");
 | 
|    HeapIterator iterator(heap);
 | 
|    DisallowHeapAllocation no_gc;
 | 
|    for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) {
 | 
| 
 |