| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 | 654 |
| 655 void MacroAssembler::B(Label* label, Condition cond) { | 655 void MacroAssembler::B(Label* label, Condition cond) { |
| 656 ASSERT(allow_macro_instructions_); | 656 ASSERT(allow_macro_instructions_); |
| 657 ASSERT((cond != al) && (cond != nv)); | 657 ASSERT((cond != al) && (cond != nv)); |
| 658 | 658 |
| 659 Label done; | 659 Label done; |
| 660 bool need_extra_instructions = | 660 bool need_extra_instructions = |
| 661 NeedExtraInstructionsOrRegisterBranch(label, CondBranchType); | 661 NeedExtraInstructionsOrRegisterBranch(label, CondBranchType); |
| 662 | 662 |
| 663 if (need_extra_instructions) { | 663 if (need_extra_instructions) { |
| 664 b(&done, InvertCondition(cond)); | 664 b(&done, NegateCondition(cond)); |
| 665 B(label); | 665 B(label); |
| 666 } else { | 666 } else { |
| 667 b(label, cond); | 667 b(label, cond); |
| 668 } | 668 } |
| 669 bind(&done); | 669 bind(&done); |
| 670 } | 670 } |
| 671 | 671 |
| 672 | 672 |
| 673 void MacroAssembler::Tbnz(const Register& rt, unsigned bit_pos, Label* label) { | 673 void MacroAssembler::Tbnz(const Register& rt, unsigned bit_pos, Label* label) { |
| 674 ASSERT(allow_macro_instructions_); | 674 ASSERT(allow_macro_instructions_); |
| (...skipping 3144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3819 Label* if_true, | 3819 Label* if_true, |
| 3820 Label* if_false, | 3820 Label* if_false, |
| 3821 Label* fall_through) { | 3821 Label* fall_through) { |
| 3822 if ((if_true == if_false) && (if_false == fall_through)) { | 3822 if ((if_true == if_false) && (if_false == fall_through)) { |
| 3823 // Fall through. | 3823 // Fall through. |
| 3824 } else if (if_true == if_false) { | 3824 } else if (if_true == if_false) { |
| 3825 B(if_true); | 3825 B(if_true); |
| 3826 } else if (if_false == fall_through) { | 3826 } else if (if_false == fall_through) { |
| 3827 CompareAndBranch(lhs, rhs, cond, if_true); | 3827 CompareAndBranch(lhs, rhs, cond, if_true); |
| 3828 } else if (if_true == fall_through) { | 3828 } else if (if_true == fall_through) { |
| 3829 CompareAndBranch(lhs, rhs, InvertCondition(cond), if_false); | 3829 CompareAndBranch(lhs, rhs, NegateCondition(cond), if_false); |
| 3830 } else { | 3830 } else { |
| 3831 CompareAndBranch(lhs, rhs, cond, if_true); | 3831 CompareAndBranch(lhs, rhs, cond, if_true); |
| 3832 B(if_false); | 3832 B(if_false); |
| 3833 } | 3833 } |
| 3834 } | 3834 } |
| 3835 | 3835 |
| 3836 | 3836 |
| 3837 void MacroAssembler::TestAndSplit(const Register& reg, | 3837 void MacroAssembler::TestAndSplit(const Register& reg, |
| 3838 uint64_t bit_pattern, | 3838 uint64_t bit_pattern, |
| 3839 Label* if_all_clear, | 3839 Label* if_all_clear, |
| (...skipping 1452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5292 } | 5292 } |
| 5293 } | 5293 } |
| 5294 | 5294 |
| 5295 | 5295 |
| 5296 #undef __ | 5296 #undef __ |
| 5297 | 5297 |
| 5298 | 5298 |
| 5299 } } // namespace v8::internal | 5299 } } // namespace v8::internal |
| 5300 | 5300 |
| 5301 #endif // V8_TARGET_ARCH_ARM64 | 5301 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |