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

#include <il.h>

Inheritance diagram for dart::ExtractNthOutputInstr:
dart::TemplateDefinition< 1, NoThrow, Pure >

Public Member Functions

 ExtractNthOutputInstr (Value *value, intptr_t n, Representation definition_rep, intptr_t definition_cid)
 
Valuevalue () const
 
virtual CompileType ComputeType () const
 
virtual bool ComputeCanDeoptimize () const
 
intptr_t index () const
 
virtual Representation representation () const
 
virtual Representation RequiredInputRepresentation (intptr_t idx) const
 
virtual bool AttributesEqual (const Instruction &other) const
 
- Public Member Functions inherited from dart::TemplateDefinition< 1, 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
 
virtual bool MayThrow () const
 

Additional Inherited Members

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

Detailed Description

Definition at line 10260 of file il.h.

Constructor & Destructor Documentation

◆ ExtractNthOutputInstr()

dart::ExtractNthOutputInstr::ExtractNthOutputInstr ( Value value,
intptr_t  n,
Representation  definition_rep,
intptr_t  definition_cid 
)
inline

Definition at line 10263 of file il.h.

10267 : index_(n),
10268 definition_rep_(definition_rep),
10269 definition_cid_(definition_cid) {
10270 SetInputAt(0, value);
10271 }
Value * value() const
Definition il.h:10273

Member Function Documentation

◆ AttributesEqual()

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

Definition at line 10294 of file il.h.

10294 {
10295 auto const other_extract = other.AsExtractNthOutput();
10296 return (other_extract->representation() == representation()) &&
10297 (other_extract->index() == index());
10298 }
virtual Representation representation() const
Definition il.h:10283
intptr_t index() const
Definition il.h:10281

◆ ComputeCanDeoptimize()

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

Definition at line 10279 of file il.h.

10279{ return false; }

◆ ComputeType()

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

Definition at line 1821 of file type_propagator.cc.

1821 {
1822 return CompileType::FromCid(definition_cid_);
1823}
static CompileType FromCid(intptr_t cid)

◆ index()

intptr_t dart::ExtractNthOutputInstr::index ( ) const
inline

Definition at line 10281 of file il.h.

10281{ return index_; }

◆ representation()

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

Definition at line 10283 of file il.h.

10283{ return definition_rep_; }

◆ RequiredInputRepresentation()

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

Definition at line 10285 of file il.h.

10285 {
10286 ASSERT(idx == 0);
10287 if (representation() == kTagged) {
10288 return kPairOfTagged;
10289 }
10290 UNREACHABLE();
10291 return definition_rep_;
10292 }
#define UNREACHABLE()
Definition assert.h:248
#define ASSERT(E)

◆ value()

Value * dart::ExtractNthOutputInstr::value ( ) const
inline

Definition at line 10273 of file il.h.

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

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