v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
assembler-ia32.h File Reference
#include "isolate.h"
#include "serialize.h"
Include dependency graph for assembler-ia32.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  IntelDoubleRegister
 
struct  XMMRegister
 
struct  X87Register
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 
class  CpuFeatures
 
class  Assembler
 
class  BASE_EMBEDDED< Visitor >
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define xmm0   (static_cast<const XMMRegister&>(double_register_0))
 
#define xmm1   (static_cast<const XMMRegister&>(double_register_1))
 
#define xmm2   (static_cast<const XMMRegister&>(double_register_2))
 
#define xmm3   (static_cast<const XMMRegister&>(double_register_3))
 
#define xmm4   (static_cast<const XMMRegister&>(double_register_4))
 
#define xmm5   (static_cast<const XMMRegister&>(double_register_5))
 
#define xmm6   (static_cast<const XMMRegister&>(double_register_6))
 
#define xmm7   (static_cast<const XMMRegister&>(double_register_7))
 
#define no_xmm_reg   (static_cast<const XMMRegister&>(no_double_reg))
 
#define stX_0   static_cast<const X87Register&>(double_register_0)
 
#define stX_1   static_cast<const X87Register&>(double_register_1)
 
#define stX_2   static_cast<const X87Register&>(double_register_2)
 
#define stX_3   static_cast<const X87Register&>(double_register_3)
 
#define stX_4   static_cast<const X87Register&>(double_register_4)
 

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,
  eq = 0 << 28, ne = 1 << 28, hs = cs, lo = cc,
  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, nv = 15,
  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,
  ueq = 16, nue = 17, cc_always = 18, 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

Condition NegateCondition (Condition cond)
 
Condition ReverseCondition (Condition cond)
 

Variables

const int kRegister_eax_Code = 0
 
const int kRegister_ecx_Code = 1
 
const int kRegister_edx_Code = 2
 
const int kRegister_ebx_Code = 3
 
const int kRegister_esp_Code = 4
 
const int kRegister_ebp_Code = 5
 
const int kRegister_esi_Code = 6
 
const int kRegister_edi_Code = 7
 
const Register eax = { kRegister_eax_Code }
 
const Register ecx = { kRegister_ecx_Code }
 
const Register edx = { kRegister_edx_Code }
 
const Register ebx = { kRegister_ebx_Code }
 
const Register esp = { kRegister_esp_Code }
 
const Register ebp = { kRegister_ebp_Code }
 
const Register esi = { kRegister_esi_Code }
 
const Register edi = { kRegister_edi_Code }
 
const IntelDoubleRegister double_register_0 = { 0 }
 
const IntelDoubleRegister double_register_1 = { 1 }
 
const IntelDoubleRegister double_register_2 = { 2 }
 
const IntelDoubleRegister double_register_3 = { 3 }
 
const IntelDoubleRegister double_register_4 = { 4 }
 
const IntelDoubleRegister double_register_5 = { 5 }
 
const IntelDoubleRegister double_register_6 = { 6 }
 
const IntelDoubleRegister double_register_7 = { 7 }
 
const IntelDoubleRegister no_double_reg = { -1 }
 

Macro Definition Documentation

#define no_xmm_reg   (static_cast<const XMMRegister&>(no_double_reg))

Definition at line 231 of file assembler-ia32.h.

#define stX_0   static_cast<const X87Register&>(double_register_0)

Definition at line 263 of file assembler-ia32.h.

#define stX_1   static_cast<const X87Register&>(double_register_1)

Definition at line 264 of file assembler-ia32.h.

#define stX_2   static_cast<const X87Register&>(double_register_2)

Definition at line 265 of file assembler-ia32.h.

#define stX_3   static_cast<const X87Register&>(double_register_3)

Definition at line 266 of file assembler-ia32.h.

#define stX_4   static_cast<const X87Register&>(double_register_4)

Definition at line 267 of file assembler-ia32.h.

#define xmm0   (static_cast<const XMMRegister&>(double_register_0))

Definition at line 223 of file assembler-ia32.h.

#define xmm1   (static_cast<const XMMRegister&>(double_register_1))

Definition at line 224 of file assembler-ia32.h.

#define xmm2   (static_cast<const XMMRegister&>(double_register_2))

Definition at line 225 of file assembler-ia32.h.

#define xmm3   (static_cast<const XMMRegister&>(double_register_3))

Definition at line 226 of file assembler-ia32.h.

#define xmm4   (static_cast<const XMMRegister&>(double_register_4))

Definition at line 227 of file assembler-ia32.h.

#define xmm5   (static_cast<const XMMRegister&>(double_register_5))

Definition at line 228 of file assembler-ia32.h.

#define xmm6   (static_cast<const XMMRegister&>(double_register_6))

Definition at line 229 of file assembler-ia32.h.

#define xmm7   (static_cast<const XMMRegister&>(double_register_7))

Definition at line 230 of file assembler-ia32.h.