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

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

Issue 1675163003: Filter out invalid slots in store buffer eagerly during object transition. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Enable WriteBarrierObjectShiftFieldsRight test and add comments Created 4 years, 10 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
« no previous file with comments | « src/heap/heap.h ('k') | src/heap/store-buffer.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 #include "src/heap/heap.h" 5 #include "src/heap/heap.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/ast/scopeinfo.h" 9 #include "src/ast/scopeinfo.h"
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 5431 matching lines...) Expand 10 before | Expand all | Expand 10 after
5442 private: 5442 private:
5443 ptrdiff_t handle_count_; 5443 ptrdiff_t handle_count_;
5444 }; 5444 };
5445 5445
5446 5446
5447 void Heap::CheckHandleCount() { 5447 void Heap::CheckHandleCount() {
5448 CheckHandleCountVisitor v; 5448 CheckHandleCountVisitor v;
5449 isolate_->handle_scope_implementer()->Iterate(&v); 5449 isolate_->handle_scope_implementer()->Iterate(&v);
5450 } 5450 }
5451 5451
5452 void Heap::ClearRecordedSlot(HeapObject* object, Object** slot) {
5453 if (!InNewSpace(object)) {
5454 store_buffer()->Remove(reinterpret_cast<Address>(slot));
5455 }
5456 }
5452 5457
5453 Space* AllSpaces::next() { 5458 Space* AllSpaces::next() {
5454 switch (counter_++) { 5459 switch (counter_++) {
5455 case NEW_SPACE: 5460 case NEW_SPACE:
5456 return heap_->new_space(); 5461 return heap_->new_space();
5457 case OLD_SPACE: 5462 case OLD_SPACE:
5458 return heap_->old_space(); 5463 return heap_->old_space();
5459 case CODE_SPACE: 5464 case CODE_SPACE:
5460 return heap_->code_space(); 5465 return heap_->code_space();
5461 case MAP_SPACE: 5466 case MAP_SPACE:
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
6182 } 6187 }
6183 6188
6184 6189
6185 // static 6190 // static
6186 int Heap::GetStaticVisitorIdForMap(Map* map) { 6191 int Heap::GetStaticVisitorIdForMap(Map* map) {
6187 return StaticVisitorBase::GetVisitorId(map); 6192 return StaticVisitorBase::GetVisitorId(map);
6188 } 6193 }
6189 6194
6190 } // namespace internal 6195 } // namespace internal
6191 } // namespace v8 6196 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | src/heap/store-buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698