| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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/objects-visiting.h" | 5 #include "src/heap/objects-visiting.h" |
| 6 | 6 |
| 7 #include "src/heap/heap-inl.h" | 7 #include "src/heap/heap-inl.h" |
| 8 #include "src/heap/mark-compact-inl.h" | 8 #include "src/heap/mark-compact-inl.h" |
| 9 #include "src/heap/objects-visiting-inl.h" | 9 #include "src/heap/objects-visiting-inl.h" |
| 10 | 10 |
| 11 namespace v8 { | 11 namespace v8 { |
| 12 namespace internal { | 12 namespace internal { |
| 13 | 13 |
| 14 | 14 VisitorId StaticVisitorBase::GetVisitorId(Map* map) { |
| 15 StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId(Map* map) { | |
| 16 return GetVisitorId(map->instance_type(), map->instance_size(), | 15 return GetVisitorId(map->instance_type(), map->instance_size(), |
| 17 FLAG_unbox_double_fields && !map->HasFastPointerLayout()); | 16 FLAG_unbox_double_fields && !map->HasFastPointerLayout()); |
| 18 } | 17 } |
| 19 | 18 |
| 20 | 19 VisitorId StaticVisitorBase::GetVisitorId(int instance_type, int instance_size, |
| 21 StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( | 20 bool has_unboxed_fields) { |
| 22 int instance_type, int instance_size, bool has_unboxed_fields) { | |
| 23 if (instance_type < FIRST_NONSTRING_TYPE) { | 21 if (instance_type < FIRST_NONSTRING_TYPE) { |
| 24 switch (instance_type & kStringRepresentationMask) { | 22 switch (instance_type & kStringRepresentationMask) { |
| 25 case kSeqStringTag: | 23 case kSeqStringTag: |
| 26 if ((instance_type & kStringEncodingMask) == kOneByteStringTag) { | 24 if ((instance_type & kStringEncodingMask) == kOneByteStringTag) { |
| 27 return kVisitSeqOneByteString; | 25 return kVisitSeqOneByteString; |
| 28 } else { | 26 } else { |
| 29 return kVisitSeqTwoByteString; | 27 return kVisitSeqTwoByteString; |
| 30 } | 28 } |
| 31 | 29 |
| 32 case kConsStringTag: | 30 case kConsStringTag: |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 return kVisitDataObject; | 178 return kVisitDataObject; |
| 181 | 179 |
| 182 case FIXED_UINT8_ARRAY_TYPE: | 180 case FIXED_UINT8_ARRAY_TYPE: |
| 183 case FIXED_INT8_ARRAY_TYPE: | 181 case FIXED_INT8_ARRAY_TYPE: |
| 184 case FIXED_UINT16_ARRAY_TYPE: | 182 case FIXED_UINT16_ARRAY_TYPE: |
| 185 case FIXED_INT16_ARRAY_TYPE: | 183 case FIXED_INT16_ARRAY_TYPE: |
| 186 case FIXED_UINT32_ARRAY_TYPE: | 184 case FIXED_UINT32_ARRAY_TYPE: |
| 187 case FIXED_INT32_ARRAY_TYPE: | 185 case FIXED_INT32_ARRAY_TYPE: |
| 188 case FIXED_FLOAT32_ARRAY_TYPE: | 186 case FIXED_FLOAT32_ARRAY_TYPE: |
| 189 case FIXED_UINT8_CLAMPED_ARRAY_TYPE: | 187 case FIXED_UINT8_CLAMPED_ARRAY_TYPE: |
| 190 return kVisitFixedTypedArray; | 188 return kVisitFixedTypedArrayBase; |
| 191 | 189 |
| 192 case FIXED_FLOAT64_ARRAY_TYPE: | 190 case FIXED_FLOAT64_ARRAY_TYPE: |
| 193 return kVisitFixedFloat64Array; | 191 return kVisitFixedFloat64Array; |
| 194 | 192 |
| 195 #define MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE: | 193 #define MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE: |
| 196 STRUCT_LIST(MAKE_STRUCT_CASE) | 194 STRUCT_LIST(MAKE_STRUCT_CASE) |
| 197 #undef MAKE_STRUCT_CASE | 195 #undef MAKE_STRUCT_CASE |
| 198 if (instance_type == ALLOCATION_SITE_TYPE) { | 196 if (instance_type == ALLOCATION_SITE_TYPE) { |
| 199 return kVisitAllocationSite; | 197 return kVisitAllocationSite; |
| 200 } | 198 } |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 }; | 392 }; |
| 395 | 393 |
| 396 | 394 |
| 397 template Object* VisitWeakList<Context>(Heap* heap, Object* list, | 395 template Object* VisitWeakList<Context>(Heap* heap, Object* list, |
| 398 WeakObjectRetainer* retainer); | 396 WeakObjectRetainer* retainer); |
| 399 | 397 |
| 400 template Object* VisitWeakList<AllocationSite>(Heap* heap, Object* list, | 398 template Object* VisitWeakList<AllocationSite>(Heap* heap, Object* list, |
| 401 WeakObjectRetainer* retainer); | 399 WeakObjectRetainer* retainer); |
| 402 } // namespace internal | 400 } // namespace internal |
| 403 } // namespace v8 | 401 } // namespace v8 |
| OLD | NEW |