OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 <iomanip> | 5 #include <iomanip> |
6 | 6 |
7 #include "src/types.h" | 7 #include "src/types.h" |
8 | 8 |
9 #include "src/ostreams.h" | 9 #include "src/ostreams.h" |
10 #include "src/types-inl.h" | 10 #include "src/types-inl.h" |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 // for the actual map with which the template is later instantiated. | 260 // for the actual map with which the template is later instantiated. |
261 // We treat it as a kind of type variable whose upper bound is Any. | 261 // We treat it as a kind of type variable whose upper bound is Any. |
262 // TODO(rossberg): for caching of CompareNilIC stubs to work correctly, | 262 // TODO(rossberg): for caching of CompareNilIC stubs to work correctly, |
263 // we must exclude Undetectable here. This makes no sense, really, | 263 // we must exclude Undetectable here. This makes no sense, really, |
264 // because it means that the template isn't actually parametric. | 264 // because it means that the template isn't actually parametric. |
265 // Also, it doesn't apply elsewhere. 8-( | 265 // Also, it doesn't apply elsewhere. 8-( |
266 // We ought to find a cleaner solution for compiling stubs parameterised | 266 // We ought to find a cleaner solution for compiling stubs parameterised |
267 // over type or class variables, esp ones with bounds... | 267 // over type or class variables, esp ones with bounds... |
268 return kDetectable & kTaggedPointer; | 268 return kDetectable & kTaggedPointer; |
269 case ALLOCATION_SITE_TYPE: | 269 case ALLOCATION_SITE_TYPE: |
270 case DECLARED_ACCESSOR_INFO_TYPE: | 270 case ACCESSOR_INFO_TYPE: |
271 case EXECUTABLE_ACCESSOR_INFO_TYPE: | |
272 case SHARED_FUNCTION_INFO_TYPE: | 271 case SHARED_FUNCTION_INFO_TYPE: |
273 case ACCESSOR_PAIR_TYPE: | 272 case ACCESSOR_PAIR_TYPE: |
274 case FIXED_ARRAY_TYPE: | 273 case FIXED_ARRAY_TYPE: |
275 case FIXED_DOUBLE_ARRAY_TYPE: | 274 case FIXED_DOUBLE_ARRAY_TYPE: |
276 case BYTE_ARRAY_TYPE: | 275 case BYTE_ARRAY_TYPE: |
277 case BYTECODE_ARRAY_TYPE: | 276 case BYTECODE_ARRAY_TYPE: |
278 case TRANSITION_ARRAY_TYPE: | 277 case TRANSITION_ARRAY_TYPE: |
279 case FOREIGN_TYPE: | 278 case FOREIGN_TYPE: |
280 case SCRIPT_TYPE: | 279 case SCRIPT_TYPE: |
281 case CODE_TYPE: | 280 case CODE_TYPE: |
282 case PROPERTY_CELL_TYPE: | 281 case PROPERTY_CELL_TYPE: |
283 return kInternal & kTaggedPointer; | 282 return kInternal & kTaggedPointer; |
284 | 283 |
285 // Remaining instance types are unsupported for now. If any of them do | 284 // Remaining instance types are unsupported for now. If any of them do |
286 // require bit set types, they should get kInternal & kTaggedPointer. | 285 // require bit set types, they should get kInternal & kTaggedPointer. |
287 case MUTABLE_HEAP_NUMBER_TYPE: | 286 case MUTABLE_HEAP_NUMBER_TYPE: |
288 case FREE_SPACE_TYPE: | 287 case FREE_SPACE_TYPE: |
289 #define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ | 288 #define FIXED_TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \ |
290 case FIXED_##TYPE##_ARRAY_TYPE: | 289 case FIXED_##TYPE##_ARRAY_TYPE: |
291 | 290 |
292 TYPED_ARRAYS(FIXED_TYPED_ARRAY_CASE) | 291 TYPED_ARRAYS(FIXED_TYPED_ARRAY_CASE) |
293 #undef FIXED_TYPED_ARRAY_CASE | 292 #undef FIXED_TYPED_ARRAY_CASE |
294 case FILLER_TYPE: | 293 case FILLER_TYPE: |
295 case DECLARED_ACCESSOR_DESCRIPTOR_TYPE: | |
296 case ACCESS_CHECK_INFO_TYPE: | 294 case ACCESS_CHECK_INFO_TYPE: |
297 case INTERCEPTOR_INFO_TYPE: | 295 case INTERCEPTOR_INFO_TYPE: |
298 case CALL_HANDLER_INFO_TYPE: | 296 case CALL_HANDLER_INFO_TYPE: |
299 case FUNCTION_TEMPLATE_INFO_TYPE: | 297 case FUNCTION_TEMPLATE_INFO_TYPE: |
300 case OBJECT_TEMPLATE_INFO_TYPE: | 298 case OBJECT_TEMPLATE_INFO_TYPE: |
301 case SIGNATURE_INFO_TYPE: | 299 case SIGNATURE_INFO_TYPE: |
302 case TYPE_SWITCH_INFO_TYPE: | 300 case TYPE_SWITCH_INFO_TYPE: |
303 case ALLOCATION_MEMENTO_TYPE: | 301 case ALLOCATION_MEMENTO_TYPE: |
304 case CODE_CACHE_TYPE: | 302 case CODE_CACHE_TYPE: |
305 case POLYMORPHIC_CODE_CACHE_TYPE: | 303 case POLYMORPHIC_CODE_CACHE_TYPE: |
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1397 | 1395 |
1398 template TypeImpl<ZoneTypeConfig>::TypeHandle | 1396 template TypeImpl<ZoneTypeConfig>::TypeHandle |
1399 TypeImpl<ZoneTypeConfig>::Convert<HeapType>( | 1397 TypeImpl<ZoneTypeConfig>::Convert<HeapType>( |
1400 TypeImpl<HeapTypeConfig>::TypeHandle, TypeImpl<ZoneTypeConfig>::Region*); | 1398 TypeImpl<HeapTypeConfig>::TypeHandle, TypeImpl<ZoneTypeConfig>::Region*); |
1401 template TypeImpl<HeapTypeConfig>::TypeHandle | 1399 template TypeImpl<HeapTypeConfig>::TypeHandle |
1402 TypeImpl<HeapTypeConfig>::Convert<Type>( | 1400 TypeImpl<HeapTypeConfig>::Convert<Type>( |
1403 TypeImpl<ZoneTypeConfig>::TypeHandle, TypeImpl<HeapTypeConfig>::Region*); | 1401 TypeImpl<ZoneTypeConfig>::TypeHandle, TypeImpl<HeapTypeConfig>::Region*); |
1404 | 1402 |
1405 } // namespace internal | 1403 } // namespace internal |
1406 } // namespace v8 | 1404 } // namespace v8 |
OLD | NEW |