OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 AllocationSpace space, | 673 AllocationSpace space, |
674 const char* gc_reason = NULL) { | 674 const char* gc_reason = NULL) { |
675 heap->mark_compact_collector()->SetFlags(Heap::kAbortIncrementalMarkingMask); | 675 heap->mark_compact_collector()->SetFlags(Heap::kAbortIncrementalMarkingMask); |
676 bool result = heap->CollectGarbage(space, gc_reason); | 676 bool result = heap->CollectGarbage(space, gc_reason); |
677 heap->mark_compact_collector()->SetFlags(Heap::kNoGCFlags); | 677 heap->mark_compact_collector()->SetFlags(Heap::kNoGCFlags); |
678 return result; | 678 return result; |
679 } | 679 } |
680 | 680 |
681 | 681 |
682 void Heap::ReserveSpace( | 682 void Heap::ReserveSpace( |
683 intptr_t *sizes, | 683 int *sizes, |
684 Address *locations_out) { | 684 Address *locations_out) { |
685 bool gc_performed = true; | 685 bool gc_performed = true; |
686 int counter = 0; | 686 int counter = 0; |
687 static const int kThreshold = 20; | 687 static const int kThreshold = 20; |
688 while (gc_performed && counter++ < kThreshold) { | 688 while (gc_performed && counter++ < kThreshold) { |
689 gc_performed = false; | 689 gc_performed = false; |
690 ASSERT(NEW_SPACE == FIRST_PAGED_SPACE - 1); | 690 ASSERT(NEW_SPACE == FIRST_PAGED_SPACE - 1); |
691 for (int space = NEW_SPACE; space <= LAST_PAGED_SPACE; space++) { | 691 for (int space = NEW_SPACE; space <= LAST_PAGED_SPACE; space++) { |
692 if (sizes[space] != 0) { | 692 if (sizes[space] != 0) { |
693 MaybeObject* allocation; | 693 MaybeObject* allocation; |
(...skipping 6624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7318 static_cast<int>(object_sizes_last_time_[index])); | 7318 static_cast<int>(object_sizes_last_time_[index])); |
7319 FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(ADJUST_LAST_TIME_OBJECT_COUNT) | 7319 FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(ADJUST_LAST_TIME_OBJECT_COUNT) |
7320 #undef ADJUST_LAST_TIME_OBJECT_COUNT | 7320 #undef ADJUST_LAST_TIME_OBJECT_COUNT |
7321 | 7321 |
7322 memcpy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); | 7322 memcpy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); |
7323 memcpy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); | 7323 memcpy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); |
7324 ClearObjectStats(); | 7324 ClearObjectStats(); |
7325 } | 7325 } |
7326 | 7326 |
7327 } } // namespace v8::internal | 7327 } } // namespace v8::internal |
OLD | NEW |