| Index: src/mark-compact.cc | 
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc | 
| index 99c5b4864d3ed94cb37e5a113994bd35e4559acd..b0d925f40a5bbf7d91059dea4d02fb2a4fe7d708 100644 | 
| --- a/src/mark-compact.cc | 
| +++ b/src/mark-compact.cc | 
| @@ -1002,6 +1002,10 @@ void CodeFlusher::ProcessJSFunctionCandidates() { | 
| Code* code = shared->code(); | 
| MarkBit code_mark = Marking::MarkBitFrom(code); | 
| if (!code_mark.Get()) { | 
| +      if (FLAG_trace_code_flushing && shared->is_compiled()) { | 
| +        SmartArrayPointer<char> name = shared->DebugName()->ToCString(); | 
| +        PrintF("[code-flushing clears: %s]\n", *name); | 
| +      } | 
| shared->set_code(lazy_compile); | 
| candidate->set_code(lazy_compile); | 
| } else { | 
| @@ -1039,6 +1043,10 @@ void CodeFlusher::ProcessSharedFunctionInfoCandidates() { | 
| Code* code = candidate->code(); | 
| MarkBit code_mark = Marking::MarkBitFrom(code); | 
| if (!code_mark.Get()) { | 
| +      if (FLAG_trace_code_flushing && candidate->is_compiled()) { | 
| +        SmartArrayPointer<char> name = candidate->DebugName()->ToCString(); | 
| +        PrintF("[code-flushing clears: %s]\n", *name); | 
| +      } | 
| candidate->set_code(lazy_compile); | 
| } | 
|  | 
| @@ -1122,6 +1130,11 @@ void CodeFlusher::EvictCandidate(SharedFunctionInfo* shared_info) { | 
| // Make sure previous flushing decisions are revisited. | 
| isolate_->heap()->incremental_marking()->RecordWrites(shared_info); | 
|  | 
| +  if (FLAG_trace_code_flushing) { | 
| +    SmartArrayPointer<char> name = shared_info->DebugName()->ToCString(); | 
| +    PrintF("[code-flushing abandons function-info: %s]\n", *name); | 
| +  } | 
| + | 
| SharedFunctionInfo* candidate = shared_function_info_candidates_head_; | 
| SharedFunctionInfo* next_candidate; | 
| if (candidate == shared_info) { | 
| @@ -1153,6 +1166,11 @@ void CodeFlusher::EvictCandidate(JSFunction* function) { | 
| isolate_->heap()->incremental_marking()->RecordWrites(function); | 
| isolate_->heap()->incremental_marking()->RecordWrites(function->shared()); | 
|  | 
| +  if (FLAG_trace_code_flushing) { | 
| +    SmartArrayPointer<char> name = function->shared()->DebugName()->ToCString(); | 
| +    PrintF("[code-flushing abandons closure: %s]\n", *name); | 
| +  } | 
| + | 
| JSFunction* candidate = jsfunction_candidates_head_; | 
| JSFunction* next_candidate; | 
| if (candidate == function) { | 
| @@ -1183,6 +1201,11 @@ void CodeFlusher::EvictOptimizedCodeMap(SharedFunctionInfo* code_map_holder) { | 
| // Make sure previous flushing decisions are revisited. | 
| isolate_->heap()->incremental_marking()->RecordWrites(code_map_holder); | 
|  | 
| +  if (FLAG_trace_code_flushing) { | 
| +    SmartArrayPointer<char> name = code_map_holder->DebugName()->ToCString(); | 
| +    PrintF("[code-flushing abandons code-map: %s]\n", *name); | 
| +  } | 
| + | 
| SharedFunctionInfo* holder = optimized_code_map_holder_head_; | 
| SharedFunctionInfo* next_holder; | 
| if (holder == code_map_holder) { | 
|  |