OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_IA32_H_ | 5 #ifndef VM_ASSEMBLER_IA32_H_ |
6 #define VM_ASSEMBLER_IA32_H_ | 6 #define VM_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_ia32.h directly; use assembler.h instead. | 9 #error Do not include assembler_ia32.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 void jmp(const ExternalLabel* label); | 497 void jmp(const ExternalLabel* label); |
498 | 498 |
499 void lock(); | 499 void lock(); |
500 void cmpxchgl(const Address& address, Register reg); | 500 void cmpxchgl(const Address& address, Register reg); |
501 | 501 |
502 /* | 502 /* |
503 * Macros for High-level operations. | 503 * Macros for High-level operations. |
504 */ | 504 */ |
505 void AddImmediate(Register reg, const Immediate& imm); | 505 void AddImmediate(Register reg, const Immediate& imm); |
506 | 506 |
| 507 void Drop(intptr_t stack_elements); |
| 508 |
507 void LoadObject(Register dst, const Object& object); | 509 void LoadObject(Register dst, const Object& object); |
508 void PushObject(const Object& object); | 510 void PushObject(const Object& object); |
509 void CompareObject(Register reg, const Object& object); | 511 void CompareObject(Register reg, const Object& object); |
510 void LoadDoubleConstant(XmmRegister dst, double value); | 512 void LoadDoubleConstant(XmmRegister dst, double value); |
511 | 513 |
512 void StoreIntoObject(Register object, // Object we are storing into. | 514 void StoreIntoObject(Register object, // Object we are storing into. |
513 const FieldAddress& dest, // Where we are storing into. | 515 const FieldAddress& dest, // Where we are storing into. |
514 Register value); // Value we are storing. | 516 Register value); // Value we are storing. |
515 | 517 |
516 void DoubleNegate(XmmRegister d); | 518 void DoubleNegate(XmmRegister d); |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 } | 646 } |
645 | 647 |
646 | 648 |
647 inline void Assembler::EmitOperandSizeOverride() { | 649 inline void Assembler::EmitOperandSizeOverride() { |
648 EmitUint8(0x66); | 650 EmitUint8(0x66); |
649 } | 651 } |
650 | 652 |
651 } // namespace dart | 653 } // namespace dart |
652 | 654 |
653 #endif // VM_ASSEMBLER_IA32_H_ | 655 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |