| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 JSFunctionResultCache::cast(caches->get(i))->Clear(); | 643 JSFunctionResultCache::cast(caches->get(i))->Clear(); |
| 644 } | 644 } |
| 645 // Get the next context: | 645 // Get the next context: |
| 646 context = Context::cast(context)->get(Context::NEXT_CONTEXT_LINK); | 646 context = Context::cast(context)->get(Context::NEXT_CONTEXT_LINK); |
| 647 } | 647 } |
| 648 } | 648 } |
| 649 | 649 |
| 650 | 650 |
| 651 | 651 |
| 652 void Heap::ClearNormalizedMapCaches() { | 652 void Heap::ClearNormalizedMapCaches() { |
| 653 if (isolate_->bootstrapper()->IsActive()) return; | 653 if (isolate_->bootstrapper()->IsActive() && |
| 654 !incremental_marking()->IsMarking()) { |
| 655 return; |
| 656 } |
| 654 | 657 |
| 655 Object* context = global_contexts_list_; | 658 Object* context = global_contexts_list_; |
| 656 while (!context->IsUndefined()) { | 659 while (!context->IsUndefined()) { |
| 657 Context::cast(context)->normalized_map_cache()->Clear(); | 660 Context::cast(context)->normalized_map_cache()->Clear(); |
| 658 context = Context::cast(context)->get(Context::NEXT_CONTEXT_LINK); | 661 context = Context::cast(context)->get(Context::NEXT_CONTEXT_LINK); |
| 659 } | 662 } |
| 660 } | 663 } |
| 661 | 664 |
| 662 | 665 |
| 663 void Heap::UpdateSurvivalRateTrend(int start_new_space_size) { | 666 void Heap::UpdateSurvivalRateTrend(int start_new_space_size) { |
| (...skipping 5452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6116 } | 6119 } |
| 6117 isolate_->heap()->store_buffer()->Filter(MemoryChunk::ABOUT_TO_BE_FREED); | 6120 isolate_->heap()->store_buffer()->Filter(MemoryChunk::ABOUT_TO_BE_FREED); |
| 6118 for (chunk = chunks_queued_for_free_; chunk != NULL; chunk = next) { | 6121 for (chunk = chunks_queued_for_free_; chunk != NULL; chunk = next) { |
| 6119 next = chunk->next_chunk(); | 6122 next = chunk->next_chunk(); |
| 6120 isolate_->memory_allocator()->Free(chunk); | 6123 isolate_->memory_allocator()->Free(chunk); |
| 6121 } | 6124 } |
| 6122 chunks_queued_for_free_ = NULL; | 6125 chunks_queued_for_free_ = NULL; |
| 6123 } | 6126 } |
| 6124 | 6127 |
| 6125 } } // namespace v8::internal | 6128 } } // namespace v8::internal |
| OLD | NEW |