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
Register Struct Reference

#include <assembler-arm.h>

Inheritance diagram for Register:
Collaboration diagram for Register:

Public Member Functions

bool is_valid () const
 
bool is (Register reg) const
 
int code () const
 
int bit () const
 
void set_code (int code)
 
 Register ()
 
 Register (const CPURegister &r)
 
 Register (const Register &r)
 
bool IsValid () const
 
bool IsAllocatable () const
 
bool is_valid () const
 
bool is (Register reg) const
 
bool is_byte_register () const
 
int code () const
 
int bit () const
 
bool is_valid () const
 
bool is (Register reg) const
 
int code () const
 
int bit () const
 
bool is_valid () const
 
bool is (Register reg) const
 
bool is_byte_register () const
 
int code () const
 
int bit () const
 
int high_bit () const
 
int low_bits () const
 
- Public Member Functions inherited from CPURegister
unsigned code () const
 
RegisterType type () const
 
RegList Bit () const
 
unsigned SizeInBits () const
 
int SizeInBytes () const
 
bool Is32Bits () const
 
bool Is64Bits () const
 
bool IsValid () const
 
bool IsValidOrNone () const
 
bool IsValidRegister () const
 
bool IsValidFPRegister () const
 
bool IsNone () const
 
bool Is (const CPURegister &other) const
 
bool IsZero () const
 
bool IsSP () const
 
bool IsRegister () const
 
bool IsFPRegister () const
 
Register X () const
 
Register W () const
 
FPRegister D () const
 
FPRegister S () const
 
bool IsSameSizeAndType (const CPURegister &other) const
 
bool is (const CPURegister &other) const
 
bool is_valid () const
 

Static Public Member Functions

static int NumAllocatableRegisters ()
 
static int ToAllocationIndex (Register reg)
 
static Register FromAllocationIndex (int index)
 
static const char * AllocationIndexToString (int index)
 
static Register from_code (int code)
 
static Register Create (unsigned code, unsigned size)
 
static Register XRegFromCode (unsigned code)
 
static Register WRegFromCode (unsigned code)
 
static int NumRegisters ()
 
static int NumAllocatableRegisters ()
 
static Register FromAllocationIndex (unsigned index)
 
static const char * AllocationIndexToString (int index)
 
static int ToAllocationIndex (Register reg)
 
static Register from_code (int code)
 
static int NumAllocatableRegisters ()
 
static const char * AllocationIndexToString (int index)
 
static int ToAllocationIndex (Register reg)
 
static Register FromAllocationIndex (int index)
 
static Register from_code (int code)
 
static int NumAllocatableRegisters ()
 
static int ToAllocationIndex (Register reg)
 
static Register FromAllocationIndex (int index)
 
static const char * AllocationIndexToString (int index)
 
static Register from_code (int code)
 
static int NumAllocatableRegisters ()
 
static int ToAllocationIndex (Register reg)
 
static Register FromAllocationIndex (int index)
 
static const char * AllocationIndexToString (int index)
 
static Register from_code (int code)
 
- Static Public Member Functions inherited from CPURegister
static CPURegister Create (unsigned code, unsigned size, RegisterType type)
 

Data Fields

int code_
 
- Data Fields inherited from CPURegister
unsigned reg_code
 
unsigned reg_size
 
RegisterType reg_type
 

Static Public Attributes

static const int kNumRegisters = 16
 
static const int kMaxNumAllocatableRegisters
 
static const int kSizeInBytes = 4
 
static const unsigned kAllocatableLowRangeBegin = 0
 
static const unsigned kAllocatableLowRangeEnd = 15
 
static const unsigned kAllocatableHighRangeBegin = 18
 
static const unsigned kAllocatableHighRangeEnd = 24
 
static const unsigned kAllocatableContext = 27
 
static const int kAllocatableRangeGapSize
 
static const int kCpRegister = 23
 

Additional Inherited Members

- Public Types inherited from CPURegister
enum  RegisterType { kInvalid = 0, kRegister, kFPRegister, kNoRegister }
 

Detailed Description

Definition at line 161 of file assembler-arm.h.

Constructor & Destructor Documentation

Member Function Documentation

static const char* AllocationIndexToString ( int  index)
inlinestatic
static const char* AllocationIndexToString ( int  index)
inlinestatic

Definition at line 92 of file assembler-x64.h.

References ASSERT, and Register::kMaxNumAllocatableRegisters.

static const char* AllocationIndexToString ( int  index)
inlinestatic

Definition at line 97 of file assembler-mips.h.

References ASSERT, and Register::kMaxNumAllocatableRegisters.

const char * AllocationIndexToString ( int  index)
inlinestatic

Definition at line 179 of file assembler-arm.h.

References ASSERT, and Register::kMaxNumAllocatableRegisters.

Referenced by LOperand::PrintTo().

int bit ( ) const
inline

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

References ASSERT, Register::code_, and Register::is_valid().

int bit ( ) const
inline

Definition at line 122 of file assembler-x64.h.

References Register::code_.

int bit ( ) const
inline

Definition at line 129 of file assembler-mips.h.

References ASSERT, Register::code_, and Register::is_valid().

int bit ( ) const
inline

Definition at line 209 of file assembler-arm.h.

References ASSERT, Register::code_, and Register::is_valid().

Referenced by MacroAssembler::Pop(), MacroAssembler::Push(), and TEST().

int code ( ) const
inline

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

References ASSERT, Register::code_, and Register::is_valid().

int code ( ) const
inline

Definition at line 118 of file assembler-x64.h.

References ASSERT, Register::code_, and Register::is_valid().

int code ( ) const
inline

Definition at line 125 of file assembler-mips.h.

References ASSERT, Register::code_, and Register::is_valid().

static Register Create ( unsigned  code,
unsigned  size 
)
inlinestatic
static Register from_code ( int  code)
inlinestatic

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

References ASSERT, and Register::kNumRegisters.

static Register from_code ( int  code)
inlinestatic

Definition at line 110 of file assembler-x64.h.

static Register from_code ( int  code)
inlinestatic

Definition at line 118 of file assembler-mips.h.

static Register from_code ( int  code)
inlinestatic

Definition at line 235 of file assembler-arm64.h.

References Register::Create(), and v8::internal::kXRegSizeInBits.

static Register FromAllocationIndex ( int  index)
inlinestatic
static Register FromAllocationIndex ( int  index)
inlinestatic

Definition at line 86 of file assembler-x64.h.

References ASSERT, and Register::kMaxNumAllocatableRegisters.

static Register FromAllocationIndex ( int  index)
inlinestatic
Register FromAllocationIndex ( int  index)
inlinestatic
int high_bit ( ) const
inline

Definition at line 128 of file assembler-x64.h.

References Register::code_.

Referenced by MacroAssembler::CallSize().

bool is ( Register  reg) const
inline

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

References Register::code_.

bool is ( Register  reg) const
inline

Definition at line 115 of file assembler-x64.h.

References Register::code_.

bool is ( Register  reg) const
inline

Definition at line 124 of file assembler-mips.h.

References Register::code_.

bool is_byte_register ( ) const
inline

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

References Register::code_.

bool is_byte_register ( ) const
inline

Definition at line 117 of file assembler-x64.h.

References Register::code_.

bool is_valid ( ) const
inline

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

References Register::code_, and Register::kNumRegisters.

bool is_valid ( ) const
inline

Definition at line 114 of file assembler-x64.h.

References Register::code_, and Register::kNumRegisters.

bool is_valid ( ) const
inline

Definition at line 123 of file assembler-mips.h.

References Register::code_, and Register::kNumRegisters.

int low_bits ( ) const
inline

Definition at line 133 of file assembler-x64.h.

References Register::code_.

static int NumAllocatableRegisters ( )
inlinestatic

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

References Register::kMaxNumAllocatableRegisters.

static int NumAllocatableRegisters ( )
inlinestatic

Definition at line 77 of file assembler-x64.h.

References Register::kMaxNumAllocatableRegisters.

static int NumAllocatableRegisters ( )
inlinestatic
static int NumAllocatableRegisters ( )
inlinestatic

Definition at line 183 of file assembler-arm64.h.

References Register::kMaxNumAllocatableRegisters.

static int NumRegisters ( )
inlinestatic

Definition at line 154 of file assembler-arm64.h.

References Register::kNumRegisters.

void set_code ( int  code)
inline

Definition at line 214 of file assembler-arm.h.

References ASSERT, Register::code(), Register::code_, and Register::is_valid().

static int ToAllocationIndex ( Register  reg)
inlinestatic
static int ToAllocationIndex ( Register  reg)
inlinestatic
static int ToAllocationIndex ( Register  reg)
inlinestatic

Definition at line 82 of file assembler-x64.h.

int ToAllocationIndex ( Register  reg)
inlinestatic

Definition at line 169 of file assembler-arm.h.

References ASSERT, Register::code(), and Register::kMaxNumAllocatableRegisters.

Register WRegFromCode ( unsigned  code)
inlinestatic
Register XRegFromCode ( unsigned  code)
inlinestatic

Field Documentation

const unsigned kAllocatableContext = 27
static
const unsigned kAllocatableHighRangeBegin = 18
static
const unsigned kAllocatableHighRangeEnd = 24
static
const unsigned kAllocatableLowRangeBegin = 0
static

Definition at line 170 of file assembler-arm64.h.

Referenced by Register::AllocationIndexToString().

const unsigned kAllocatableLowRangeEnd = 15
static
const int kAllocatableRangeGapSize
static
const int kCpRegister = 23
static

Definition at line 78 of file assembler-mips.h.

Referenced by Register::FromAllocationIndex(), and Register::ToAllocationIndex().

static const int kMaxNumAllocatableRegisters
static
Initial value:
=
FLAG_enable_ool_constant_pool ? 8 : 9

Definition at line 163 of file assembler-arm.h.

Referenced by Register::AllocationIndexToString(), Register::FromAllocationIndex(), Register::NumAllocatableRegisters(), and Register::ToAllocationIndex().

static const int kNumRegisters = 16
static
static const int kSizeInBytes = 4
static

Definition at line 165 of file assembler-arm.h.


The documentation for this struct was generated from the following files: