| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_ASSEMBLER_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
| 6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 void Drop(intptr_t stack_elements); | 587 void Drop(intptr_t stack_elements); |
| 588 | 588 |
| 589 void LoadObject(Register dst, const Object& object); | 589 void LoadObject(Register dst, const Object& object); |
| 590 void StoreObject(const Address& dst, const Object& obj); | 590 void StoreObject(const Address& dst, const Object& obj); |
| 591 void PushObject(const Object& object); | 591 void PushObject(const Object& object); |
| 592 void CompareObject(Register reg, const Object& object); | 592 void CompareObject(Register reg, const Object& object); |
| 593 void LoadDoubleConstant(XmmRegister dst, double value); | 593 void LoadDoubleConstant(XmmRegister dst, double value); |
| 594 | 594 |
| 595 // Destroys value. | 595 // Destroys value. |
| 596 void StoreIntoObject(Register object, // Object we are storing into. | 596 void StoreIntoObject(Register object, // Object we are storing into. |
| 597 const FieldAddress& dest, // Where we are storing into. | 597 const Address& dest, // Where we are storing into. |
| 598 Register value); // Value we are storing. | 598 Register value); // Value we are storing. |
| 599 | 599 |
| 600 void StoreIntoObjectNoBarrier(Register object, | 600 void StoreIntoObjectNoBarrier(Register object, |
| 601 const FieldAddress& dest, | 601 const Address& dest, |
| 602 Register value); | 602 Register value); |
| 603 void StoreIntoObjectNoBarrier(Register object, | |
| 604 const FieldAddress& dest, | |
| 605 const Object& value); | |
| 606 | 603 |
| 607 void DoubleNegate(XmmRegister d); | 604 void DoubleNegate(XmmRegister d); |
| 608 void FloatNegate(XmmRegister f); | 605 void FloatNegate(XmmRegister f); |
| 609 | 606 |
| 610 void DoubleAbs(XmmRegister reg); | 607 void DoubleAbs(XmmRegister reg); |
| 611 void DoubleRound(XmmRegister dst, XmmRegister src, XmmRegister tmp); | 608 void DoubleRound(XmmRegister dst, XmmRegister src, XmmRegister tmp); |
| 612 | 609 |
| 613 void LockCmpxchgl(const Address& address, Register reg) { | 610 void LockCmpxchgl(const Address& address, Register reg) { |
| 614 lock(); | 611 lock(); |
| 615 cmpxchgl(address, reg); | 612 cmpxchgl(address, reg); |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 } | 807 } |
| 811 | 808 |
| 812 | 809 |
| 813 inline void Assembler::EmitOperandSizeOverride() { | 810 inline void Assembler::EmitOperandSizeOverride() { |
| 814 EmitUint8(0x66); | 811 EmitUint8(0x66); |
| 815 } | 812 } |
| 816 | 813 |
| 817 } // namespace dart | 814 } // namespace dart |
| 818 | 815 |
| 819 #endif // VM_ASSEMBLER_X64_H_ | 816 #endif // VM_ASSEMBLER_X64_H_ |
| OLD | NEW |