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

#include <il.h>

Inheritance diagram for dart::DoubleToIntegerInstr:
dart::TemplateDefinition< 1, Throws, Pure >

Public Member Functions

 DoubleToIntegerInstr (Value *value, MethodRecognizer::Kind recognized_kind, intptr_t deopt_id)
 
Valuevalue () const
 
MethodRecognizer::Kind recognized_kind () const
 
virtual CompileType ComputeType () const
 
virtual Representation RequiredInputRepresentation (intptr_t idx) const
 
virtual SpeculativeMode SpeculativeModeOfInput (intptr_t idx) const
 
virtual bool ComputeCanDeoptimize () const
 
virtual intptr_t DeoptimizationTarget () const
 
virtual bool HasUnknownSideEffects () const
 
virtual bool AttributesEqual (const Instruction &other) const
 
- Public Member Functions inherited from dart::TemplateDefinition< 1, Throws, 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, Throws, Pure >
using BaseClass = typename Pure< Definition, PureDefinition >::Base
 
- Protected Attributes inherited from dart::TemplateDefinition< 1, Throws, Pure >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 9998 of file il.h.

Constructor & Destructor Documentation

◆ DoubleToIntegerInstr()

dart::DoubleToIntegerInstr::DoubleToIntegerInstr ( Value value,
MethodRecognizer::Kind  recognized_kind,
intptr_t  deopt_id 
)
inline

Definition at line 10000 of file il.h.

10003 : TemplateDefinition(deopt_id), recognized_kind_(recognized_kind) {
10004 ASSERT((recognized_kind == MethodRecognizer::kDoubleToInteger) ||
10005 (recognized_kind == MethodRecognizer::kDoubleFloorToInt) ||
10006 (recognized_kind == MethodRecognizer::kDoubleCeilToInt));
10007 SetInputAt(0, value);
10008 }
MethodRecognizer::Kind recognized_kind() const
Definition il.h:10012
Value * value() const
Definition il.h:10010
TemplateDefinition(intptr_t deopt_id=DeoptId::kNone)
Definition il.h:2731
#define ASSERT(E)

Member Function Documentation

◆ AttributesEqual()

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

Definition at line 10035 of file il.h.

10035 {
10036 return other.AsDoubleToInteger()->recognized_kind() == recognized_kind();
10037 }

◆ ComputeCanDeoptimize()

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

Definition at line 10027 of file il.h.

10027 {
10028 return !CompilerState::Current().is_aot();
10029 }
static CompilerState & Current()

◆ ComputeType()

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

Definition at line 1775 of file type_propagator.cc.

1775 {
1776 return CompileType::Int();
1777}
static CompileType Int()

◆ DeoptimizationTarget()

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

Definition at line 10031 of file il.h.

10031{ return GetDeoptId(); }

◆ HasUnknownSideEffects()

virtual bool dart::DoubleToIntegerInstr::HasUnknownSideEffects ( ) const
inlinevirtual

Definition at line 10033 of file il.h.

10033{ return false; }

◆ recognized_kind()

MethodRecognizer::Kind dart::DoubleToIntegerInstr::recognized_kind ( ) const
inline

Definition at line 10012 of file il.h.

10012{ return recognized_kind_; }

◆ RequiredInputRepresentation()

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

Definition at line 10017 of file il.h.

10017 {
10018 ASSERT(idx == 0);
10019 return kUnboxedDouble;
10020 }

◆ SpeculativeModeOfInput()

virtual SpeculativeMode dart::DoubleToIntegerInstr::SpeculativeModeOfInput ( intptr_t  idx) const
inlinevirtual

Definition at line 10022 of file il.h.

10022 {
10023 ASSERT(idx == 0);
10024 return kNotSpeculative;
10025 }

◆ value()

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

Definition at line 10010 of file il.h.

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

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