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

Side by Side Diff: src/objects-debug.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 | « src/objects.cc ('k') | src/objects-inl.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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/disasm.h" 7 #include "src/disasm.h"
8 #include "src/disassembler.h" 8 #include "src/disassembler.h"
9 #include "src/heap/objects-visiting.h" 9 #include "src/heap/objects-visiting.h"
10 #include "src/jsregexp.h" 10 #include "src/jsregexp.h"
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 CHECK(instance_size() == kVariableSizeSentinel || 317 CHECK(instance_size() == kVariableSizeSentinel ||
318 (kPointerSize <= instance_size() && 318 (kPointerSize <= instance_size() &&
319 instance_size() < heap->Capacity())); 319 instance_size() < heap->Capacity()));
320 VerifyHeapPointer(prototype()); 320 VerifyHeapPointer(prototype());
321 VerifyHeapPointer(instance_descriptors()); 321 VerifyHeapPointer(instance_descriptors());
322 SLOW_DCHECK(instance_descriptors()->IsSortedNoDuplicates()); 322 SLOW_DCHECK(instance_descriptors()->IsSortedNoDuplicates());
323 if (HasTransitionArray()) { 323 if (HasTransitionArray()) {
324 SLOW_DCHECK(transitions()->IsSortedNoDuplicates()); 324 SLOW_DCHECK(transitions()->IsSortedNoDuplicates());
325 SLOW_DCHECK(transitions()->IsConsistentWithBackPointers(this)); 325 SLOW_DCHECK(transitions()->IsConsistentWithBackPointers(this));
326 } 326 }
327 SLOW_DCHECK(!FLAG_unbox_double_fields || 327 // TODO(ishell): turn it back to SLOW_DCHECK.
328 layout_descriptor()->IsConsistentWithMap(this)); 328 CHECK(!FLAG_unbox_double_fields ||
329 layout_descriptor()->IsConsistentWithMap(this));
329 } 330 }
330 331
331 332
332 void Map::DictionaryMapVerify() { 333 void Map::DictionaryMapVerify() {
333 MapVerify(); 334 MapVerify();
334 CHECK(is_dictionary_map()); 335 CHECK(is_dictionary_map());
335 CHECK(instance_descriptors()->IsEmpty()); 336 CHECK(instance_descriptors()->IsEmpty());
336 CHECK_EQ(0, pre_allocated_property_fields()); 337 CHECK_EQ(0, pre_allocated_property_fields());
337 CHECK_EQ(0, unused_property_fields()); 338 CHECK_EQ(0, unused_property_fields());
338 CHECK_EQ(StaticVisitorBase::GetVisitorId(this), visitor_id()); 339 CHECK_EQ(StaticVisitorBase::GetVisitorId(this), visitor_id());
(...skipping 940 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 ? it.rinfo()->target_cell() 1280 ? it.rinfo()->target_cell()
1280 : it.rinfo()->target_object(); 1281 : it.rinfo()->target_object();
1281 CHECK(!CanLeak(target, heap, skip_weak_cell)); 1282 CHECK(!CanLeak(target, heap, skip_weak_cell));
1282 } 1283 }
1283 } 1284 }
1284 1285
1285 1286
1286 #endif // DEBUG 1287 #endif // DEBUG
1287 1288
1288 } } // namespace v8::internal 1289 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/objects.cc ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698