OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
789 // Move a constant into a destination using the most efficient encoding. | 789 // Move a constant into a destination using the most efficient encoding. |
790 void Move(Register dst, const Immediate& x); | 790 void Move(Register dst, const Immediate& x); |
791 void Move(const Operand& dst, const Immediate& x); | 791 void Move(const Operand& dst, const Immediate& x); |
792 | 792 |
793 // Move an immediate into an XMM register. | 793 // Move an immediate into an XMM register. |
794 void Move(XMMRegister dst, uint32_t src); | 794 void Move(XMMRegister dst, uint32_t src); |
795 void Move(XMMRegister dst, uint64_t src); | 795 void Move(XMMRegister dst, uint64_t src); |
796 void Move(XMMRegister dst, float src) { Move(dst, bit_cast<uint32_t>(src)); } | 796 void Move(XMMRegister dst, float src) { Move(dst, bit_cast<uint32_t>(src)); } |
797 void Move(XMMRegister dst, double src) { Move(dst, bit_cast<uint64_t>(src)); } | 797 void Move(XMMRegister dst, double src) { Move(dst, bit_cast<uint64_t>(src)); } |
798 | 798 |
| 799 void Move(Register dst, Handle<Object> handle) { LoadObject(dst, handle); } |
799 void Move(Register dst, Smi* source) { Move(dst, Immediate(source)); } | 800 void Move(Register dst, Smi* source) { Move(dst, Immediate(source)); } |
800 | 801 |
801 // Push a handle value. | 802 // Push a handle value. |
802 void Push(Handle<Object> handle) { push(Immediate(handle)); } | 803 void Push(Handle<Object> handle) { push(Immediate(handle)); } |
803 void Push(Smi* smi) { Push(Immediate(smi)); } | 804 void Push(Smi* smi) { Push(Immediate(smi)); } |
804 | 805 |
805 Handle<Object> CodeObject() { | 806 Handle<Object> CodeObject() { |
806 DCHECK(!code_object_.is_null()); | 807 DCHECK(!code_object_.is_null()); |
807 return code_object_; | 808 return code_object_; |
808 } | 809 } |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1028 } \ | 1029 } \ |
1029 masm-> | 1030 masm-> |
1030 #else | 1031 #else |
1031 #define ACCESS_MASM(masm) masm-> | 1032 #define ACCESS_MASM(masm) masm-> |
1032 #endif | 1033 #endif |
1033 | 1034 |
1034 } // namespace internal | 1035 } // namespace internal |
1035 } // namespace v8 | 1036 } // namespace v8 |
1036 | 1037 |
1037 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1038 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |