Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: src/heap/heap.cc

Issue 1064713005: collect phantom handle data before it gets overwritten (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/base/once.h" 10 #include "src/base/once.h"
(...skipping 1555 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 UpdateNewSpaceReferencesInExternalStringTable( 1566 UpdateNewSpaceReferencesInExternalStringTable(
1567 &UpdateNewSpaceReferenceInExternalStringTableEntry); 1567 &UpdateNewSpaceReferenceInExternalStringTableEntry);
1568 1568
1569 promotion_queue_.Destroy(); 1569 promotion_queue_.Destroy();
1570 1570
1571 incremental_marking()->UpdateMarkingDequeAfterScavenge(); 1571 incremental_marking()->UpdateMarkingDequeAfterScavenge();
1572 1572
1573 ScavengeWeakObjectRetainer weak_object_retainer(this); 1573 ScavengeWeakObjectRetainer weak_object_retainer(this);
1574 ProcessYoungWeakReferences(&weak_object_retainer); 1574 ProcessYoungWeakReferences(&weak_object_retainer);
1575 1575
1576 // Collects callback info for handles referenced by young generation that are
1577 // pending (about to be collected) and either phantom or internal-fields.
1578 // Releases the global handles. See also PostGarbageCollectionProcessing.
1579 isolate()->global_handles()->CollectYoungPhantomCallbackData();
1580
1581 DCHECK(new_space_front == new_space_.top()); 1576 DCHECK(new_space_front == new_space_.top());
1582 1577
1583 // Set age mark. 1578 // Set age mark.
1584 new_space_.set_age_mark(new_space_.top()); 1579 new_space_.set_age_mark(new_space_.top());
1585 1580
1586 new_space_.LowerInlineAllocationLimit( 1581 new_space_.LowerInlineAllocationLimit(
1587 new_space_.inline_allocation_limit_step()); 1582 new_space_.inline_allocation_limit_step());
1588 1583
1589 // Update how much has survived scavenge. 1584 // Update how much has survived scavenge.
1590 IncrementYoungSurvivorsCounter(static_cast<int>( 1585 IncrementYoungSurvivorsCounter(static_cast<int>(
(...skipping 4715 matching lines...) Expand 10 before | Expand all | Expand 10 after
6306 static_cast<int>(object_sizes_last_time_[index])); 6301 static_cast<int>(object_sizes_last_time_[index]));
6307 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) 6302 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT)
6308 #undef ADJUST_LAST_TIME_OBJECT_COUNT 6303 #undef ADJUST_LAST_TIME_OBJECT_COUNT
6309 6304
6310 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); 6305 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_));
6311 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); 6306 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_));
6312 ClearObjectStats(); 6307 ClearObjectStats();
6313 } 6308 }
6314 } 6309 }
6315 } // namespace v8::internal 6310 } // namespace v8::internal
OLDNEW
« src/global-handles.cc ('K') | « src/global-handles.cc ('k') | src/heap/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698