v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
assembler-x64.h File Reference
#include "serialize.h"
Include dependency graph for assembler-x64.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Register
 
struct  XMMRegister
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 
class  CpuFeatures
 
class  CpuFeatures::BASE_EMBEDDED
 
class  Assembler
 
class  BASE_EMBEDDED< Visitor >
 

Namespaces

 v8
 
 v8::internal
 

Enumerations

enum  Condition {
  kNoCondition = -1, eq = 0 << 28, ne = 1 << 28, cs = 2 << 28,
  cc = 3 << 28, mi = 4 << 28, pl = 5 << 28, vs = 6 << 28,
  vc = 7 << 28, hi = 8 << 28, ls = 9 << 28, ge = 10 << 28,
  lt = 11 << 28, gt = 12 << 28, le = 13 << 28, al = 14 << 28,
  kSpecialCondition = 15 << 28, kNumberOfConditions = 16, hs = cs, lo = cc,
  no_condition = -1, overflow = 0, no_overflow = 1, below = 2,
  above_equal = 3, equal = 4, not_equal = 5, below_equal = 6,
  above = 7, negative = 8, positive = 9, parity_even = 10,
  parity_odd = 11, less = 12, greater_equal = 13, less_equal = 14,
  greater = 15, carry = below, not_carry = above_equal, zero = equal,
  not_zero = not_equal, sign = negative, not_sign = positive, kNoCondition = -1,
  overflow = 0, no_overflow = 1, Uless = 2, Ugreater_equal = 3,
  equal = 4, not_equal = 5, Uless_equal = 6, Ugreater = 7,
  negative = 8, positive = 9, parity_even = 10, parity_odd = 11,
  less = 12, greater_equal = 13, less_equal = 14, greater = 15,
  cc_always = 16, carry = below, not_carry = above_equal, zero = equal,
  eq = 0 << 28, not_zero = not_equal, ne = 1 << 28, nz = not_equal,
  sign = negative, not_sign = positive, mi = 4 << 28, pl = 5 << 28,
  hi = 8 << 28, ls = 9 << 28, ge = 10 << 28, lt = 11 << 28,
  gt = 12 << 28, le = 13 << 28, hs = cs, lo = cc,
  al = 14 << 28, cc_default = kNoCondition, no_condition = -1, overflow = 0,
  no_overflow = 1, below = 2, above_equal = 3, equal = 4,
  not_equal = 5, below_equal = 6, above = 7, negative = 8,
  positive = 9, parity_even = 10, parity_odd = 11, less = 12,
  greater_equal = 13, less_equal = 14, greater = 15, always = 16,
  never = 17, carry = below, not_carry = above_equal, zero = equal,
  not_zero = not_equal, sign = negative, not_sign = positive, last_condition = greater
}
 
enum  ScaleFactor {
  times_1 = 0, times_2 = 1, times_4 = 2, times_8 = 3,
  times_int_size = times_4, times_half_pointer_size = times_2, times_pointer_size = times_4, times_twice_pointer_size = times_8,
  times_1 = 0, times_2 = 1, times_4 = 2, times_8 = 3,
  times_int_size = times_4, times_pointer_size = times_4
}
 

Functions

bool is_uint32 (int64_t x)
 
bool is_int32 (int64_t x)
 
bool uint_is_int32 (uint64_t x)
 
bool is_uint32 (uint64_t x)
 
Condition NegateCondition (Condition cond)
 
Condition ReverseCondition (Condition cond)
 

Variables

const int kRegister_rax_Code = 0
 
const int kRegister_rcx_Code = 1
 
const int kRegister_rdx_Code = 2
 
const int kRegister_rbx_Code = 3
 
const int kRegister_rsp_Code = 4
 
const int kRegister_rbp_Code = 5
 
const int kRegister_rsi_Code = 6
 
const int kRegister_rdi_Code = 7
 
const int kRegister_r11_Code = 11
 
const int kRegister_r12_Code = 12
 
const int kRegister_r13_Code = 13
 
const int kRegister_r14_Code = 14
 
const int kRegister_r15_Code = 15
 
const Register rax = { kRegister_rax_Code }
 
const Register rcx = { kRegister_rcx_Code }
 
const Register rdx = { kRegister_rdx_Code }
 
const Register rbx = { kRegister_rbx_Code }
 
const Register rsp = { kRegister_rsp_Code }
 
const Register rbp = { kRegister_rbp_Code }
 
const Register rsi = { kRegister_rsi_Code }
 
const Register rdi = { kRegister_rdi_Code }
 
const Register r11 = { kRegister_r11_Code }
 
const Register r12 = { kRegister_r12_Code }
 
const Register r13 = { kRegister_r13_Code }
 
const Register r14 = { kRegister_r14_Code }
 
const Register r15 = { kRegister_r15_Code }
 
const XMMRegister xmm8 = { 8 }
 
const XMMRegister xmm9 = { 9 }
 
const XMMRegister xmm10 = { 10 }
 
const XMMRegister xmm11 = { 11 }
 
const XMMRegister xmm12 = { 12 }
 
const XMMRegister xmm13 = { 13 }
 
const XMMRegister xmm14 = { 14 }
 
const XMMRegister xmm15 = { 15 }