| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "vm/pages.h" | 5 #include "vm/pages.h" | 
| 6 | 6 | 
| 7 #include "platform/address_sanitizer.h" | 7 #include "platform/address_sanitizer.h" | 
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" | 
| 9 #include "vm/compiler_stats.h" | 9 #include "vm/compiler_stats.h" | 
| 10 #include "vm/gc_marker.h" | 10 #include "vm/gc_marker.h" | 
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 282   Heap::RegionName(heap_, is_exec ? Heap::kCode : Heap::kOld, vm_name, | 282   Heap::RegionName(heap_, is_exec ? Heap::kCode : Heap::kOld, vm_name, | 
| 283                    kVmNameSize); | 283                    kVmNameSize); | 
| 284   HeapPage* page = HeapPage::Allocate(page_size_in_words, type, vm_name); | 284   HeapPage* page = HeapPage::Allocate(page_size_in_words, type, vm_name); | 
| 285   if (page == NULL) { | 285   if (page == NULL) { | 
| 286     return NULL; | 286     return NULL; | 
| 287   } | 287   } | 
| 288   page->set_next(large_pages_); | 288   page->set_next(large_pages_); | 
| 289   large_pages_ = page; | 289   large_pages_ = page; | 
| 290   IncreaseCapacityInWords(page_size_in_words); | 290   IncreaseCapacityInWords(page_size_in_words); | 
| 291   // Only one object in this page (at least until String::MakeExternal or | 291   // Only one object in this page (at least until String::MakeExternal or | 
| 292   // Array::MakeFixedLength is called). | 292   // Array::MakeArray is called). | 
| 293   page->set_object_end(page->object_start() + size); | 293   page->set_object_end(page->object_start() + size); | 
| 294   return page; | 294   return page; | 
| 295 } | 295 } | 
| 296 | 296 | 
| 297 | 297 | 
| 298 void PageSpace::TruncateLargePage(HeapPage* page, | 298 void PageSpace::TruncateLargePage(HeapPage* page, | 
| 299                                   intptr_t new_object_size_in_bytes) { | 299                                   intptr_t new_object_size_in_bytes) { | 
| 300   const intptr_t old_object_size_in_bytes = | 300   const intptr_t old_object_size_in_bytes = | 
| 301       page->object_end() - page->object_start(); | 301       page->object_end() - page->object_start(); | 
| 302   ASSERT(new_object_size_in_bytes <= old_object_size_in_bytes); | 302   ASSERT(new_object_size_in_bytes <= old_object_size_in_bytes); | 
| (...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1319     return 0; | 1319     return 0; | 
| 1320   } else { | 1320   } else { | 
| 1321     ASSERT(total_time >= gc_time); | 1321     ASSERT(total_time >= gc_time); | 
| 1322     int result = static_cast<int>( | 1322     int result = static_cast<int>( | 
| 1323         (static_cast<double>(gc_time) / static_cast<double>(total_time)) * 100); | 1323         (static_cast<double>(gc_time) / static_cast<double>(total_time)) * 100); | 
| 1324     return result; | 1324     return result; | 
| 1325   } | 1325   } | 
| 1326 } | 1326 } | 
| 1327 | 1327 | 
| 1328 }  // namespace dart | 1328 }  // namespace dart | 
| OLD | NEW | 
|---|