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

#include <il.h>

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

Public Member Functions

 UnboxLaneInstr (Value *value, intptr_t n, Representation definition_rep, intptr_t definition_cid)
 
Valuevalue () const
 
virtual CompileType ComputeType () const
 
virtual bool ComputeCanDeoptimize () const
 
intptr_t lane () const
 
virtual Representation representation () const
 
virtual Representation RequiredInputRepresentation (intptr_t idx) const
 
virtual bool AttributesEqual (const Instruction &other) const
 
DefinitionCanonicalize (FlowGraph *flow_graph)
 
- 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 10343 of file il.h.

Constructor & Destructor Documentation

◆ UnboxLaneInstr()

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

Definition at line 10345 of file il.h.

10349 : lane_(n),
10350 definition_rep_(definition_rep),
10351 definition_cid_(definition_cid) {
10352 SetInputAt(0, value);
10353 }
Value * value() const
Definition il.h:10355

Member Function Documentation

◆ AttributesEqual()

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

Definition at line 10371 of file il.h.

10371 {
10372 auto const other_split = other.AsUnboxLane();
10373 return (other_split->representation() == representation()) &&
10374 (other_split->lane() == lane());
10375 }
intptr_t lane() const
Definition il.h:10362
virtual Representation representation() const
Definition il.h:10364

◆ Canonicalize()

Definition * dart::UnboxLaneInstr::Canonicalize ( FlowGraph flow_graph)

Definition at line 3234 of file il.cc.

3234 {
3235 if (!HasUses()) return NULL;
3236
3237 if (BoxLanesInstr* box = value()->definition()->AsBoxLanes()) {
3238 return box->InputAt(lane())->definition();
3239 }
3240
3241 return this;
3242}

◆ ComputeCanDeoptimize()

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

Definition at line 10360 of file il.h.

10360{ return false; }

◆ ComputeType()

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

Definition at line 1825 of file type_propagator.cc.

1825 {
1826 return CompileType::FromCid(definition_cid_);
1827}
static CompileType FromCid(intptr_t cid)

◆ lane()

intptr_t dart::UnboxLaneInstr::lane ( ) const
inline

Definition at line 10362 of file il.h.

10362{ return lane_; }

◆ representation()

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

Definition at line 10364 of file il.h.

10364{ return definition_rep_; }

◆ RequiredInputRepresentation()

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

Definition at line 10366 of file il.h.

10366 {
10367 ASSERT(idx == 0);
10368 return kTagged;
10369 }
#define ASSERT(E)

◆ value()

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

Definition at line 10355 of file il.h.

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

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