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
CPURegList Class Reference

#include <assembler-arm64.h>

Public Member Functions

 CPURegList (CPURegister reg1, CPURegister reg2=NoCPUReg, CPURegister reg3=NoCPUReg, CPURegister reg4=NoCPUReg)
 
 CPURegList (CPURegister::RegisterType type, unsigned size, RegList list)
 
 CPURegList (CPURegister::RegisterType type, unsigned size, unsigned first_reg, unsigned last_reg)
 
CPURegister::RegisterType type () const
 
RegList list () const
 
void set_list (RegList new_list)
 
void Combine (const CPURegList &other)
 
void Remove (const CPURegList &other)
 
void Combine (const CPURegister &other)
 
void Remove (const CPURegister &other1, const CPURegister &other2=NoCPUReg, const CPURegister &other3=NoCPUReg, const CPURegister &other4=NoCPUReg)
 
void Combine (int code)
 
void Remove (int code)
 
void RemoveCalleeSaved ()
 
CPURegister PopLowestIndex ()
 
CPURegister PopHighestIndex ()
 
bool IsEmpty () const
 
bool IncludesAliasOf (const CPURegister &other1, const CPURegister &other2=NoCPUReg, const CPURegister &other3=NoCPUReg, const CPURegister &other4=NoCPUReg) const
 
int Count () const
 
unsigned RegisterSizeInBits () const
 
unsigned RegisterSizeInBytes () const
 

Static Public Member Functions

static CPURegList GetCalleeSaved (unsigned size=kXRegSizeInBits)
 
static CPURegList GetCalleeSavedFP (unsigned size=kDRegSizeInBits)
 
static CPURegList GetCallerSaved (unsigned size=kXRegSizeInBits)
 
static CPURegList GetCallerSavedFP (unsigned size=kDRegSizeInBits)
 
static CPURegList GetSafepointSavedRegisters ()
 

Detailed Description

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

Constructor & Destructor Documentation

CPURegList ( CPURegister  reg1,
CPURegister  reg2 = NoCPUReg,
CPURegister  reg3 = NoCPUReg,
CPURegister  reg4 = NoCPUReg 
)
inlineexplicit

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

References v8::internal::AreSameSizeAndType(), and ASSERT.

CPURegList ( CPURegister::RegisterType  type,
unsigned  size,
RegList  list 
)
inline

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

References ASSERT.

CPURegList ( CPURegister::RegisterType  type,
unsigned  size,
unsigned  first_reg,
unsigned  last_reg 
)
inline

Member Function Documentation

void Combine ( const CPURegList other)
inline
void Combine ( const CPURegister other)
inline
void Combine ( int  code)
inline

Definition at line 206 of file assembler-arm64-inl.h.

References ASSERT, v8::internal::code(), and CPURegister::Create().

int Count ( ) const
inline

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

References ASSERT, and v8::internal::CountSetBits().

static CPURegList GetCalleeSaved ( unsigned  size = kXRegSizeInBits)
static
static CPURegList GetCalleeSavedFP ( unsigned  size = kDRegSizeInBits)
static
static CPURegList GetCallerSaved ( unsigned  size = kXRegSizeInBits)
static
static CPURegList GetCallerSavedFP ( unsigned  size = kDRegSizeInBits)
static
static CPURegList GetSafepointSavedRegisters ( )
static
bool IncludesAliasOf ( const CPURegister other1,
const CPURegister other2 = NoCPUReg,
const CPURegister other3 = NoCPUReg,
const CPURegister other4 = NoCPUReg 
) const
inline

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

References ASSERT, CPURegister::Bit(), CPURegister::IsNone(), CPURegList::list(), and CPURegister::type().

Referenced by TEST().

bool IsEmpty ( ) const
inline

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

References ASSERT.

Referenced by TEST().

RegList list ( ) const
inline
CPURegister PopHighestIndex ( )

Referenced by TEST().

CPURegister PopLowestIndex ( )

Referenced by TEST().

unsigned RegisterSizeInBits ( ) const
inline

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

References ASSERT.

Referenced by CPURegList::Combine(), and CPURegList::RegisterSizeInBytes().

unsigned RegisterSizeInBytes ( ) const
inline
void Remove ( const CPURegList other)
inline

Definition at line 180 of file assembler-arm64-inl.h.

References ASSERT, CPURegList::list(), and CPURegList::type().

Referenced by CPURegList::Remove().

void Remove ( const CPURegister other1,
const CPURegister other2 = NoCPUReg,
const CPURegister other3 = NoCPUReg,
const CPURegister other4 = NoCPUReg 
)
inline
void Remove ( int  code)
inline

Definition at line 213 of file assembler-arm64-inl.h.

References ASSERT, v8::internal::code(), and CPURegister::Create().

void RemoveCalleeSaved ( )
void set_list ( RegList  new_list)
inline

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

References ASSERT.

Referenced by RegisterDump::Dump().


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