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

#include <il.h>

Inheritance diagram for dart::GenericCheckBoundInstr:
dart::CheckBoundBaseInstr dart::TemplateDefinition< 2, NoThrow, Pure >

Public Member Functions

 GenericCheckBoundInstr (Value *length, Value *index, intptr_t deopt_id)
 
virtual bool AttributesEqual (const Instruction &other) const
 
virtual CompileType ComputeType () const
 
virtual bool RecomputeType ()
 
virtual intptr_t DeoptimizationTarget () const
 
virtual SpeculativeMode SpeculativeModeOfInput (intptr_t index) const
 
virtual Representation representation () const
 
virtual Representation RequiredInputRepresentation (intptr_t idx) const
 
virtual bool ComputeCanDeoptimize () const
 
virtual bool ComputeCanDeoptimizeAfterCall () const
 
virtual bool MayThrow () const
 
virtual bool UseSharedSlowPathStub (bool is_optimizing) const
 
- Public Member Functions inherited from dart::CheckBoundBaseInstr
 CheckBoundBaseInstr (Value *length, Value *index, intptr_t deopt_id)
 
Valuelength () const
 
Valueindex () const
 
virtual DefinitionCanonicalize (FlowGraph *flow_graph)
 
 DECLARE_ABSTRACT_INSTRUCTION (CheckBoundBase)
 
virtual ValueRedefinedValue () const
 
bool IsRedundant (bool use_loops=false)
 
- Public Member Functions inherited from dart::TemplateDefinition< 2, NoThrow, Pure >
 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
 

Static Public Member Functions

static bool UseUnboxedRepresentation ()
 

Additional Inherited Members

- Public Types inherited from dart::CheckBoundBaseInstr
enum  { kLengthPos = 0 , kIndexPos = 1 }
 
- Public Types inherited from dart::TemplateDefinition< 2, NoThrow, Pure >
using BaseClass = typename Pure< Definition, PureDefinition >::Base
 
- Protected Attributes inherited from dart::TemplateDefinition< 2, NoThrow, Pure >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 10806 of file il.h.

Constructor & Destructor Documentation

◆ GenericCheckBoundInstr()

dart::GenericCheckBoundInstr::GenericCheckBoundInstr ( Value length,
Value index,
intptr_t  deopt_id 
)
inline

Definition at line 10814 of file il.h.

10815 : CheckBoundBaseInstr(length, index, deopt_id) {}
CheckBoundBaseInstr(Value *length, Value *index, intptr_t deopt_id)
Definition il.h:10736
Value * index() const
Definition il.h:10743
Value * length() const
Definition il.h:10742

Member Function Documentation

◆ AttributesEqual()

virtual bool dart::GenericCheckBoundInstr::AttributesEqual ( const Instruction other) const
inlinevirtual

Definition at line 10817 of file il.h.

10817{ return true; }

◆ ComputeCanDeoptimize()

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

Definition at line 10841 of file il.h.

10841{ return false; }

◆ ComputeCanDeoptimizeAfterCall()

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

Definition at line 10842 of file il.h.

10842 {
10843 return !CompilerState::Current().is_aot();
10844 }
static CompilerState & Current()

◆ ComputeType()

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

Definition at line 1183 of file type_propagator.cc.

1183 {
1184 return *index()->Type();
1185}
CompileType * Type()

◆ DeoptimizationTarget()

virtual intptr_t dart::GenericCheckBoundInstr::DeoptimizationTarget ( ) const
inlinevirtual

Definition at line 10824 of file il.h.

10824{ return DeoptId::kNone; }
static constexpr intptr_t kNone
Definition deopt_id.h:27

◆ MayThrow()

virtual bool dart::GenericCheckBoundInstr::MayThrow ( ) const
inlinevirtual

Reimplemented from dart::TemplateDefinition< 2, NoThrow, Pure >.

Definition at line 10846 of file il.h.

10846{ return true; }

◆ RecomputeType()

bool dart::GenericCheckBoundInstr::RecomputeType ( )
virtual

Definition at line 1187 of file type_propagator.cc.

1187 {
1188 return UpdateType(ComputeType());
1189}
virtual CompileType ComputeType() const

◆ representation()

virtual Representation dart::GenericCheckBoundInstr::representation ( ) const
inlinevirtual

Definition at line 10830 of file il.h.

10830 {
10831 return UseUnboxedRepresentation() ? kUnboxedInt64 : kTagged;
10832 }
static bool UseUnboxedRepresentation()
Definition il.h:10810

◆ RequiredInputRepresentation()

virtual Representation dart::GenericCheckBoundInstr::RequiredInputRepresentation ( intptr_t  idx) const
inlinevirtual

Definition at line 10834 of file il.h.

10834 {
10835 ASSERT(idx == kIndexPos || idx == kLengthPos);
10836 return UseUnboxedRepresentation() ? kUnboxedInt64 : kTagged;
10837 }
#define ASSERT(E)

◆ SpeculativeModeOfInput()

virtual SpeculativeMode dart::GenericCheckBoundInstr::SpeculativeModeOfInput ( intptr_t  index) const
inlinevirtual

Definition at line 10826 of file il.h.

10826 {
10827 return kNotSpeculative;
10828 }

◆ UseSharedSlowPathStub()

virtual bool dart::GenericCheckBoundInstr::UseSharedSlowPathStub ( bool  is_optimizing) const
inlinevirtual

Definition at line 10848 of file il.h.

10848 {
10849 return SlowPathSharingSupported(is_optimizing);
10850 }

◆ UseUnboxedRepresentation()

static bool dart::GenericCheckBoundInstr::UseUnboxedRepresentation ( )
inlinestatic

Definition at line 10810 of file il.h.

10810 {
10811 return compiler::target::kWordSize == 8;
10812 }

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