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/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/base/division-by-constant.h" | 8 #include "src/base/division-by-constant.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 1659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1670 void MacroAssembler::AssertPositiveOrZero(Register value) { | 1670 void MacroAssembler::AssertPositiveOrZero(Register value) { |
1671 if (emit_debug_code()) { | 1671 if (emit_debug_code()) { |
1672 Label done; | 1672 Label done; |
1673 int sign_bit = value.Is64Bits() ? kXSignBit : kWSignBit; | 1673 int sign_bit = value.Is64Bits() ? kXSignBit : kWSignBit; |
1674 Tbz(value, sign_bit, &done); | 1674 Tbz(value, sign_bit, &done); |
1675 Abort(kUnexpectedNegativeValue); | 1675 Abort(kUnexpectedNegativeValue); |
1676 Bind(&done); | 1676 Bind(&done); |
1677 } | 1677 } |
1678 } | 1678 } |
1679 | 1679 |
| 1680 void MacroAssembler::AssertNumber(Register value) { |
| 1681 if (emit_debug_code()) { |
| 1682 Label done; |
| 1683 JumpIfSmi(value, &done); |
| 1684 JumpIfHeapNumber(value, &done); |
| 1685 Abort(kOperandIsNotANumber); |
| 1686 Bind(&done); |
| 1687 } |
| 1688 } |
1680 | 1689 |
1681 void MacroAssembler::CallStub(CodeStub* stub, TypeFeedbackId ast_id) { | 1690 void MacroAssembler::CallStub(CodeStub* stub, TypeFeedbackId ast_id) { |
1682 DCHECK(AllowThisStubCall(stub)); // Stub calls are not allowed in some stubs. | 1691 DCHECK(AllowThisStubCall(stub)); // Stub calls are not allowed in some stubs. |
1683 Call(stub->GetCode(), RelocInfo::CODE_TARGET, ast_id); | 1692 Call(stub->GetCode(), RelocInfo::CODE_TARGET, ast_id); |
1684 } | 1693 } |
1685 | 1694 |
1686 | 1695 |
1687 void MacroAssembler::TailCallStub(CodeStub* stub) { | 1696 void MacroAssembler::TailCallStub(CodeStub* stub) { |
1688 Jump(stub->GetCode(), RelocInfo::CODE_TARGET); | 1697 Jump(stub->GetCode(), RelocInfo::CODE_TARGET); |
1689 } | 1698 } |
(...skipping 3195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4885 } | 4894 } |
4886 | 4895 |
4887 | 4896 |
4888 #undef __ | 4897 #undef __ |
4889 | 4898 |
4890 | 4899 |
4891 } // namespace internal | 4900 } // namespace internal |
4892 } // namespace v8 | 4901 } // namespace v8 |
4893 | 4902 |
4894 #endif // V8_TARGET_ARCH_ARM64 | 4903 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |