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

Side by Side Diff: src/objects.cc

Issue 1577853007: [heap] Parallel newspace evacuation, semispace copy, and compaction \o/ (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Refactoring Created 4 years, 11 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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/objects.h" 5 #include "src/objects.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <iomanip> 8 #include <iomanip>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 15995 matching lines...) Expand 10 before | Expand all | Expand 10 after
16006 ElementsKind to_kind) { 16006 ElementsKind to_kind) {
16007 if (!object->IsJSArray()) return; 16007 if (!object->IsJSArray()) return;
16008 16008
16009 Heap* heap = object->GetHeap(); 16009 Heap* heap = object->GetHeap();
16010 if (!heap->InNewSpace(*object)) return; 16010 if (!heap->InNewSpace(*object)) return;
16011 16011
16012 Handle<AllocationSite> site; 16012 Handle<AllocationSite> site;
16013 { 16013 {
16014 DisallowHeapAllocation no_allocation; 16014 DisallowHeapAllocation no_allocation;
16015 16015
16016 AllocationMemento* memento = heap->FindAllocationMemento(*object); 16016 AllocationMemento* memento =
16017 heap->FindAllocationMemento<Heap::kForRuntime>(*object);
16017 if (memento == NULL) return; 16018 if (memento == NULL) return;
16018 16019
16019 // Walk through to the Allocation Site 16020 // Walk through to the Allocation Site
16020 site = handle(memento->GetAllocationSite()); 16021 site = handle(memento->GetAllocationSite());
16021 } 16022 }
16022 AllocationSite::DigestTransitionFeedback(site, to_kind); 16023 AllocationSite::DigestTransitionFeedback(site, to_kind);
16023 } 16024 }
16024 16025
16025 16026
16026 void JSObject::TransitionElementsKind(Handle<JSObject> object, 16027 void JSObject::TransitionElementsKind(Handle<JSObject> object,
(...skipping 3688 matching lines...) Expand 10 before | Expand all | Expand 10 after
19715 if (cell->value() != *new_value) { 19716 if (cell->value() != *new_value) {
19716 cell->set_value(*new_value); 19717 cell->set_value(*new_value);
19717 Isolate* isolate = cell->GetIsolate(); 19718 Isolate* isolate = cell->GetIsolate();
19718 cell->dependent_code()->DeoptimizeDependentCodeGroup( 19719 cell->dependent_code()->DeoptimizeDependentCodeGroup(
19719 isolate, DependentCode::kPropertyCellChangedGroup); 19720 isolate, DependentCode::kPropertyCellChangedGroup);
19720 } 19721 }
19721 } 19722 }
19722 19723
19723 } // namespace internal 19724 } // namespace internal
19724 } // namespace v8 19725 } // namespace v8
OLDNEW
« src/heap/mark-compact.cc ('K') | « src/objects.h ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698