V8 Project
v8::internal::UseScratchRegisterScope Class Reference

#include <macro-assembler-arm64.h>

+ Collaboration diagram for v8::internal::UseScratchRegisterScope:

Public Member Functions

 UseScratchRegisterScope (MacroAssembler *masm)
 
 ~UseScratchRegisterScope ()
 
Register AcquireW ()
 
Register AcquireX ()
 
FPRegister AcquireS ()
 
FPRegister AcquireD ()
 
Register UnsafeAcquire (const Register &reg)
 
Register AcquireSameSizeAs (const Register &reg)
 
FPRegister AcquireSameSizeAs (const FPRegister &reg)
 

Static Private Member Functions

static CPURegister AcquireNextAvailable (CPURegList *available)
 
static CPURegister UnsafeAcquire (CPURegList *available, const CPURegister &reg)
 

Private Attributes

CPURegListavailable_
 
CPURegListavailablefp_
 
RegList old_available_
 
RegList old_availablefp_
 

Detailed Description

Definition at line 2227 of file macro-assembler-arm64.h.

Constructor & Destructor Documentation

◆ UseScratchRegisterScope()

v8::internal::UseScratchRegisterScope::UseScratchRegisterScope ( MacroAssembler masm)
inlineexplicit

Definition at line 2229 of file macro-assembler-arm64.h.

References available_, availablefp_, DCHECK, v8::internal::CPURegister::kFPRegister, v8::internal::CPURegister::kRegister, and v8::internal::CPURegList::type().

+ Here is the call graph for this function:

◆ ~UseScratchRegisterScope()

v8::internal::UseScratchRegisterScope::~UseScratchRegisterScope ( )

Member Function Documentation

◆ AcquireD()

FPRegister v8::internal::UseScratchRegisterScope::AcquireD ( )
inline

Definition at line 2245 of file macro-assembler-arm64.h.

2245 { return AcquireNextAvailable(availablefp_).D(); }
static CPURegister AcquireNextAvailable(CPURegList *available)

References AcquireNextAvailable(), availablefp_, and v8::internal::CPURegister::D().

+ Here is the call graph for this function:

◆ AcquireNextAvailable()

static CPURegister v8::internal::UseScratchRegisterScope::AcquireNextAvailable ( CPURegList available)
staticprivate

Referenced by AcquireD(), AcquireS(), AcquireW(), and AcquireX().

+ Here is the caller graph for this function:

◆ AcquireS()

FPRegister v8::internal::UseScratchRegisterScope::AcquireS ( )
inline

Definition at line 2244 of file macro-assembler-arm64.h.

2244 { return AcquireNextAvailable(availablefp_).S(); }

References AcquireNextAvailable(), availablefp_, and v8::internal::CPURegister::S().

+ Here is the call graph for this function:

◆ AcquireSameSizeAs() [1/2]

FPRegister v8::internal::UseScratchRegisterScope::AcquireSameSizeAs ( const FPRegister reg)

◆ AcquireSameSizeAs() [2/2]

Register v8::internal::UseScratchRegisterScope::AcquireSameSizeAs ( const Register reg)

Referenced by v8::internal::MacroAssembler::Fcmp().

+ Here is the caller graph for this function:

◆ AcquireW()

Register v8::internal::UseScratchRegisterScope::AcquireW ( )
inline

Definition at line 2242 of file macro-assembler-arm64.h.

2242 { return AcquireNextAvailable(available_).W(); }

References AcquireNextAvailable(), available_, and v8::internal::CPURegister::W().

Referenced by v8::internal::MacroAssembler::Fmov().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AcquireX()

Register v8::internal::UseScratchRegisterScope::AcquireX ( )
inline

Definition at line 2243 of file macro-assembler-arm64.h.

2243 { return AcquireNextAvailable(available_).X(); }

References AcquireNextAvailable(), available_, and v8::internal::CPURegister::X().

Referenced by v8::internal::MacroAssembler::BumpSystemStackPointer(), v8::internal::MacroAssembler::JumpIfBothSmi(), v8::internal::MacroAssembler::JumpIfEitherSmi(), and v8::internal::MacroAssembler::Push().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnsafeAcquire() [1/2]

Register v8::internal::UseScratchRegisterScope::UnsafeAcquire ( const Register reg)
inline

Definition at line 2247 of file macro-assembler-arm64.h.

2247  {
2248  return Register(UnsafeAcquire(available_, reg));
2249  }
Register UnsafeAcquire(const Register &reg)

References available_.

Referenced by v8::internal::LCodeGen::BASE_EMBEDDED::PushSafepointRegistersScope().

+ Here is the caller graph for this function:

◆ UnsafeAcquire() [2/2]

static CPURegister v8::internal::UseScratchRegisterScope::UnsafeAcquire ( CPURegList available,
const CPURegister reg 
)
staticprivate

Member Data Documentation

◆ available_

CPURegList* v8::internal::UseScratchRegisterScope::available_
private

◆ availablefp_

CPURegList* v8::internal::UseScratchRegisterScope::availablefp_
private

Definition at line 2261 of file macro-assembler-arm64.h.

Referenced by AcquireD(), AcquireS(), and UseScratchRegisterScope().

◆ old_available_

RegList v8::internal::UseScratchRegisterScope::old_available_
private

Definition at line 2264 of file macro-assembler-arm64.h.

◆ old_availablefp_

RegList v8::internal::UseScratchRegisterScope::old_availablefp_
private

Definition at line 2265 of file macro-assembler-arm64.h.


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