Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
dart::DeoptMintPairInstr Class Reference
Inheritance diagram for dart::DeoptMintPairInstr:
dart::DeoptIntegerInstrBase dart::DeoptInstr dart::ZoneAllocated

Public Member Functions

 DeoptMintPairInstr (intptr_t source_index)
 
 DeoptMintPairInstr (const CpuRegisterSource &lo, const CpuRegisterSource &hi)
 
virtual intptr_t source_index () const
 
virtual DeoptInstr::Kind kind () const
 
virtual const char * ArgumentsToCString () const
 
virtual int64_t GetValue (DeoptContext *deopt_context)
 
CatchEntryMove ToCatchEntryMove (DeoptContext *deopt_context, intptr_t dest_slot)
 
- Public Member Functions inherited from dart::DeoptIntegerInstrBase
 DeoptIntegerInstrBase ()
 
void Execute (DeoptContext *deopt_context, intptr_t *dest_addr)
 
- Public Member Functions inherited from dart::DeoptInstr
 DeoptInstr ()
 
virtual ~DeoptInstr ()
 
virtual const char * ToCString () const
 
bool Equals (const DeoptInstr &other) const
 
- Public Member Functions inherited from dart::ZoneAllocated
 ZoneAllocated ()
 
void * operator new (size_t size)
 
void * operator new (size_t size, Zone *zone)
 
void operator delete (void *pointer)
 

Additional Inherited Members

- Public Types inherited from dart::DeoptInstr
enum  Kind {
  kRetAddress , kConstant , kWord , kFloat ,
  kDouble , kFloat32x4 , kFloat64x2 , kInt32x4 ,
  kMintPair , kMint , kInt32 , kUint32 ,
  kPcMarker , kPp , kCallerFp , kCallerPp ,
  kCallerPc , kMaterializedObjectRef , kMaterializeObject
}
 
- Static Public Member Functions inherited from dart::DeoptInstr
static DeoptInstrCreate (intptr_t kind_as_int, intptr_t source_index)
 
static uword GetRetAddress (DeoptInstr *instr, const ObjectPool &object_pool, Code *code)
 
static intptr_t GetFieldCount (DeoptInstr *instr)
 

Detailed Description

Definition at line 547 of file deopt_instructions.cc.

Constructor & Destructor Documentation

◆ DeoptMintPairInstr() [1/2]

dart::DeoptMintPairInstr::DeoptMintPairInstr ( intptr_t  source_index)
inlineexplicit

Definition at line 549 of file deopt_instructions.cc.

◆ DeoptMintPairInstr() [2/2]

dart::DeoptMintPairInstr::DeoptMintPairInstr ( const CpuRegisterSource lo,
const CpuRegisterSource hi 
)
inline

Definition at line 554 of file deopt_instructions.cc.

555 : DeoptIntegerInstrBase(), lo_(lo), hi_(hi) {}

Member Function Documentation

◆ ArgumentsToCString()

virtual const char * dart::DeoptMintPairInstr::ArgumentsToCString ( ) const
inlinevirtual

Reimplemented from dart::DeoptInstr.

Definition at line 563 of file deopt_instructions.cc.

563 {
564 return Thread::Current()->zone()->PrintToString("%s,%s", lo_.ToCString(),
565 hi_.ToCString());
566 }
const char * ToCString() const
Zone * zone() const
static Thread * Current()
Definition thread.h:361
char * PrintToString(const char *format,...) PRINTF_ATTRIBUTE(2
Definition zone.cc:313

◆ GetValue()

virtual int64_t dart::DeoptMintPairInstr::GetValue ( DeoptContext deopt_context)
inlinevirtual

Implements dart::DeoptIntegerInstrBase.

Definition at line 568 of file deopt_instructions.cc.

568 {
569 return Utils::LowHighTo64Bits(lo_.Value<uint32_t>(deopt_context),
570 hi_.Value<int32_t>(deopt_context));
571 }
T Value(DeoptContext *context) const
static int64_t LowHighTo64Bits(uint32_t low, int32_t high)
Definition utils.h:362

◆ kind()

virtual DeoptInstr::Kind dart::DeoptMintPairInstr::kind ( ) const
inlinevirtual

Implements dart::DeoptInstr.

Definition at line 561 of file deopt_instructions.cc.

561{ return kMintPair; }

◆ source_index()

virtual intptr_t dart::DeoptMintPairInstr::source_index ( ) const
inlinevirtual

Implements dart::DeoptInstr.

Definition at line 557 of file deopt_instructions.cc.

557 {
558 return LoRegister::encode(lo_.source_index()) |
560 }
static constexpr intptr_t encode(intptr_t value)
Definition bitfield.h:167
intptr_t source_index() const

◆ ToCatchEntryMove()

CatchEntryMove dart::DeoptMintPairInstr::ToCatchEntryMove ( DeoptContext deopt_context,
intptr_t  dest_slot 
)
inlinevirtual

Reimplemented from dart::DeoptInstr.

Definition at line 573 of file deopt_instructions.cc.

574 {
578 hi_.StackSlot(deopt_context)),
579 dest_slot);
580 }
static CatchEntryMove FromSlot(SourceKind kind, intptr_t src_slot, intptr_t dest_slot)
Definition exceptions.h:188
static intptr_t EncodePairSource(intptr_t src_lo_slot, intptr_t src_hi_slot)
Definition exceptions.h:196
intptr_t StackSlot(DeoptContext *context) const

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