| 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 1618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1629 UseScratchRegisterScope temps(this); | 1629 UseScratchRegisterScope temps(this); |
| 1630 Register temp = temps.AcquireX(); | 1630 Register temp = temps.AcquireX(); |
| 1631 | 1631 |
| 1632 CompareObjectType(object, temp, temp, JS_BOUND_FUNCTION_TYPE); | 1632 CompareObjectType(object, temp, temp, JS_BOUND_FUNCTION_TYPE); |
| 1633 Check(eq, kOperandIsNotABoundFunction); | 1633 Check(eq, kOperandIsNotABoundFunction); |
| 1634 } | 1634 } |
| 1635 } | 1635 } |
| 1636 | 1636 |
| 1637 void MacroAssembler::AssertGeneratorObject(Register object) { | 1637 void MacroAssembler::AssertGeneratorObject(Register object) { |
| 1638 if (emit_debug_code()) { | 1638 if (emit_debug_code()) { |
| 1639 Label ok; |
| 1639 AssertNotSmi(object, kOperandIsASmiAndNotAGeneratorObject); | 1640 AssertNotSmi(object, kOperandIsASmiAndNotAGeneratorObject); |
| 1640 | 1641 |
| 1641 UseScratchRegisterScope temps(this); | 1642 UseScratchRegisterScope temps(this); |
| 1642 Register temp = temps.AcquireX(); | 1643 Register temp = temps.AcquireX(); |
| 1643 | 1644 |
| 1644 CompareObjectType(object, temp, temp, JS_GENERATOR_OBJECT_TYPE); | 1645 CompareObjectType(object, temp, temp, JS_GENERATOR_OBJECT_TYPE); |
| 1646 B(eq, &ok); |
| 1647 CompareObjectType(object, temp, temp, JS_ASYNC_GENERATOR_OBJECT_TYPE); |
| 1645 Check(eq, kOperandIsNotAGeneratorObject); | 1648 Check(eq, kOperandIsNotAGeneratorObject); |
| 1649 Bind(&ok); |
| 1646 } | 1650 } |
| 1647 } | 1651 } |
| 1648 | 1652 |
| 1649 void MacroAssembler::AssertReceiver(Register object) { | 1653 void MacroAssembler::AssertReceiver(Register object) { |
| 1650 if (emit_debug_code()) { | 1654 if (emit_debug_code()) { |
| 1651 AssertNotSmi(object, kOperandIsASmiAndNotAReceiver); | 1655 AssertNotSmi(object, kOperandIsASmiAndNotAReceiver); |
| 1652 | 1656 |
| 1653 UseScratchRegisterScope temps(this); | 1657 UseScratchRegisterScope temps(this); |
| 1654 Register temp = temps.AcquireX(); | 1658 Register temp = temps.AcquireX(); |
| 1655 | 1659 |
| (...skipping 3001 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4657 } | 4661 } |
| 4658 | 4662 |
| 4659 | 4663 |
| 4660 #undef __ | 4664 #undef __ |
| 4661 | 4665 |
| 4662 | 4666 |
| 4663 } // namespace internal | 4667 } // namespace internal |
| 4664 } // namespace v8 | 4668 } // namespace v8 |
| 4665 | 4669 |
| 4666 #endif // V8_TARGET_ARCH_ARM64 | 4670 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |