Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::DeoptFpuInstr< K, slot_kind, Type, PtrType > Class Template Reference
Inheritance diagram for dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >:
dart::DeoptInstr dart::ZoneAllocated

Public Member Functions

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

Detailed Description

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type, typename PtrType>
class dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >

Definition at line 641 of file deopt_instructions.cc.

Constructor & Destructor Documentation

◆ DeoptFpuInstr() [1/2]

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::DeoptFpuInstr ( intptr_t  source_index)
inlineexplicit

Definition at line 643 of file deopt_instructions.cc.

643: source_(source_index) {}
virtual intptr_t source_index() const

◆ DeoptFpuInstr() [2/2]

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::DeoptFpuInstr ( const FpuRegisterSource source)
inlineexplicit

Definition at line 645 of file deopt_instructions.cc.

645: source_(source) {}
SkBitmap source
Definition: examples.cpp:28

Member Function Documentation

◆ ArgumentsToCString()

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
virtual const char * dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::ArgumentsToCString ( ) const
inlinevirtual

Reimplemented from dart::DeoptInstr.

Definition at line 650 of file deopt_instructions.cc.

650{ return source_.ToCString(); }
const char * ToCString() const

◆ Execute()

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
void dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::Execute ( DeoptContext deopt_context,
intptr_t *  dest_addr 
)
inlinevirtual

Implements dart::DeoptInstr.

Definition at line 652 of file deopt_instructions.cc.

652 {
653 *dest_addr = Smi::RawValue(0);
654 deopt_context->DeferMaterialization(source_.Value<Type>(deopt_context),
655 reinterpret_cast<PtrType*>(dest_addr));
656 }
T Value(DeoptContext *context) const
static intptr_t RawValue(intptr_t value)
Definition: object.h:10022

◆ kind()

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
virtual DeoptInstr::Kind dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::kind ( ) const
inlinevirtual

Implements dart::DeoptInstr.

Definition at line 648 of file deopt_instructions.cc.

648{ return K; }
static const int K
Definition: daa.cpp:21

◆ source_index()

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
virtual intptr_t dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::source_index ( ) const
inlinevirtual

Implements dart::DeoptInstr.

Definition at line 647 of file deopt_instructions.cc.

647{ return source_.source_index(); }
intptr_t source_index() const

◆ ToCatchEntryMove()

template<DeoptInstr::Kind K, CatchEntryMove::SourceKind slot_kind, typename Type , typename PtrType >
CatchEntryMove dart::DeoptFpuInstr< K, slot_kind, Type, PtrType >::ToCatchEntryMove ( DeoptContext deopt_context,
intptr_t  dest_slot 
)
inlinevirtual

Reimplemented from dart::DeoptInstr.

Definition at line 658 of file deopt_instructions.cc.

659 {
660 return CatchEntryMove::FromSlot(slot_kind, source_.StackSlot(deopt_context),
661 dest_slot);
662 }
static CatchEntryMove FromSlot(SourceKind kind, intptr_t src_slot, intptr_t dest_slot)
Definition: exceptions.h:188
intptr_t StackSlot(DeoptContext *context) const

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