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

Side by Side Diff: src/heap/heap-inl.h

Issue 2494723002: [heap] Record pretenuring feedback for moved pages (Closed)
Patch Set: Remove wrong DCHECK Created 4 years, 1 month 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
« no previous file with comments | « no previous file | src/heap/mark-compact.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef V8_HEAP_HEAP_INL_H_ 5 #ifndef V8_HEAP_HEAP_INL_H_
6 #define V8_HEAP_HEAP_INL_H_ 6 #define V8_HEAP_HEAP_INL_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "src/base/platform/platform.h" 10 #include "src/base/platform/platform.h"
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 default: 624 default:
625 UNREACHABLE(); 625 UNREACHABLE();
626 } 626 }
627 UNREACHABLE(); 627 UNREACHABLE();
628 return nullptr; 628 return nullptr;
629 } 629 }
630 630
631 template <Heap::UpdateAllocationSiteMode mode> 631 template <Heap::UpdateAllocationSiteMode mode>
632 void Heap::UpdateAllocationSite(HeapObject* object, 632 void Heap::UpdateAllocationSite(HeapObject* object,
633 base::HashMap* pretenuring_feedback) { 633 base::HashMap* pretenuring_feedback) {
634 DCHECK(InFromSpace(object));
Hannes Payer (out of office) 2016/11/10 15:52:26 why do you have to remove this check? it should st
Michael Lippautz 2016/11/10 16:03:28 Object can now be in ToSpace, FromSpace, or even o
635 if (!FLAG_allocation_site_pretenuring || 634 if (!FLAG_allocation_site_pretenuring ||
636 !AllocationSite::CanTrack(object->map()->instance_type())) 635 !AllocationSite::CanTrack(object->map()->instance_type()))
637 return; 636 return;
638 AllocationMemento* memento_candidate = FindAllocationMemento<kForGC>(object); 637 AllocationMemento* memento_candidate = FindAllocationMemento<kForGC>(object);
639 if (memento_candidate == nullptr) return; 638 if (memento_candidate == nullptr) return;
640 639
641 if (mode == kGlobal) { 640 if (mode == kGlobal) {
642 DCHECK_EQ(pretenuring_feedback, global_pretenuring_feedback_); 641 DCHECK_EQ(pretenuring_feedback, global_pretenuring_feedback_);
643 // Entering global pretenuring feedback is only used in the scavenger, where 642 // Entering global pretenuring feedback is only used in the scavenger, where
644 // we are allowed to actually touch the allocation site. 643 // we are allowed to actually touch the allocation site.
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 843
845 void VerifySmisVisitor::VisitPointers(Object** start, Object** end) { 844 void VerifySmisVisitor::VisitPointers(Object** start, Object** end) {
846 for (Object** current = start; current < end; current++) { 845 for (Object** current = start; current < end; current++) {
847 CHECK((*current)->IsSmi()); 846 CHECK((*current)->IsSmi());
848 } 847 }
849 } 848 }
850 } // namespace internal 849 } // namespace internal
851 } // namespace v8 850 } // namespace v8
852 851
853 #endif // V8_HEAP_HEAP_INL_H_ 852 #endif // V8_HEAP_HEAP_INL_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap/mark-compact.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698