| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 | 4 |
| 5 #include <set> | 5 #include <set> |
| 6 | 6 |
| 7 #include "vm/kernel_to_il.h" | 7 #include "vm/kernel_to_il.h" |
| 8 | 8 |
| 9 #include "vm/compiler.h" | 9 #include "vm/compiler.h" |
| 10 #include "vm/intermediate_language.h" | 10 #include "vm/intermediate_language.h" |
| (...skipping 4035 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4046 } | 4046 } |
| 4047 return instructions; | 4047 return instructions; |
| 4048 } | 4048 } |
| 4049 | 4049 |
| 4050 | 4050 |
| 4051 Fragment FlowGraphBuilder::CheckAssignableInCheckedMode( | 4051 Fragment FlowGraphBuilder::CheckAssignableInCheckedMode( |
| 4052 const AbstractType& dst_type, | 4052 const AbstractType& dst_type, |
| 4053 const dart::String& dst_name) { | 4053 const dart::String& dst_name) { |
| 4054 Fragment instructions; | 4054 Fragment instructions; |
| 4055 if (I->type_checks() && !dst_type.IsDynamicType() && | 4055 if (I->type_checks() && !dst_type.IsDynamicType() && |
| 4056 !dst_type.IsObjectType()) { | 4056 !dst_type.IsObjectType() && !dst_type.IsVoidType()) { |
| 4057 LocalVariable* top_of_stack = MakeTemporary(); | 4057 LocalVariable* top_of_stack = MakeTemporary(); |
| 4058 instructions += LoadLocal(top_of_stack); | 4058 instructions += LoadLocal(top_of_stack); |
| 4059 instructions += AssertAssignable(dst_type, dst_name); | 4059 instructions += AssertAssignable(dst_type, dst_name); |
| 4060 instructions += Drop(); | 4060 instructions += Drop(); |
| 4061 } | 4061 } |
| 4062 return instructions; | 4062 return instructions; |
| 4063 } | 4063 } |
| 4064 | 4064 |
| 4065 | 4065 |
| 4066 Fragment FlowGraphBuilder::AssertBool() { | 4066 Fragment FlowGraphBuilder::AssertBool() { |
| (...skipping 2807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6874 thread->clear_sticky_error(); | 6874 thread->clear_sticky_error(); |
| 6875 return error.raw(); | 6875 return error.raw(); |
| 6876 } | 6876 } |
| 6877 } | 6877 } |
| 6878 | 6878 |
| 6879 | 6879 |
| 6880 } // namespace kernel | 6880 } // namespace kernel |
| 6881 } // namespace dart | 6881 } // namespace dart |
| 6882 | 6882 |
| 6883 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 6883 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |