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

#include <il.h>

Inheritance diagram for dart::CheckEitherNonSmiInstr:
dart::TemplateInstruction< 2, NoThrow, Pure >

Public Member Functions

 CheckEitherNonSmiInstr (Value *left, Value *right, intptr_t deopt_id)
 
Valueleft () const
 
Valueright () const
 
virtual bool ComputeCanDeoptimize () const
 
virtual InstructionCanonicalize (FlowGraph *flow_graph)
 
virtual bool AttributesEqual (const Instruction &other) const
 
- Public Member Functions inherited from dart::TemplateInstruction< 2, NoThrow, Pure >
 TemplateInstruction (intptr_t deopt_id=DeoptId::kNone)
 
 TemplateInstruction (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::TemplateInstruction< 2, NoThrow, Pure >
using BaseClass = typename Pure< Instruction, PureInstruction >::Base
 
- Protected Attributes inherited from dart::TemplateInstruction< 2, NoThrow, Pure >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 8420 of file il.h.

Constructor & Destructor Documentation

◆ CheckEitherNonSmiInstr()

dart::CheckEitherNonSmiInstr::CheckEitherNonSmiInstr ( Value left,
Value right,
intptr_t  deopt_id 
)
inline

Definition at line 8422 of file il.h.

8423 : TemplateInstruction(deopt_id) {
8424 SetInputAt(0, left);
8425 SetInputAt(1, right);
8426 }
Value * right() const
Definition il.h:8429
Value * left() const
Definition il.h:8428
TemplateInstruction(intptr_t deopt_id=DeoptId::kNone)
Definition il.h:1501

Member Function Documentation

◆ AttributesEqual()

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

Definition at line 8437 of file il.h.

8437{ return true; }

◆ Canonicalize()

Instruction * dart::CheckEitherNonSmiInstr::Canonicalize ( FlowGraph flow_graph)
virtual

Definition at line 3990 of file il.cc.

3990 {
3991 if ((left()->Type()->ToCid() == kDoubleCid) ||
3992 (right()->Type()->ToCid() == kDoubleCid)) {
3993 return nullptr; // Remove from the graph.
3994 }
3995 return this;
3996}

◆ ComputeCanDeoptimize()

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

Definition at line 8433 of file il.h.

8433{ return true; }

◆ left()

Value * dart::CheckEitherNonSmiInstr::left ( ) const
inline

Definition at line 8428 of file il.h.

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

◆ right()

Value * dart::CheckEitherNonSmiInstr::right ( ) const
inline

Definition at line 8429 of file il.h.

8429{ return inputs_[1]; }

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