v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::LocationOperand Class Reference

#include <instruction.h>

Inheritance diagram for v8::internal::compiler::LocationOperand:
Collaboration diagram for v8::internal::compiler::LocationOperand:

Public Types

enum  LocationKind { REGISTER , STACK_SLOT }
 
using LocationKindField = KindField::Next<LocationKind, 1>
 
using RepresentationField = LocationKindField::Next<MachineRepresentation, 8>
 
using IndexField = base::BitField64<int32_t, 32, 32>
 
- Public Types inherited from v8::internal::compiler::InstructionOperand
enum  Kind {
  INVALID , UNALLOCATED , CONSTANT , IMMEDIATE ,
  PENDING , ALLOCATED , FIRST_LOCATION_OPERAND_KIND = ALLOCATED
}
 

Public Member Functions

 LocationOperand (InstructionOperand::Kind operand_kind, LocationOperand::LocationKind location_kind, MachineRepresentation rep, int index)
 
int index () const
 
int register_code () const
 
Register GetRegister () const
 
FloatRegister GetFloatRegister () const
 
DoubleRegister GetDoubleRegister () const
 
Simd128Register GetSimd128Register () const
 
LocationKind location_kind () const
 
MachineRepresentation representation () const
 
bool IsCompatible (LocationOperand *op)
 
- Public Member Functions inherited from v8::internal::compiler::InstructionOperand
 InstructionOperand ()
 
Kind kind () const
 
bool IsAnyLocationOperand () const
 
bool IsLocationOperand () const
 
bool IsFPLocationOperand () const
 
bool IsAnyRegister () const
 
bool IsRegister () const
 
bool IsFPRegister () const
 
bool IsFloatRegister () const
 
bool IsDoubleRegister () const
 
bool IsSimd128Register () const
 
bool IsSimd256Register () const
 
bool IsAnyStackSlot () const
 
bool IsStackSlot () const
 
bool IsFPStackSlot () const
 
bool IsFloatStackSlot () const
 
bool IsDoubleStackSlot () const
 
bool IsSimd128StackSlot () const
 
bool IsSimd256StackSlot () const
 
bool Equals (const InstructionOperand &that) const
 
bool Compare (const InstructionOperand &that) const
 
bool EqualsCanonicalized (const InstructionOperand &that) const
 
bool CompareCanonicalized (const InstructionOperand &that) const
 
bool InterferesWith (const InstructionOperand &other) const
 
void Print () const
 
bool operator== (const InstructionOperand &other) const
 
bool operator!= (const InstructionOperand &other) const
 

Static Public Member Functions

static bool IsSupportedRepresentation (MachineRepresentation rep)
 
static LocationOperandcast (InstructionOperand *op)
 
static const LocationOperandcast (const InstructionOperand *op)
 
static LocationOperand cast (const InstructionOperand &op)
 
- Static Public Member Functions inherited from v8::internal::compiler::InstructionOperand
template<typename SubKindOperand >
static SubKindOperand * New (Zone *zone, const SubKindOperand &op)
 
static void ReplaceWith (InstructionOperand *dest, const InstructionOperand *src)
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::compiler::InstructionOperand
static const int kInvalidVirtualRegister = -1
 
- Protected Types inherited from v8::internal::compiler::InstructionOperand
using KindField = base::BitField64<Kind, 0, 3>
 
- Protected Member Functions inherited from v8::internal::compiler::InstructionOperand
 InstructionOperand (Kind kind)
 
uint64_t GetCanonicalizedValue () const
 
- Protected Attributes inherited from v8::internal::compiler::InstructionOperand
uint64_t value_
 

Detailed Description

Definition at line 497 of file instruction.h.

Member Typedef Documentation

◆ IndexField

Definition at line 617 of file instruction.h.

◆ LocationKindField

◆ RepresentationField

Member Enumeration Documentation

◆ LocationKind

Enumerator
REGISTER 
STACK_SLOT 

Definition at line 499 of file instruction.h.

Constructor & Destructor Documentation

◆ LocationOperand()

v8::internal::compiler::LocationOperand::LocationOperand ( InstructionOperand::Kind operand_kind,
LocationOperand::LocationKind location_kind,
MachineRepresentation rep,
int index )
inline

Definition at line 501 of file instruction.h.

Member Function Documentation

◆ cast() [1/3]

static LocationOperand v8::internal::compiler::LocationOperand::cast ( const InstructionOperand & op)
inlinestatic

Definition at line 609 of file instruction.h.

Here is the call graph for this function:

◆ cast() [2/3]

static const LocationOperand * v8::internal::compiler::LocationOperand::cast ( const InstructionOperand * op)
inlinestatic

Definition at line 604 of file instruction.h.

Here is the call graph for this function:

◆ cast() [3/3]

static LocationOperand * v8::internal::compiler::LocationOperand::cast ( InstructionOperand * op)
inlinestatic

Definition at line 599 of file instruction.h.

Here is the call graph for this function:

◆ GetDoubleRegister()

DoubleRegister v8::internal::compiler::LocationOperand::GetDoubleRegister ( ) const
inline

Definition at line 533 of file instruction.h.

Here is the caller graph for this function:

◆ GetFloatRegister()

FloatRegister v8::internal::compiler::LocationOperand::GetFloatRegister ( ) const
inline

Definition at line 528 of file instruction.h.

Here is the caller graph for this function:

◆ GetRegister()

Register v8::internal::compiler::LocationOperand::GetRegister ( ) const
inline

Definition at line 523 of file instruction.h.

Here is the caller graph for this function:

◆ GetSimd128Register()

Simd128Register v8::internal::compiler::LocationOperand::GetSimd128Register ( ) const
inline

Definition at line 541 of file instruction.h.

Here is the caller graph for this function:

◆ index()

int v8::internal::compiler::LocationOperand::index ( ) const
inline

Definition at line 513 of file instruction.h.

Here is the caller graph for this function:

◆ IsCompatible()

bool v8::internal::compiler::LocationOperand::IsCompatible ( LocationOperand * op)

Definition at line 143 of file instruction.cc.

Here is the call graph for this function:

◆ IsSupportedRepresentation()

static bool v8::internal::compiler::LocationOperand::IsSupportedRepresentation ( MachineRepresentation rep)
inlinestatic

Definition at line 567 of file instruction.h.

Here is the caller graph for this function:

◆ location_kind()

LocationKind v8::internal::compiler::LocationOperand::location_kind ( ) const
inline

Definition at line 559 of file instruction.h.

Here is the caller graph for this function:

◆ register_code()

int v8::internal::compiler::LocationOperand::register_code ( ) const
inline

Definition at line 518 of file instruction.h.

Here is the caller graph for this function:

◆ representation()

MachineRepresentation v8::internal::compiler::LocationOperand::representation ( ) const
inline

Definition at line 563 of file instruction.h.

Here is the caller graph for this function:

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