| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 #if !defined(DART_PRECOMPILED_RUNTIME) | 4 #if !defined(DART_PRECOMPILED_RUNTIME) |
| 5 #include "vm/flow_graph_inliner.h" | 5 #include "vm/flow_graph_inliner.h" |
| 6 | 6 |
| 7 #include "vm/aot_optimizer.h" | 7 #include "vm/aot_optimizer.h" |
| 8 #include "vm/precompiler.h" | 8 #include "vm/precompiler.h" |
| 9 #include "vm/block_scheduler.h" | 9 #include "vm/block_scheduler.h" |
| 10 #include "vm/branch_optimizer.h" | 10 #include "vm/branch_optimizer.h" |
| (...skipping 2215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2226 case kTypedDataFloat64ArrayCid: { | 2226 case kTypedDataFloat64ArrayCid: { |
| 2227 type_args = flow_graph->constant_null(); | 2227 type_args = flow_graph->constant_null(); |
| 2228 ASSERT((array_cid != kTypedDataFloat32ArrayCid && | 2228 ASSERT((array_cid != kTypedDataFloat32ArrayCid && |
| 2229 array_cid != kTypedDataFloat64ArrayCid) || | 2229 array_cid != kTypedDataFloat64ArrayCid) || |
| 2230 value_type.IsDoubleType()); | 2230 value_type.IsDoubleType()); |
| 2231 ASSERT(value_type.IsInstantiated()); | 2231 ASSERT(value_type.IsInstantiated()); |
| 2232 break; | 2232 break; |
| 2233 } | 2233 } |
| 2234 case kTypedDataFloat32x4ArrayCid: { | 2234 case kTypedDataFloat32x4ArrayCid: { |
| 2235 type_args = flow_graph->constant_null(); | 2235 type_args = flow_graph->constant_null(); |
| 2236 ASSERT((array_cid != kTypedDataFloat32x4ArrayCid) || | 2236 ASSERT(value_type.IsFloat32x4Type()); |
| 2237 value_type.IsFloat32x4Type()); | |
| 2238 ASSERT(value_type.IsInstantiated()); | 2237 ASSERT(value_type.IsInstantiated()); |
| 2239 break; | 2238 break; |
| 2240 } | 2239 } |
| 2241 case kTypedDataFloat64x2ArrayCid: { | 2240 case kTypedDataFloat64x2ArrayCid: { |
| 2242 type_args = flow_graph->constant_null(); | 2241 type_args = flow_graph->constant_null(); |
| 2243 ASSERT((array_cid != kTypedDataFloat64x2ArrayCid) || | 2242 ASSERT(value_type.IsFloat64x2Type()); |
| 2244 value_type.IsFloat64x2Type()); | |
| 2245 ASSERT(value_type.IsInstantiated()); | 2243 ASSERT(value_type.IsInstantiated()); |
| 2246 break; | 2244 break; |
| 2247 } | 2245 } |
| 2248 default: | 2246 default: |
| 2249 // TODO(fschneider): Add support for other array types. | 2247 // TODO(fschneider): Add support for other array types. |
| 2250 UNREACHABLE(); | 2248 UNREACHABLE(); |
| 2251 } | 2249 } |
| 2252 AssertAssignableInstr* assert_value = new (Z) AssertAssignableInstr( | 2250 AssertAssignableInstr* assert_value = new (Z) AssertAssignableInstr( |
| 2253 token_pos, new (Z) Value(stored_value), new (Z) Value(type_args), | 2251 token_pos, new (Z) Value(stored_value), new (Z) Value(type_args), |
| 2254 value_type, Symbols::Value(), call->deopt_id()); | 2252 value_type, Symbols::Value(), call->deopt_id()); |
| (...skipping 1378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3633 } | 3631 } |
| 3634 | 3632 |
| 3635 default: | 3633 default: |
| 3636 return false; | 3634 return false; |
| 3637 } | 3635 } |
| 3638 } | 3636 } |
| 3639 | 3637 |
| 3640 | 3638 |
| 3641 } // namespace dart | 3639 } // namespace dart |
| 3642 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 3640 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |