V8 Project
code-generator-x64.cc File Reference
+ Include dependency graph for code-generator-x64.cc:

Go to the source code of this file.

Classes

struct  v8::internal::compiler::Immediate64
 
struct  v8::internal::compiler::RegisterOrOperand
 
class  v8::internal::compiler::X64OperandConverter
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 
 v8::internal::compiler
 

Macros

#define __   masm()->
 
#define ASSEMBLE_BINOP(asm_instr)
 
#define ASSEMBLE_SHIFT(asm_instr, width)
 

Enumerations

enum  v8::internal::compiler::Immediate64Type { v8::internal::compiler::kImm64Value , v8::internal::compiler::kImm64Handle , v8::internal::compiler::kImm64Reference }
 
enum  v8::internal::compiler::RegisterOrOperandType { v8::internal::compiler::kRegister , v8::internal::compiler::kDoubleRegister , v8::internal::compiler::kOperand }
 

Functions

static bool v8::internal::compiler::HasImmediateInput (Instruction *instr, int index)
 

Macro Definition Documentation

◆ __

#define __   masm()->

Definition at line 19 of file code-generator-x64.cc.

◆ ASSEMBLE_BINOP

#define ASSEMBLE_BINOP (   asm_instr)
Value:
do { \
if (HasImmediateInput(instr, 1)) { \
RegisterOrOperand input = i.InputRegisterOrOperand(0); \
if (input.type == kRegister) { \
__ asm_instr(input.reg, i.InputImmediate(1)); \
} else { \
__ asm_instr(input.operand, i.InputImmediate(1)); \
} \
} else { \
RegisterOrOperand input = i.InputRegisterOrOperand(1); \
if (input.type == kRegister) { \
__ asm_instr(i.InputRegister(0), input.reg); \
} else { \
__ asm_instr(i.InputRegister(0), input.operand); \
} \
} \
} while (0)
static bool HasImmediateInput(Instruction *instr, int index)

Definition at line 235 of file code-generator-x64.cc.

◆ ASSEMBLE_SHIFT

#define ASSEMBLE_SHIFT (   asm_instr,
  width 
)
Value:
do { \
if (HasImmediateInput(instr, 1)) { \
__ asm_instr(i.OutputRegister(), Immediate(i.InputInt##width(1))); \
} else { \
__ asm_instr##_cl(i.OutputRegister()); \
} \
} while (0)

Definition at line 255 of file code-generator-x64.cc.