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) { |