Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::DeoptIntegerInstrBase Class Referenceabstract
Inheritance diagram for dart::DeoptIntegerInstrBase:
dart::DeoptInstr dart::ZoneAllocated dart::DeoptIntInstr< K, slot_kind, T > dart::DeoptMintPairInstr

Public Member Functions

 DeoptIntegerInstrBase ()
 
void Execute (DeoptContext *deopt_context, intptr_t *dest_addr)
 
virtual int64_t GetValue (DeoptContext *deopt_context)=0
 
- Public Member Functions inherited from dart::DeoptInstr
 DeoptInstr ()
 
virtual ~DeoptInstr ()
 
virtual const char * ToCString () const
 
virtual CatchEntryMove ToCatchEntryMove (DeoptContext *deopt_context, intptr_t dest_slot)
 
virtual DeoptInstr::Kind kind () const =0
 
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)
 
- Protected Member Functions inherited from dart::DeoptInstr
virtual intptr_t source_index () const =0
 
virtual const char * ArgumentsToCString () const
 

Detailed Description

Definition at line 526 of file deopt_instructions.cc.

Constructor & Destructor Documentation

◆ DeoptIntegerInstrBase()

dart::DeoptIntegerInstrBase::DeoptIntegerInstrBase ( )
inline

Definition at line 528 of file deopt_instructions.cc.

528{}

Member Function Documentation

◆ Execute()

void dart::DeoptIntegerInstrBase::Execute ( DeoptContext deopt_context,
intptr_t *  dest_addr 
)
inlinevirtual

Implements dart::DeoptInstr.

Definition at line 530 of file deopt_instructions.cc.

530 {
531 const int64_t value = GetValue(deopt_context);
532 if (Smi::IsValid(value)) {
533 *dest_addr = Smi::RawValue(static_cast<intptr_t>(value));
534 } else {
535 *dest_addr = Smi::RawValue(0);
536 deopt_context->DeferMintMaterialization(
537 value, reinterpret_cast<MintPtr*>(dest_addr));
538 }
539 }
virtual int64_t GetValue(DeoptContext *deopt_context)=0
static intptr_t RawValue(intptr_t value)
Definition object.h:10001
static bool IsValid(int64_t value)
Definition object.h:10005
uint8_t value

◆ GetValue()

virtual int64_t dart::DeoptIntegerInstrBase::GetValue ( DeoptContext deopt_context)
pure virtual

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