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 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1131 ASSERT(AreaSize() == page->area_size()); | 1131 ASSERT(AreaSize() == page->area_size()); |
1132 | 1132 |
1133 if (page->WasSwept()) { | 1133 if (page->WasSwept()) { |
1134 intptr_t size = free_list_.EvictFreeListItems(page); | 1134 intptr_t size = free_list_.EvictFreeListItems(page); |
1135 accounting_stats_.AllocateBytes(size); | 1135 accounting_stats_.AllocateBytes(size); |
1136 ASSERT_EQ(AreaSize(), static_cast<int>(size)); | 1136 ASSERT_EQ(AreaSize(), static_cast<int>(size)); |
1137 } else { | 1137 } else { |
1138 DecreaseUnsweptFreeBytes(page); | 1138 DecreaseUnsweptFreeBytes(page); |
1139 } | 1139 } |
1140 | 1140 |
1141 // TODO(hpayer): This check is just used for debugging purpose and | 1141 ASSERT(!free_list_.ContainsPageFreeListItems(page)); |
1142 // should be removed or turned into an assert after investigating the | |
1143 // crash in concurrent sweeping. | |
1144 CHECK(!free_list_.ContainsPageFreeListItems(page)); | |
1145 | 1142 |
1146 if (Page::FromAllocationTop(allocation_info_.top()) == page) { | 1143 if (Page::FromAllocationTop(allocation_info_.top()) == page) { |
1147 allocation_info_.set_top(NULL); | 1144 allocation_info_.set_top(NULL); |
1148 allocation_info_.set_limit(NULL); | 1145 allocation_info_.set_limit(NULL); |
1149 } | 1146 } |
1150 | 1147 |
1151 if (unlink) { | 1148 if (unlink) { |
1152 page->Unlink(); | 1149 page->Unlink(); |
1153 } | 1150 } |
1154 if (page->IsFlagSet(MemoryChunk::CONTAINS_ONLY_DATA)) { | 1151 if (page->IsFlagSet(MemoryChunk::CONTAINS_ONLY_DATA)) { |
(...skipping 1999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3154 object->ShortPrint(); | 3151 object->ShortPrint(); |
3155 PrintF("\n"); | 3152 PrintF("\n"); |
3156 } | 3153 } |
3157 printf(" --------------------------------------\n"); | 3154 printf(" --------------------------------------\n"); |
3158 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); | 3155 printf(" Marked: %x, LiveCount: %x\n", mark_size, LiveBytes()); |
3159 } | 3156 } |
3160 | 3157 |
3161 #endif // DEBUG | 3158 #endif // DEBUG |
3162 | 3159 |
3163 } } // namespace v8::internal | 3160 } } // namespace v8::internal |
OLD | NEW |