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/mark-compact-inl.h" | 7 #include "src/heap/mark-compact-inl.h" |
8 #include "src/heap/objects-visiting-inl.h" | 8 #include "src/heap/objects-visiting-inl.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 case JS_VALUE_TYPE: | 219 case JS_VALUE_TYPE: |
220 case JS_DATE_TYPE: | 220 case JS_DATE_TYPE: |
221 case JS_ARRAY_TYPE: | 221 case JS_ARRAY_TYPE: |
222 case JS_TYPED_ARRAY_TYPE: | 222 case JS_TYPED_ARRAY_TYPE: |
223 case JS_DATA_VIEW_TYPE: | 223 case JS_DATA_VIEW_TYPE: |
224 case JS_SET_TYPE: | 224 case JS_SET_TYPE: |
225 case JS_MAP_TYPE: | 225 case JS_MAP_TYPE: |
226 case JS_SET_ITERATOR_TYPE: | 226 case JS_SET_ITERATOR_TYPE: |
227 case JS_MAP_ITERATOR_TYPE: | 227 case JS_MAP_ITERATOR_TYPE: |
228 case JS_ITERATOR_RESULT_TYPE: | 228 case JS_ITERATOR_RESULT_TYPE: |
229 case JS_WEAK_MAP_TYPE: | |
230 case JS_WEAK_SET_TYPE: | |
231 case JS_REGEXP_TYPE: | 229 case JS_REGEXP_TYPE: |
232 case JS_GLOBAL_PROXY_TYPE: | 230 case JS_GLOBAL_PROXY_TYPE: |
233 case JS_GLOBAL_OBJECT_TYPE: | 231 case JS_GLOBAL_OBJECT_TYPE: |
234 case JS_MESSAGE_OBJECT_TYPE: | 232 case JS_MESSAGE_OBJECT_TYPE: |
235 JSObject::BodyDescriptor::IterateBody(this, object_size, v); | 233 JSObject::BodyDescriptor::IterateBody(this, object_size, v); |
236 break; | 234 break; |
| 235 case JS_WEAK_MAP_TYPE: |
| 236 case JS_WEAK_SET_TYPE: |
| 237 JSWeakCollection::BodyDescriptor::IterateBody(this, object_size, v); |
| 238 break; |
237 case JS_ARRAY_BUFFER_TYPE: | 239 case JS_ARRAY_BUFFER_TYPE: |
238 JSArrayBuffer::JSArrayBufferIterateBody(this, v); | 240 JSArrayBuffer::BodyDescriptor::IterateBody(this, object_size, v); |
239 break; | 241 break; |
240 case JS_FUNCTION_TYPE: | 242 case JS_FUNCTION_TYPE: |
241 JSFunction::BodyDescriptor::IterateBody(this, object_size, v); | 243 JSFunction::BodyDescriptor::IterateBody(this, object_size, v); |
242 break; | 244 break; |
243 case ODDBALL_TYPE: | 245 case ODDBALL_TYPE: |
244 Oddball::BodyDescriptor::IterateBody(this, v); | 246 Oddball::BodyDescriptor::IterateBody(this, v); |
245 break; | 247 break; |
246 case JS_PROXY_TYPE: | 248 case JS_PROXY_TYPE: |
247 JSProxy::BodyDescriptor::IterateBody(this, v); | 249 JSProxy::BodyDescriptor::IterateBody(this, v); |
248 break; | 250 break; |
(...skipping 26 matching lines...) Expand all Loading... |
275 break; | 277 break; |
276 | 278 |
277 case HEAP_NUMBER_TYPE: | 279 case HEAP_NUMBER_TYPE: |
278 case MUTABLE_HEAP_NUMBER_TYPE: | 280 case MUTABLE_HEAP_NUMBER_TYPE: |
279 case SIMD128_VALUE_TYPE: | 281 case SIMD128_VALUE_TYPE: |
280 case FILLER_TYPE: | 282 case FILLER_TYPE: |
281 case BYTE_ARRAY_TYPE: | 283 case BYTE_ARRAY_TYPE: |
282 case FREE_SPACE_TYPE: | 284 case FREE_SPACE_TYPE: |
283 break; | 285 break; |
284 | 286 |
285 #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ | 287 #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ |
286 case FIXED_##TYPE##_ARRAY_TYPE: \ | 288 case FIXED_##TYPE##_ARRAY_TYPE: \ |
287 reinterpret_cast<FixedTypedArrayBase*>(this) \ | 289 FixedTypedArrayBase::BodyDescriptor::IterateBody(this, object_size, v); \ |
288 ->FixedTypedArrayBaseIterateBody(v); \ | |
289 break; | 290 break; |
290 TYPED_ARRAYS(TYPED_ARRAY_CASE) | 291 TYPED_ARRAYS(TYPED_ARRAY_CASE) |
291 #undef TYPED_ARRAY_CASE | 292 #undef TYPED_ARRAY_CASE |
292 | 293 |
293 case SHARED_FUNCTION_INFO_TYPE: { | 294 case SHARED_FUNCTION_INFO_TYPE: { |
294 SharedFunctionInfo::BodyDescriptor::IterateBody(this, v); | 295 SharedFunctionInfo::BodyDescriptor::IterateBody(this, v); |
295 break; | 296 break; |
296 } | 297 } |
297 | 298 |
298 #define MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE: | 299 #define MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE: |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 }; | 490 }; |
490 | 491 |
491 | 492 |
492 template Object* VisitWeakList<Context>(Heap* heap, Object* list, | 493 template Object* VisitWeakList<Context>(Heap* heap, Object* list, |
493 WeakObjectRetainer* retainer); | 494 WeakObjectRetainer* retainer); |
494 | 495 |
495 template Object* VisitWeakList<AllocationSite>(Heap* heap, Object* list, | 496 template Object* VisitWeakList<AllocationSite>(Heap* heap, Object* list, |
496 WeakObjectRetainer* retainer); | 497 WeakObjectRetainer* retainer); |
497 } // namespace internal | 498 } // namespace internal |
498 } // namespace v8 | 499 } // namespace v8 |
OLD | NEW |