Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros
assembler_ia32.h File Reference
#include <functional>
#include "platform/assert.h"
#include "platform/utils.h"
#include "vm/compiler/assembler/assembler_base.h"
#include "vm/constants.h"
#include "vm/constants_x86.h"
#include "vm/pointer_tagging.h"

Go to the source code of this file.

Classes

class  dart::compiler::Immediate
 
class  dart::compiler::Operand
 
class  dart::compiler::Address
 
class  dart::compiler::FieldAddress
 
class  dart::compiler::Assembler
 

Namespaces

namespace  dart
 
namespace  dart::compiler
 

Macros

#define ALU_OPS(F)
 
#define DECLARE_ALU(op, opcode, opcode2, modrm_opcode)
 

Macro Definition Documentation

◆ ALU_OPS

#define ALU_OPS (   F)
Value:
F(and, 0x23, 0x21, 4) \
F(or, 0x0b, 0x09, 1) \
F(xor, 0x33, 0x31, 6) \
F(add, 0x03, 0x01, 0) \
F(adc, 0x13, 0x11, 2) \
F(sub, 0x2b, 0x29, 5) \
F(sbb, 0x1b, 0x19, 3) \
F(cmp, 0x3b, 0x39, 7)
#define F(x)

Definition at line 475 of file assembler_ia32.h.

◆ DECLARE_ALU

#define DECLARE_ALU (   op,
  opcode,
  opcode2,
  modrm_opcode 
)
Value:
void op##l(Register dst, Register src) { Alu(4, opcode, dst, src); } \
void op##w(Register dst, Register src) { Alu(2, opcode, dst, src); } \
void op##l(Register dst, const Address& src) { Alu(4, opcode, dst, src); } \
void op##w(Register dst, const Address& src) { Alu(2, opcode, dst, src); } \
void op##l(const Address& dst, Register src) { Alu(4, opcode2, dst, src); } \
void op##w(const Address& dst, Register src) { Alu(2, opcode2, dst, src); } \
void op##l(Register dst, const Immediate& imm) { \
Alu(modrm_opcode, dst, imm); \
} \
void op##l(const Address& dst, const Immediate& imm) { \
Alu(modrm_opcode, dst, imm); \
}
dst
Definition: cp.py:12
SkScalar w

Definition at line 486 of file assembler_ia32.h.