| 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 3455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3466 return InlineDoubleOp(flow_graph, Token::kMUL, call, receiver, entry, | 3466 return InlineDoubleOp(flow_graph, Token::kMUL, call, receiver, entry, |
| 3467 last); | 3467 last); |
| 3468 case MethodRecognizer::kDoubleDiv: | 3468 case MethodRecognizer::kDoubleDiv: |
| 3469 return InlineDoubleOp(flow_graph, Token::kDIV, call, receiver, entry, | 3469 return InlineDoubleOp(flow_graph, Token::kDIV, call, receiver, entry, |
| 3470 last); | 3470 last); |
| 3471 case MethodRecognizer::kDouble_getIsNaN: | 3471 case MethodRecognizer::kDouble_getIsNaN: |
| 3472 case MethodRecognizer::kDouble_getIsInfinite: | 3472 case MethodRecognizer::kDouble_getIsInfinite: |
| 3473 return InlineDoubleTestOp(flow_graph, call, receiver, kind, entry, last); | 3473 return InlineDoubleTestOp(flow_graph, call, receiver, kind, entry, last); |
| 3474 case MethodRecognizer::kGrowableArraySetData: | 3474 case MethodRecognizer::kGrowableArraySetData: |
| 3475 ASSERT(receiver_cid == kGrowableObjectArrayCid); | 3475 ASSERT(receiver_cid == kGrowableObjectArrayCid); |
| 3476 ASSERT(ic_data.NumberOfChecks() == 1); | 3476 ASSERT(ic_data.NumberOfChecksIs(1)); |
| 3477 return InlineGrowableArraySetter( | 3477 return InlineGrowableArraySetter( |
| 3478 flow_graph, GrowableObjectArray::data_offset(), kEmitStoreBarrier, | 3478 flow_graph, GrowableObjectArray::data_offset(), kEmitStoreBarrier, |
| 3479 call, receiver, entry, last); | 3479 call, receiver, entry, last); |
| 3480 case MethodRecognizer::kGrowableArraySetLength: | 3480 case MethodRecognizer::kGrowableArraySetLength: |
| 3481 ASSERT(receiver_cid == kGrowableObjectArrayCid); | 3481 ASSERT(receiver_cid == kGrowableObjectArrayCid); |
| 3482 ASSERT(ic_data.NumberOfChecks() == 1); | 3482 ASSERT(ic_data.NumberOfChecksIs(1)); |
| 3483 return InlineGrowableArraySetter( | 3483 return InlineGrowableArraySetter( |
| 3484 flow_graph, GrowableObjectArray::length_offset(), kNoStoreBarrier, | 3484 flow_graph, GrowableObjectArray::length_offset(), kNoStoreBarrier, |
| 3485 call, receiver, entry, last); | 3485 call, receiver, entry, last); |
| 3486 case MethodRecognizer::kSmi_bitAndFromSmi: | 3486 case MethodRecognizer::kSmi_bitAndFromSmi: |
| 3487 return InlineSmiBitAndFromSmi(flow_graph, call, receiver, entry, last); | 3487 return InlineSmiBitAndFromSmi(flow_graph, call, receiver, entry, last); |
| 3488 | 3488 |
| 3489 case MethodRecognizer::kFloat32x4ShuffleX: | 3489 case MethodRecognizer::kFloat32x4ShuffleX: |
| 3490 case MethodRecognizer::kFloat32x4ShuffleY: | 3490 case MethodRecognizer::kFloat32x4ShuffleY: |
| 3491 case MethodRecognizer::kFloat32x4ShuffleZ: | 3491 case MethodRecognizer::kFloat32x4ShuffleZ: |
| 3492 case MethodRecognizer::kFloat32x4ShuffleW: | 3492 case MethodRecognizer::kFloat32x4ShuffleW: |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3657 } | 3657 } |
| 3658 | 3658 |
| 3659 default: | 3659 default: |
| 3660 return false; | 3660 return false; |
| 3661 } | 3661 } |
| 3662 } | 3662 } |
| 3663 | 3663 |
| 3664 | 3664 |
| 3665 } // namespace dart | 3665 } // namespace dart |
| 3666 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 3666 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |