OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 2700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2711 | 2711 |
2712 // Cut the chunk out from the chunk list. | 2712 // Cut the chunk out from the chunk list. |
2713 current = current->next(); | 2713 current = current->next(); |
2714 if (previous == NULL) { | 2714 if (previous == NULL) { |
2715 first_chunk_ = current; | 2715 first_chunk_ = current; |
2716 } else { | 2716 } else { |
2717 previous->set_next(current); | 2717 previous->set_next(current); |
2718 } | 2718 } |
2719 | 2719 |
2720 // Free the chunk. | 2720 // Free the chunk. |
2721 if (object->IsCode()) { | 2721 MarkCompactCollector::ReportDeleteIfNeeded(object); |
2722 LOG(CodeDeleteEvent(object->address())); | |
2723 } | |
2724 size_ -= static_cast<int>(chunk_size); | 2722 size_ -= static_cast<int>(chunk_size); |
2725 page_count_--; | 2723 page_count_--; |
2726 MemoryAllocator::FreeRawMemory(chunk_address, chunk_size); | 2724 MemoryAllocator::FreeRawMemory(chunk_address, chunk_size); |
2727 LOG(DeleteEvent("LargeObjectChunk", chunk_address)); | 2725 LOG(DeleteEvent("LargeObjectChunk", chunk_address)); |
2728 } | 2726 } |
2729 } | 2727 } |
2730 } | 2728 } |
2731 | 2729 |
2732 | 2730 |
2733 bool LargeObjectSpace::Contains(HeapObject* object) { | 2731 bool LargeObjectSpace::Contains(HeapObject* object) { |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2855 reinterpret_cast<Object**>(object->address() | 2853 reinterpret_cast<Object**>(object->address() |
2856 + Page::kObjectAreaSize), | 2854 + Page::kObjectAreaSize), |
2857 allocation_top); | 2855 allocation_top); |
2858 PrintF("\n"); | 2856 PrintF("\n"); |
2859 } | 2857 } |
2860 } | 2858 } |
2861 } | 2859 } |
2862 #endif // DEBUG | 2860 #endif // DEBUG |
2863 | 2861 |
2864 } } // namespace v8::internal | 2862 } } // namespace v8::internal |
OLD | NEW |