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

Side by Side Diff: src/objects.cc

Issue 917743004: Enable layout descriptor consistency checks in heap verification mode. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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 | « no previous file | src/objects-debug.cc » ('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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 <sstream> 5 #include <sstream>
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #include "src/accessors.h" 9 #include "src/accessors.h"
10 #include "src/allocation-site-scopes.h" 10 #include "src/allocation-site-scopes.h"
(...skipping 6836 matching lines...) Expand 10 before | Expand all | Expand 10 after
6847 unused_property_fields += JSObject::kFieldsAdded; 6847 unused_property_fields += JSObject::kFieldsAdded;
6848 } 6848 }
6849 } 6849 }
6850 result->set_unused_property_fields(unused_property_fields); 6850 result->set_unused_property_fields(unused_property_fields);
6851 6851
6852 if (FLAG_unbox_double_fields) { 6852 if (FLAG_unbox_double_fields) {
6853 Handle<LayoutDescriptor> layout_descriptor = 6853 Handle<LayoutDescriptor> layout_descriptor =
6854 LayoutDescriptor::AppendIfFastOrUseFull(map, details, 6854 LayoutDescriptor::AppendIfFastOrUseFull(map, details,
6855 full_layout_descriptor); 6855 full_layout_descriptor);
6856 result->set_layout_descriptor(*layout_descriptor); 6856 result->set_layout_descriptor(*layout_descriptor);
6857 #ifdef VERIFY_HEAP
6858 // TODO(ishell): remove these checks from VERIFY_HEAP mode.
6859 if (FLAG_verify_heap) {
6860 CHECK(result->layout_descriptor()->IsConsistentWithMap(*result));
6861 }
6862 #else
6857 SLOW_DCHECK(result->layout_descriptor()->IsConsistentWithMap(*result)); 6863 SLOW_DCHECK(result->layout_descriptor()->IsConsistentWithMap(*result));
6864 #endif
6858 result->set_visitor_id(StaticVisitorBase::GetVisitorId(*result)); 6865 result->set_visitor_id(StaticVisitorBase::GetVisitorId(*result));
6859 } 6866 }
6860 6867
6861 Handle<Name> name = handle(descriptors->GetKey(new_descriptor)); 6868 Handle<Name> name = handle(descriptors->GetKey(new_descriptor));
6862 ConnectTransition(map, result, name, SIMPLE_PROPERTY_TRANSITION); 6869 ConnectTransition(map, result, name, SIMPLE_PROPERTY_TRANSITION);
6863 6870
6864 return result; 6871 return result;
6865 } 6872 }
6866 6873
6867 6874
(...skipping 10140 matching lines...) Expand 10 before | Expand all | Expand 10 after
17008 CompilationInfo* info) { 17015 CompilationInfo* info) {
17009 Handle<DependentCode> codes = DependentCode::InsertCompilationInfo( 17016 Handle<DependentCode> codes = DependentCode::InsertCompilationInfo(
17010 handle(cell->dependent_code(), info->isolate()), 17017 handle(cell->dependent_code(), info->isolate()),
17011 DependentCode::kPropertyCellChangedGroup, info->object_wrapper()); 17018 DependentCode::kPropertyCellChangedGroup, info->object_wrapper());
17012 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); 17019 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes);
17013 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( 17020 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add(
17014 cell, info->zone()); 17021 cell, info->zone());
17015 } 17022 }
17016 17023
17017 } } // namespace v8::internal 17024 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/objects-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698