Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::CloneContextInstr Class Reference

#include <il.h>

Inheritance diagram for dart::CloneContextInstr:
dart::TemplateDefinition< 1, Throws >

Public Member Functions

 CloneContextInstr (const InstructionSource &source, Value *context_value, const ZoneGrowableArray< const Slot * > &context_slots, intptr_t deopt_id)
 
virtual TokenPosition token_pos () const
 
Valuecontext_value () const
 
const ZoneGrowableArray< const Slot * > & context_slots () const
 
virtual CompileType ComputeType () const
 
virtual bool ComputeCanDeoptimize () const
 
virtual bool ComputeCanDeoptimizeAfterCall () const
 
virtual intptr_t NumberOfInputsConsumedBeforeCall () const
 
virtual bool HasUnknownSideEffects () const
 
- Public Member Functions inherited from dart::TemplateDefinition< 1, Throws >
 TemplateDefinition (intptr_t deopt_id=DeoptId::kNone)
 
 TemplateDefinition (const InstructionSource &source, intptr_t deopt_id=DeoptId::kNone)
 
virtual intptr_t InputCount () const
 
virtual ValueInputAt (intptr_t i) const
 
virtual bool MayThrow () const
 

Additional Inherited Members

- Public Types inherited from dart::TemplateDefinition< 1, Throws >
using BaseClass = typename NoCSE< Definition, PureDefinition >::Base
 
- Protected Attributes inherited from dart::TemplateDefinition< 1, Throws >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 8372 of file il.h.

Constructor & Destructor Documentation

◆ CloneContextInstr()

dart::CloneContextInstr::CloneContextInstr ( const InstructionSource source,
Value context_value,
const ZoneGrowableArray< const Slot * > &  context_slots,
intptr_t  deopt_id 
)
inline

Definition at line 8374 of file il.h.

8378 : TemplateDefinition(source, deopt_id),
8379 token_pos_(source.token_pos),
8380 context_slots_(context_slots) {
8381 SetInputAt(0, context_value);
8382 }
const ZoneGrowableArray< const Slot * > & context_slots() const
Definition il.h:8387
Value * context_value() const
Definition il.h:8385
TemplateDefinition(intptr_t deopt_id=DeoptId::kNone)
Definition il.h:2731
SkBitmap source
Definition examples.cpp:28

Member Function Documentation

◆ ComputeCanDeoptimize()

virtual bool dart::CloneContextInstr::ComputeCanDeoptimize ( ) const
inlinevirtual

Definition at line 8394 of file il.h.

8394{ return false; }

◆ ComputeCanDeoptimizeAfterCall()

virtual bool dart::CloneContextInstr::ComputeCanDeoptimizeAfterCall ( ) const
inlinevirtual

Definition at line 8395 of file il.h.

8395 {
8396 // We test that allocation instructions have correct deopt environment
8397 // (which is needed in case OOM is thrown) by actually deoptimizing
8398 // optimized code in allocation slow paths.
8399 return !CompilerState::Current().is_aot();
8400 }
static CompilerState & Current()

◆ ComputeType()

CompileType dart::CloneContextInstr::ComputeType ( ) const
virtual

Definition at line 1435 of file type_propagator.cc.

1435 {
1437 kContextCid, &Object::dynamic_type());
1438}
static constexpr bool kCannotBeSentinel
static constexpr bool kCannotBeNull

◆ context_slots()

const ZoneGrowableArray< const Slot * > & dart::CloneContextInstr::context_slots ( ) const
inline

Definition at line 8387 of file il.h.

8387 {
8388 return context_slots_;
8389 }

◆ context_value()

Value * dart::CloneContextInstr::context_value ( ) const
inline

Definition at line 8385 of file il.h.

8385{ return inputs_[0]; }
EmbeddedArray< Value *, N > inputs_
Definition il.h:2744

◆ HasUnknownSideEffects()

virtual bool dart::CloneContextInstr::HasUnknownSideEffects ( ) const
inlinevirtual

Definition at line 8405 of file il.h.

8405{ return false; }

◆ NumberOfInputsConsumedBeforeCall()

virtual intptr_t dart::CloneContextInstr::NumberOfInputsConsumedBeforeCall ( ) const
inlinevirtual

Definition at line 8401 of file il.h.

8401 {
8402 return InputCount();
8403 }
virtual intptr_t InputCount() const
Definition il.h:2737

◆ token_pos()

virtual TokenPosition dart::CloneContextInstr::token_pos ( ) const
inlinevirtual

Definition at line 8384 of file il.h.

8384{ return token_pos_; }

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