| 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 <map> | 5 #include <map> |
| 6 #include <set> | 6 #include <set> |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "vm/kernel_to_il.h" | 9 #include "vm/kernel_to_il.h" |
| 10 | 10 |
| (...skipping 2670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2681 | 2681 |
| 2682 return instructions; | 2682 return instructions; |
| 2683 } | 2683 } |
| 2684 | 2684 |
| 2685 | 2685 |
| 2686 Fragment FlowGraphBuilder::StoreInstanceFieldGuarded( | 2686 Fragment FlowGraphBuilder::StoreInstanceFieldGuarded( |
| 2687 const dart::Field& field, | 2687 const dart::Field& field, |
| 2688 bool is_initialization_store) { | 2688 bool is_initialization_store) { |
| 2689 Fragment instructions; | 2689 Fragment instructions; |
| 2690 const dart::Field& field_clone = MayCloneField(Z, field); | 2690 const dart::Field& field_clone = MayCloneField(Z, field); |
| 2691 if (FLAG_use_field_guards) { | 2691 if (I->use_field_guards()) { |
| 2692 LocalVariable* store_expression = MakeTemporary(); | 2692 LocalVariable* store_expression = MakeTemporary(); |
| 2693 instructions += LoadLocal(store_expression); | 2693 instructions += LoadLocal(store_expression); |
| 2694 instructions += GuardFieldClass(field_clone, H.thread()->GetNextDeoptId()); | 2694 instructions += GuardFieldClass(field_clone, H.thread()->GetNextDeoptId()); |
| 2695 instructions += LoadLocal(store_expression); | 2695 instructions += LoadLocal(store_expression); |
| 2696 instructions += GuardFieldLength(field_clone, H.thread()->GetNextDeoptId()); | 2696 instructions += GuardFieldLength(field_clone, H.thread()->GetNextDeoptId()); |
| 2697 } | 2697 } |
| 2698 instructions += StoreInstanceField(field_clone, is_initialization_store); | 2698 instructions += StoreInstanceField(field_clone, is_initialization_store); |
| 2699 return instructions; | 2699 return instructions; |
| 2700 } | 2700 } |
| 2701 | 2701 |
| (...skipping 3682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6384 thread->clear_sticky_error(); | 6384 thread->clear_sticky_error(); |
| 6385 return error.raw(); | 6385 return error.raw(); |
| 6386 } | 6386 } |
| 6387 } | 6387 } |
| 6388 | 6388 |
| 6389 | 6389 |
| 6390 } // namespace kernel | 6390 } // namespace kernel |
| 6391 } // namespace dart | 6391 } // namespace dart |
| 6392 | 6392 |
| 6393 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 6393 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |