| 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 |