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_X87_MACRO_ASSEMBLER_X87_H_ | 5 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ |
6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ | 6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/frames.h" | 9 #include "src/frames.h" |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
821 | 821 |
822 // Move a constant into a destination using the most efficient encoding. | 822 // Move a constant into a destination using the most efficient encoding. |
823 void Move(Register dst, const Immediate& x); | 823 void Move(Register dst, const Immediate& x); |
824 void Move(const Operand& dst, const Immediate& x); | 824 void Move(const Operand& dst, const Immediate& x); |
825 | 825 |
826 // Push a handle value. | 826 // Push a handle value. |
827 void Push(Handle<Object> handle) { push(Immediate(handle)); } | 827 void Push(Handle<Object> handle) { push(Immediate(handle)); } |
828 void Push(Smi* smi) { Push(Handle<Smi>(smi, isolate())); } | 828 void Push(Smi* smi) { Push(Handle<Smi>(smi, isolate())); } |
829 | 829 |
830 Handle<Object> CodeObject() { | 830 Handle<Object> CodeObject() { |
831 ASSERT(!code_object_.is_null()); | 831 DCHECK(!code_object_.is_null()); |
832 return code_object_; | 832 return code_object_; |
833 } | 833 } |
834 | 834 |
835 // Insert code to verify that the x87 stack has the specified depth (0-7) | 835 // Insert code to verify that the x87 stack has the specified depth (0-7) |
836 void VerifyX87StackDepth(uint32_t depth); | 836 void VerifyX87StackDepth(uint32_t depth); |
837 | 837 |
838 // Emit code for a truncating division by a constant. The dividend register is | 838 // Emit code for a truncating division by a constant. The dividend register is |
839 // unchanged, the result is in edx, and eax gets clobbered. | 839 // unchanged, the result is in edx, and eax gets clobbered. |
840 void TruncatingDiv(Register dividend, int32_t divisor); | 840 void TruncatingDiv(Register dividend, int32_t divisor); |
841 | 841 |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1091 } \ | 1091 } \ |
1092 masm-> | 1092 masm-> |
1093 #else | 1093 #else |
1094 #define ACCESS_MASM(masm) masm-> | 1094 #define ACCESS_MASM(masm) masm-> |
1095 #endif | 1095 #endif |
1096 | 1096 |
1097 | 1097 |
1098 } } // namespace v8::internal | 1098 } } // namespace v8::internal |
1099 | 1099 |
1100 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ | 1100 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ |
OLD | NEW |