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

#include <il.h>

Inheritance diagram for dart::DoubleTestOpInstr:
dart::TemplateComparison< 1, NoThrow, Pure >

Public Member Functions

 DoubleTestOpInstr (MethodRecognizer::Kind op_kind, Value *value, intptr_t deopt_id, const InstructionSource &source)
 
Valuevalue () const
 
MethodRecognizer::Kind op_kind () const
 
virtual bool ComputeCanDeoptimize () const
 
virtual Representation RequiredInputRepresentation (intptr_t idx) const
 
virtual PRINT_OPERANDS_TO_SUPPORT CompileType ComputeType () const
 
virtual DefinitionCanonicalize (FlowGraph *flow_graph)
 
virtual bool AttributesEqual (const Instruction &other) const
 
virtual ComparisonInstrCopyWithNewOperands (Value *left, Value *right)
 
- Public Member Functions inherited from dart::TemplateComparison< 1, NoThrow, Pure >
 TemplateComparison (const InstructionSource &source, Token::Kind kind, 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::TemplateComparison< 1, NoThrow, Pure >
using BaseClass = typename Pure< ComparisonInstr, PureComparison >::Base
 
- Protected Attributes inherited from dart::TemplateComparison< 1, NoThrow, Pure >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 9043 of file il.h.

Constructor & Destructor Documentation

◆ DoubleTestOpInstr()

dart::DoubleTestOpInstr::DoubleTestOpInstr ( MethodRecognizer::Kind  op_kind,
Value value,
intptr_t  deopt_id,
const InstructionSource source 
)
inline

Definition at line 9045 of file il.h.

9049 : TemplateComparison(source, Token::kEQ, deopt_id), op_kind_(op_kind) {
9050 SetInputAt(0, value);
9051 }
Value * value() const
Definition il.h:9053
MethodRecognizer::Kind op_kind() const
Definition il.h:9055
TemplateComparison(const InstructionSource &source, Token::Kind kind, intptr_t deopt_id=DeoptId::kNone)
Definition il.h:3935
SkBitmap source
Definition examples.cpp:28

Member Function Documentation

◆ AttributesEqual()

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

Definition at line 9072 of file il.h.

9072 {
9073 return op_kind_ == other.AsDoubleTestOp()->op_kind() &&
9075 }
virtual bool AttributesEqual(const Instruction &other) const
Definition il.h:3867

◆ Canonicalize()

Definition * dart::DoubleTestOpInstr::Canonicalize ( FlowGraph flow_graph)
virtual

Definition at line 2227 of file il.cc.

2227 {
2228 return HasUses() ? this : nullptr;
2229}

◆ ComputeCanDeoptimize()

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

Definition at line 9057 of file il.h.

9057{ return false; }

◆ ComputeType()

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

Definition at line 1779 of file type_propagator.cc.

1779 {
1780 return CompileType::FromCid(kBoolCid);
1781}
static CompileType FromCid(intptr_t cid)

◆ CopyWithNewOperands()

ComparisonInstr * dart::DoubleTestOpInstr::CopyWithNewOperands ( Value left,
Value right 
)
virtual

Definition at line 6552 of file il.cc.

6553 {
6554 UNREACHABLE();
6555 return nullptr;
6556}
#define UNREACHABLE()
Definition assert.h:248

◆ op_kind()

MethodRecognizer::Kind dart::DoubleTestOpInstr::op_kind ( ) const
inline

Definition at line 9055 of file il.h.

9055{ return op_kind_; }

◆ RequiredInputRepresentation()

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

Definition at line 9059 of file il.h.

9059 {
9060 ASSERT(idx == 0);
9061 return kUnboxedDouble;
9062 }
#define ASSERT(E)

◆ value()

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

Definition at line 9053 of file il.h.

9053{ return InputAt(0); }
virtual Value * InputAt(intptr_t i) const
Definition il.h:3941

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