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 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" |
9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 __ B(false_label_); | 633 __ B(false_label_); |
634 } | 634 } |
635 } | 635 } |
636 } | 636 } |
637 | 637 |
638 | 638 |
639 void FullCodeGenerator::DoTest(Expression* condition, | 639 void FullCodeGenerator::DoTest(Expression* condition, |
640 Label* if_true, | 640 Label* if_true, |
641 Label* if_false, | 641 Label* if_false, |
642 Label* fall_through) { | 642 Label* fall_through) { |
643 Handle<Code> ic = ToBooleanStub::GetUninitialized(isolate()); | 643 Handle<Code> ic = ToBooleanICStub::GetUninitialized(isolate()); |
644 CallIC(ic, condition->test_id()); | 644 CallIC(ic, condition->test_id()); |
645 __ CompareRoot(result_register(), Heap::kTrueValueRootIndex); | 645 __ CompareRoot(result_register(), Heap::kTrueValueRootIndex); |
646 Split(eq, if_true, if_false, fall_through); | 646 Split(eq, if_true, if_false, fall_through); |
647 } | 647 } |
648 | 648 |
649 | 649 |
650 // If (cond), branch to if_true. | 650 // If (cond), branch to if_true. |
651 // If (!cond), branch to if_false. | 651 // If (!cond), branch to if_false. |
652 // fall_through is used as an optimization in cases where only one branch | 652 // fall_through is used as an optimization in cases where only one branch |
653 // instruction is necessary. | 653 // instruction is necessary. |
(...skipping 3610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4264 } | 4264 } |
4265 | 4265 |
4266 return INTERRUPT; | 4266 return INTERRUPT; |
4267 } | 4267 } |
4268 | 4268 |
4269 | 4269 |
4270 } // namespace internal | 4270 } // namespace internal |
4271 } // namespace v8 | 4271 } // namespace v8 |
4272 | 4272 |
4273 #endif // V8_TARGET_ARCH_ARM64 | 4273 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |