OLD | NEW |
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/heap/object-stats.h" | 5 #include "src/heap/object-stats.h" |
6 | 6 |
7 #include "src/assembler-inl.h" | 7 #include "src/assembler-inl.h" |
8 #include "src/compilation-cache.h" | 8 #include "src/compilation-cache.h" |
9 #include "src/counters.h" | 9 #include "src/counters.h" |
10 #include "src/heap/heap-inl.h" | 10 #include "src/heap/heap-inl.h" |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 array != heap->empty_descriptor_array() && | 336 array != heap->empty_descriptor_array() && |
337 array != heap->empty_properties_dictionary(); | 337 array != heap->empty_properties_dictionary(); |
338 } | 338 } |
339 | 339 |
340 static bool IsCowArray(Heap* heap, FixedArrayBase* array) { | 340 static bool IsCowArray(Heap* heap, FixedArrayBase* array) { |
341 return array->map() == heap->fixed_cow_array_map(); | 341 return array->map() == heap->fixed_cow_array_map(); |
342 } | 342 } |
343 | 343 |
344 static bool SameLiveness(HeapObject* obj1, HeapObject* obj2) { | 344 static bool SameLiveness(HeapObject* obj1, HeapObject* obj2) { |
345 return obj1 == nullptr || obj2 == nullptr || | 345 return obj1 == nullptr || obj2 == nullptr || |
346 ObjectMarking::Color(obj1) == ObjectMarking::Color(obj2); | 346 ObjectMarking::Color(obj1, MarkingState::Internal(obj1)) == |
| 347 ObjectMarking::Color(obj2, MarkingState::Internal(obj2)); |
347 } | 348 } |
348 | 349 |
349 bool ObjectStatsCollector::RecordFixedArrayHelper(HeapObject* parent, | 350 bool ObjectStatsCollector::RecordFixedArrayHelper(HeapObject* parent, |
350 FixedArray* array, | 351 FixedArray* array, |
351 int subtype, | 352 int subtype, |
352 size_t overhead) { | 353 size_t overhead) { |
353 if (SameLiveness(parent, array) && CanRecordFixedArray(heap_, array) && | 354 if (SameLiveness(parent, array) && CanRecordFixedArray(heap_, array) && |
354 !IsCowArray(heap_, array)) { | 355 !IsCowArray(heap_, array)) { |
355 return stats_->RecordFixedArraySubTypeStats(array, subtype, array->Size(), | 356 return stats_->RecordFixedArraySubTypeStats(array, subtype, array->Size(), |
356 overhead); | 357 overhead); |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 SLOW_TEMPLATE_INSTANTIATIONS_CACHE_SUB_TYPE); | 578 SLOW_TEMPLATE_INSTANTIATIONS_CACHE_SUB_TYPE); |
578 FixedArray* fast_cache = native_ctx->fast_template_instantiations_cache(); | 579 FixedArray* fast_cache = native_ctx->fast_template_instantiations_cache(); |
579 stats_->RecordFixedArraySubTypeStats( | 580 stats_->RecordFixedArraySubTypeStats( |
580 fast_cache, FAST_TEMPLATE_INSTANTIATIONS_CACHE_SUB_TYPE, | 581 fast_cache, FAST_TEMPLATE_INSTANTIATIONS_CACHE_SUB_TYPE, |
581 fast_cache->Size(), 0); | 582 fast_cache->Size(), 0); |
582 } | 583 } |
583 } | 584 } |
584 | 585 |
585 } // namespace internal | 586 } // namespace internal |
586 } // namespace v8 | 587 } // namespace v8 |
OLD | NEW |