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

#include <il.h>

Inheritance diagram for dart::CaseInsensitiveCompareInstr:
dart::TemplateDefinition< 4, NoThrow, Pure >

Public Member Functions

 CaseInsensitiveCompareInstr (Value *str, Value *lhs_index, Value *rhs_index, Value *length, bool handle_surrogates, intptr_t cid)
 
Valuestr () const
 
Valuelhs_index () const
 
Valuerhs_index () const
 
Valuelength () const
 
const RuntimeEntryTargetFunction () const
 
intptr_t class_id () const
 
intptr_t index_scale () const
 
virtual bool ComputeCanDeoptimize () const
 
virtual Representation representation () const
 
virtual CompileType ComputeType () const
 
virtual bool AttributesEqual (const Instruction &other) const
 
- Public Member Functions inherited from dart::TemplateDefinition< 4, 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< 4, NoThrow, Pure >
using BaseClass = typename Pure< Definition, PureDefinition >::Base
 
- Protected Attributes inherited from dart::TemplateDefinition< 4, NoThrow, Pure >
EmbeddedArray< Value *, Ninputs_
 

Detailed Description

Definition at line 8847 of file il.h.

Constructor & Destructor Documentation

◆ CaseInsensitiveCompareInstr()

dart::CaseInsensitiveCompareInstr::CaseInsensitiveCompareInstr ( Value str,
Value lhs_index,
Value rhs_index,
Value length,
bool  handle_surrogates,
intptr_t  cid 
)
inline

Definition at line 8850 of file il.h.

8856 : handle_surrogates_(handle_surrogates), cid_(cid) {
8857 ASSERT(cid == kTwoByteStringCid);
8858 ASSERT(index_scale() == 2);
8859 SetInputAt(0, str);
8860 SetInputAt(1, lhs_index);
8861 SetInputAt(2, rhs_index);
8862 SetInputAt(3, length);
8863 }
Value * rhs_index() const
Definition il.h:8867
Value * lhs_index() const
Definition il.h:8866
intptr_t index_scale() const
Definition il.h:8873
#define ASSERT(E)
const intptr_t cid

Member Function Documentation

◆ AttributesEqual()

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

Definition at line 8884 of file il.h.

8884 {
8885 const auto* other_compare = other.AsCaseInsensitiveCompare();
8886 return (other_compare->handle_surrogates_ == handle_surrogates_) &&
8887 (other_compare->cid_ == cid_);
8888 }

◆ class_id()

intptr_t dart::CaseInsensitiveCompareInstr::class_id ( ) const
inline

Definition at line 8871 of file il.h.

8871{ return cid_; }

◆ ComputeCanDeoptimize()

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

Definition at line 8877 of file il.h.

8877{ return false; }

◆ ComputeType()

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

Definition at line 1799 of file type_propagator.cc.

1799 {
1800 return CompileType::FromCid(kBoolCid);
1801}
static CompileType FromCid(intptr_t cid)

◆ index_scale()

intptr_t dart::CaseInsensitiveCompareInstr::index_scale ( ) const
inline

Definition at line 8873 of file il.h.

8873 {
8874 return compiler::target::Instance::ElementSizeFor(cid_);
8875 }

◆ length()

Value * dart::CaseInsensitiveCompareInstr::length ( ) const
inline

Definition at line 8868 of file il.h.

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

◆ lhs_index()

Value * dart::CaseInsensitiveCompareInstr::lhs_index ( ) const
inline

Definition at line 8866 of file il.h.

8866{ return inputs_[1]; }

◆ representation()

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

Definition at line 8879 of file il.h.

8879{ return kTagged; }

◆ rhs_index()

Value * dart::CaseInsensitiveCompareInstr::rhs_index ( ) const
inline

Definition at line 8867 of file il.h.

8867{ return inputs_[2]; }

◆ str()

Value * dart::CaseInsensitiveCompareInstr::str ( ) const
inline

Definition at line 8865 of file il.h.

8865{ return inputs_[0]; }

◆ TargetFunction()

const RuntimeEntry & dart::CaseInsensitiveCompareInstr::TargetFunction ( ) const

Definition at line 1099 of file il.cc.

1099 {
1100 return handle_surrogates_ ? kCaseInsensitiveCompareUTF16RuntimeEntry
1101 : kCaseInsensitiveCompareUCS2RuntimeEntry;
1102}

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