Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Typedefs | Enumerations
il.h File Reference
#include <memory>
#include <tuple>
#include <type_traits>
#include <utility>
#include "vm/allocation.h"
#include "vm/code_descriptors.h"
#include "vm/compiler/backend/compile_type.h"
#include "vm/compiler/backend/il_serializer.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/slot.h"
#include "vm/compiler/compiler_pass.h"
#include "vm/compiler/compiler_state.h"
#include "vm/compiler/ffi/marshaller.h"
#include "vm/compiler/ffi/native_calling_convention.h"
#include "vm/compiler/ffi/native_location.h"
#include "vm/compiler/ffi/native_type.h"
#include "vm/compiler/method_recognizer.h"
#include "vm/dart_entry.h"
#include "vm/flags.h"
#include "vm/growable_array.h"
#include "vm/native_entry.h"
#include "vm/object.h"
#include "vm/parser.h"
#include "vm/runtime_entry.h"
#include "vm/static_type_exactness_state.h"
#include "vm/token_position.h"

Go to the source code of this file.

Classes

class  dart::Value
 
class  dart::Value::Iterator
 
struct  dart::CidRange
 
struct  dart::CidRangeValue
 
class  dart::CidRangeVectorUtils
 
class  dart::HierarchyInfo
 
class  dart::EmbeddedArray< T, N >
 
class  dart::EmbeddedArray< T, 0 >
 
struct  dart::InstrAttrs
 
struct  dart::unwrap_enum< T, is_enum >
 
struct  dart::unwrap_enum< T, true >
 
struct  dart::unwrap_enum< T, false >
 
struct  dart::TargetInfo
 
class  dart::Cids
 
class  dart::CallTargets
 
class  dart::BinaryFeedback
 
class  dart::InstructionIndexedPropertyIterable< Trait >
 
struct  dart::InstructionIndexedPropertyIterable< Trait >::Iterator
 
class  dart::ValueListIterable
 
struct  dart::ValueListIterable::Iterator
 
class  dart::Instruction
 
struct  dart::Instruction::InputsTrait
 
struct  dart::Instruction::SuccessorsTrait
 
struct  dart::BranchLabels
 
class  dart::PureInstruction
 
struct  dart::Throws
 
struct  dart::NoThrow
 
struct  dart::Pure< DefaultBase, PureBase >
 
struct  dart::NoCSE< DefaultBase, PureBase >
 
class  dart::TemplateInstruction< N, ThrowsTrait, CSETrait >
 
class  dart::MoveOperands
 
class  dart::ParallelMoveInstr
 
class  dart::BlockEntryInstr
 
class  dart::BlockEntryInstr::InstructionsIterable
 
class  dart::ForwardInstructionIterator
 
class  dart::BackwardInstructionIterator
 
class  dart::BlockEntryWithInitialDefs
 
class  dart::GraphEntryInstr
 
class  dart::JoinEntryInstr
 
class  dart::PhiIterator
 
class  dart::TargetEntryInstr
 
class  dart::FunctionEntryInstr
 
class  dart::NativeEntryInstr
 
class  dart::OsrEntryInstr
 
class  dart::IndirectEntryInstr
 
class  dart::CatchBlockEntryInstr
 
class  dart::AliasIdentity
 
class  dart::Definition
 
class  dart::PureDefinition
 
class  dart::TemplateDefinition< N, ThrowsTrait, CSETrait >
 
class  dart::VariadicDefinition
 
class  dart::PhiInstr
 
class  dart::ParameterInstr
 
class  dart::NativeParameterInstr
 
class  dart::StoreIndexedUnsafeInstr
 
class  dart::LoadIndexedUnsafeInstr
 
class  dart::MemoryCopyInstr
 
class  dart::TailCallInstr
 
class  dart::MoveArgumentInstr
 
class  dart::ReturnBaseInstr
 
class  dart::DartReturnInstr
 
class  dart::NativeReturnInstr
 
class  dart::ThrowInstr
 
class  dart::ReThrowInstr
 
class  dart::StopInstr
 
class  dart::GotoInstr
 
class  dart::IndirectGotoInstr
 
class  dart::ComparisonInstr
 
class  dart::PureComparison
 
class  dart::TemplateComparison< N, ThrowsTrait, CSETrait >
 
class  dart::BranchInstr
 
class  dart::DeoptimizeInstr
 
class  dart::RedefinitionInstr
 
class  dart::ReachabilityFenceInstr
 
class  dart::ConstraintInstr
 
class  dart::ConstantInstr
 
class  dart::UnboxedConstantInstr
 
class  dart::AssertSubtypeInstr
 
class  dart::AssertAssignableInstr
 
class  dart::AssertBooleanInstr
 
struct  dart::ArgumentsInfo
 
class  dart::TemplateDartCall< kExtraInputs >
 
class  dart::ClosureCallInstr
 
class  dart::InstanceCallBaseInstr
 
class  dart::InstanceCallInstr
 
class  dart::PolymorphicInstanceCallInstr
 
class  dart::DispatchTableCallInstr
 
class  dart::StrictCompareInstr
 
class  dart::TestIntInstr
 
class  dart::TestCidsInstr
 
class  dart::TestRangeInstr
 
class  dart::EqualityCompareInstr
 
class  dart::RelationalOpInstr
 
class  dart::IfThenElseInstr
 
class  dart::StaticCallInstr
 
class  dart::CachableIdempotentCallInstr
 
class  dart::LoadLocalInstr
 
class  dart::DropTempsInstr
 
class  dart::MakeTempInstr
 
class  dart::StoreLocalInstr
 
class  dart::NativeCallInstr
 
class  dart::FfiCallInstr
 
class  dart::LeafRuntimeCallInstr
 
class  dart::DebugStepCheckInstr
 
class  dart::StoreFieldInstr
 
class  dart::GuardFieldInstr
 
class  dart::GuardFieldClassInstr
 
class  dart::GuardFieldLengthInstr
 
class  dart::GuardFieldTypeInstr
 
class  dart::TemplateLoadField< N >
 
class  dart::LoadStaticFieldInstr
 
class  dart::StoreStaticFieldInstr
 
class  dart::LoadIndexedInstr
 
class  dart::LoadCodeUnitsInstr
 
class  dart::OneByteStringFromCharCodeInstr
 
class  dart::StringToCharCodeInstr
 
class  dart::Utf8ScanInstr
 
class  dart::StoreIndexedInstr
 
class  dart::RecordCoverageInstr
 
class  dart::BooleanNegateInstr
 
class  dart::BoolToIntInstr
 
class  dart::IntToBoolInstr
 
class  dart::InstanceOfInstr
 
class  dart::AllocationInstr
 
class  dart::TemplateAllocation< N >
 
class  dart::AllocateObjectInstr
 
class  dart::AllocateClosureInstr
 
class  dart::AllocateUninitializedContextInstr
 
class  dart::AllocateRecordInstr
 
class  dart::AllocateSmallRecordInstr
 
class  dart::MaterializeObjectInstr
 
class  dart::ArrayAllocationInstr
 
class  dart::TemplateArrayAllocation< N >
 
class  dart::CreateArrayInstr
 
class  dart::AllocateTypedDataInstr
 
class  dart::LoadUntaggedInstr
 
class  dart::CalculateElementAddressInstr
 
class  dart::LoadClassIdInstr
 
class  dart::LoadFieldInstr
 
class  dart::InstantiateTypeInstr
 
class  dart::InstantiateTypeArgumentsInstr
 
class  dart::AllocateContextInstr
 
class  dart::CloneContextInstr
 
class  dart::CheckEitherNonSmiInstr
 
struct  dart::Boxing
 
class  dart::BoxInstr
 
class  dart::BoxIntegerInstr
 
class  dart::BoxSmallIntInstr
 
class  dart::BoxInteger32Instr
 
class  dart::BoxInt32Instr
 
class  dart::BoxUint32Instr
 
class  dart::BoxInt64Instr
 
class  dart::UnboxInstr
 
class  dart::UnboxIntegerInstr
 
class  dart::UnboxInteger32Instr
 
class  dart::UnboxUint32Instr
 
class  dart::UnboxInt32Instr
 
class  dart::UnboxInt64Instr
 
class  dart::CaseInsensitiveCompareInstr
 
class  dart::MathMinMaxInstr
 
class  dart::BinaryDoubleOpInstr
 
class  dart::DoubleTestOpInstr
 
class  dart::HashDoubleOpInstr
 
class  dart::HashIntegerOpInstr
 
class  dart::UnaryIntegerOpInstr
 
class  dart::UnarySmiOpInstr
 
class  dart::UnaryUint32OpInstr
 
class  dart::UnaryInt64OpInstr
 
class  dart::BinaryIntegerOpInstr
 
class  dart::BinarySmiOpInstr
 
class  dart::BinaryInt32OpInstr
 
class  dart::BinaryUint32OpInstr
 
class  dart::BinaryInt64OpInstr
 
class  dart::ShiftIntegerOpInstr
 
class  dart::ShiftInt64OpInstr
 
class  dart::SpeculativeShiftInt64OpInstr
 
class  dart::ShiftUint32OpInstr
 
class  dart::SpeculativeShiftUint32OpInstr
 
class  dart::UnaryDoubleOpInstr
 
class  dart::CheckStackOverflowInstr
 
class  dart::SmiToDoubleInstr
 
class  dart::Int32ToDoubleInstr
 
class  dart::Int64ToDoubleInstr
 
class  dart::DoubleToIntegerInstr
 
class  dart::DoubleToSmiInstr
 
class  dart::DoubleToFloatInstr
 
class  dart::FloatToDoubleInstr
 
class  dart::FloatCompareInstr
 
class  dart::InvokeMathCFunctionInstr
 
class  dart::ExtractNthOutputInstr
 
class  dart::MakePairInstr
 
class  dart::UnboxLaneInstr
 
class  dart::BoxLanesInstr
 
class  dart::TruncDivModInstr
 
class  dart::CheckClassInstr
 
class  dart::CheckSmiInstr
 
class  dart::CheckNullInstr
 
class  dart::CheckClassIdInstr
 
class  dart::CheckBoundBaseInstr
 
class  dart::CheckArrayBoundInstr
 
class  dart::GenericCheckBoundInstr
 
class  dart::CheckWritableInstr
 
class  dart::CheckConditionInstr
 
class  dart::IntConverterInstr
 
class  dart::BitCastInstr
 
class  dart::LoadThreadInstr
 
class  dart::SimdOpInstr
 
class  dart::Call1ArgStubInstr
 
class  dart::SuspendInstr
 
class  dart::Environment
 
class  dart::Environment::ShallowIterator
 
class  dart::Environment::DeepIterator
 
class  dart::InstructionVisitor
 
class  dart::FlowGraphVisitor
 

Namespaces

namespace  dart
 
namespace  dart::compiler
 

Macros

#define FOR_EACH_INSTRUCTION(M)
 
#define FOR_EACH_ABSTRACT_INSTRUCTION(M)
 
#define FORWARD_DECLARATION(type, attrs)   class type##Instr;
 
#define DEFINE_INSTRUCTION_TYPE_CHECK(type)
 
#define DECLARE_INSTRUCTION_NO_BACKEND(type)
 
#define DECLARE_INSTRUCTION_BACKEND()
 
#define DECLARE_INSTRUCTION(type)
 
#define DECLARE_ABSTRACT_INSTRUCTION(type)
 
#define DECLARE_COMPARISON_METHODS
 
#define DECLARE_COMPARISON_INSTRUCTION(type)
 
#define WRITE_INSTRUCTION_FIELD(type, name)
 
#define READ_INSTRUCTION_FIELD(type, name)
 
#define DECLARE_INSTRUCTION_FIELD(type, name)   type name;
 
#define DECLARE_INSTRUCTION_SERIALIZABLE_FIELDS(Instr, BaseClass, FieldList)
 
#define DECLARE_CUSTOM_SERIALIZATION(Instr)
 
#define DECLARE_EMPTY_SERIALIZATION(Instr, BaseClass)
 
#define DECLARE_EXTRA_SERIALIZATION
 
#define PRINT_TO_SUPPORT
 
#define PRINT_OPERANDS_TO_SUPPORT
 
#define PRINT_BLOCK_HEADER_TO_SUPPORT
 
#define DECLARE_ATTRIBUTE(Attribute)
 
#define DECLARE_ATTRIBUTES_NAMED(names, values)
 
#define DECLARE_TAG(type, attrs)   k##type,
 
#define DECLARE_INSTRUCTION_TYPE_CHECK(Name, Type)
 
#define INSTRUCTION_TYPE_CHECK(Name, Attrs)    DECLARE_INSTRUCTION_TYPE_CHECK(Name, Name##Instr)
 
#define FIELD_LIST(F)   F(ZoneGrowableArray<PhiInstr*>*, phis_)
 
#define FIELD_LIST(F)   F(double, edge_weight_)
 
#define FIELD_LIST(F)   F(const compiler::ffi::CallbackMarshaller&, marshaller_)
 
#define FIELD_LIST(F)   F(const intptr_t, indirect_id_)
 
#define FOR_EACH_ALIAS_IDENTITY_VALUE(V)
 
#define VALUE_CASE(name, val)
 
#define VALUE_DEFN(name, val)   k##name = val,
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const intptr_t, offset_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const Code&, code_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const compiler::ffi::CallbackMarshaller&, marshaller_)
 
#define FIELD_LIST(F)   F(const TokenPosition, token_pos_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const char*, message_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(ComparisonInstr*, comparison_)
 
#define FIELD_LIST(F)   F(const ICData::DeoptReasonId, deopt_reason_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(Range*, constraint_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const TokenPosition, token_pos_)
 
#define FOR_EACH_ASSERT_ASSIGNABLE_KIND(V)
 
#define KIND_DEFN(name)   k##name,
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const TokenPosition, token_pos_)
 
#define FIELD_LIST(F)   F(const Function&, target_function_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const Representation, representation_)
 
#define FIELD_LIST(F)   F(const ZoneGrowableArray<intptr_t>&, cid_results_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const SpeculativeMode, speculative_mode_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(ConstantInstr*, null_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const Field&, field_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const Field&, field_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const intptr_t, cid_)
 
#define FIELD_LIST(F)   F(const Slot&, scan_flags_field_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const intptr_t, num_context_variables_)
 
#define FIELD_LIST(F)   F(const RecordShape, shape_)
 
#define FIELD_LIST(F)   F(const RecordShape, shape_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const classid_t, class_id_)
 
#define FIELD_LIST(F)   F(const intptr_t, offset_)
 
#define FIELD_LIST(F)   F(const intptr_t, index_scale_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const ZoneGrowableArray<const Slot*>&, context_slots_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const Representation, from_representation_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(bool, is_truncating_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const MethodRecognizer::Kind, op_kind_)
 
#define FIELD_LIST(F)   F(const bool, smi_)
 
#define FIELD_LIST(F)   F(const Token::Kind, op_kind_)
 
#define FIELD_LIST(F)   F(const SpeculativeMode, speculative_mode_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(Range*, right_range_)
 
#define FIELD_LIST(F)   F(const SpeculativeMode, speculative_mode_)
 
#define FIELD_LIST(F)   F(Range*, shift_range_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const TokenPosition, token_pos_)
 
#define FIELD_LIST(F)   F(const SpeculativeMode, speculative_mode_)
 
#define FIELD_LIST(F)   F(MethodRecognizer::Kind, recognized_kind_)
 
#define FIELD_LIST(F)   F(const SpeculativeMode, speculative_mode_)
 
#define FIELD_LIST(F)   F(const Token::Kind, op_kind_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const Representation, from_representation_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(const TokenPosition, token_pos_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)   F(CidRangeValue, cids_)
 
#define FIELD_LIST(F)   F(bool, generalized_)
 
#define FIELD_LIST(F)   F(const Kind, kind_)
 
#define FIELD_LIST(F)   F(ComparisonInstr*, comparison_)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define SIMD_BINARY_OP(M, T, Name)   M(2, _, T##Name, (T, T), T)
 
#define SIMD_BINARY_FLOAT_OP_LIST(M, OP, T)
 
#define SIMD_BINARY_INTEGER_OP_LIST(M, OP, T)
 
#define SIMD_PER_COMPONENT_XYZW(M, Arity, Name, Inputs, Output)
 
#define SIMD_CONVERSION(M, FromType, ToType)    M(1, _, FromType##To##ToType, (FromType), ToType)
 
#define SIMD_OP_LIST(M, BINARY_OP)
 
#define DECLARE_ENUM(Arity, Mask, Name, ...)   k##Name,
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define FIELD_LIST(F)
 
#define DECLARE_VISIT_INSTRUCTION(ShortName, Attrs)    virtual void Visit##ShortName(ShortName##Instr* instr) {}
 
#define DEFINE_UNIMPLEMENTED_INSTRUCTION(Name)
 

Typedefs

typedef MallocGrowableArray< CidRangeValue > dart::CidRangeVector
 
template<typename T >
using dart::serializable_type_t = typename unwrap_enum< std::remove_cv_t< T >, std::is_enum< T >::value >::type
 
typedef GrowableArray< Value * > dart::InputsArray
 
typedef ZoneGrowableArray< MoveArgumentInstr * > dart::MoveArgumentsArray
 

Enumerations

enum class  dart::InnerPointerAccess { dart::kNotUntagged , dart::kMayBeInnerPointer , dart::kCannotBeInnerPointer }
 
enum  dart::StoreBarrierType { dart::kNoStoreBarrier , dart::kEmitStoreBarrier }
 
enum  dart::AlignmentType { dart::kUnalignedAccess , dart::kAlignedAccess }
 

Macro Definition Documentation

◆ DECLARE_ABSTRACT_INSTRUCTION

#define DECLARE_ABSTRACT_INSTRUCTION (   type)
Value:
/* Prevents allocating an instance of abstract instruction */ \
/* even if it has a concrete base class. */ \
virtual Tag tag() const = 0; \
DEFINE_INSTRUCTION_TYPE_CHECK(type)
GLenum type

Definition at line 602 of file il.h.

◆ DECLARE_ATTRIBUTE

#define DECLARE_ATTRIBUTE (   Attribute)

Definition at line 707 of file il.h.

◆ DECLARE_ATTRIBUTES_NAMED

#define DECLARE_ATTRIBUTES_NAMED (   names,
  values 
)

Definition at line 708 of file il.h.

◆ DECLARE_COMPARISON_INSTRUCTION

#define DECLARE_COMPARISON_INSTRUCTION (   type)
Value:
DECLARE_COMPARISON_METHODS
#define DECLARE_INSTRUCTION_NO_BACKEND(type)
Definition: il.h:584

Definition at line 614 of file il.h.

◆ DECLARE_COMPARISON_METHODS

#define DECLARE_COMPARISON_METHODS
Value:
virtual LocationSummary* MakeLocationSummary(Zone* zone, bool optimizing) \
const; \
virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler, \
BranchLabels labels);

Definition at line 608 of file il.h.

◆ DECLARE_CUSTOM_SERIALIZATION

#define DECLARE_CUSTOM_SERIALIZATION (   Instr)
Value:
public: \
virtual void WriteTo(FlowGraphSerializer* s); \
explicit Instr(FlowGraphDeserializer* d);
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
Definition: main.cc:19
struct MyStruct s

Definition at line 661 of file il.h.

◆ DECLARE_EMPTY_SERIALIZATION

#define DECLARE_EMPTY_SERIALIZATION (   Instr,
  BaseClass 
)
Value:
public: \
explicit Instr(FlowGraphDeserializer* d) : BaseClass(d) {}

Definition at line 666 of file il.h.

◆ DECLARE_ENUM

#define DECLARE_ENUM (   Arity,
  Mask,
  Name,
  ... 
)    k##Name,

Definition at line 11303 of file il.h.

◆ DECLARE_EXTRA_SERIALIZATION

#define DECLARE_EXTRA_SERIALIZATION
Value:
public: \
virtual void WriteExtra(FlowGraphSerializer* s); \
virtual void ReadExtra(FlowGraphDeserializer* d);

Definition at line 670 of file il.h.

◆ DECLARE_INSTRUCTION

#define DECLARE_INSTRUCTION (   type)
Value:
DECLARE_INSTRUCTION_BACKEND()

Definition at line 597 of file il.h.

◆ DECLARE_INSTRUCTION_BACKEND

#define DECLARE_INSTRUCTION_BACKEND ( )
Value:
virtual LocationSummary* MakeLocationSummary(Zone* zone, bool optimizing) \
const; \
virtual void EmitNativeCode(FlowGraphCompiler* compiler);

Definition at line 591 of file il.h.

◆ DECLARE_INSTRUCTION_FIELD

#define DECLARE_INSTRUCTION_FIELD (   type,
  name 
)    type name;

Definition at line 641 of file il.h.

◆ DECLARE_INSTRUCTION_NO_BACKEND

#define DECLARE_INSTRUCTION_NO_BACKEND (   type)
Value:
virtual Tag tag() const { \
return k##type; \
} \
virtual void Accept(InstructionVisitor* visitor); \
DEFINE_INSTRUCTION_TYPE_CHECK(type)

Definition at line 584 of file il.h.

◆ DECLARE_INSTRUCTION_SERIALIZABLE_FIELDS

#define DECLARE_INSTRUCTION_SERIALIZABLE_FIELDS (   Instr,
  BaseClass,
  FieldList 
)
Value:
public: \
virtual void WriteTo(FlowGraphSerializer* s) { \
BaseClass::WriteTo(s); \
} \
explicit Instr(FlowGraphDeserializer* d) \
: BaseClass(d) FieldList(READ_INSTRUCTION_FIELD) {} \
\
private: \
#define READ_INSTRUCTION_FIELD(type, name)
Definition: il.h:638
#define DECLARE_INSTRUCTION_FIELD(type, name)
Definition: il.h:641
#define WRITE_INSTRUCTION_FIELD(type, name)
Definition: il.h:635

Definition at line 649 of file il.h.

◆ DECLARE_INSTRUCTION_TYPE_CHECK

#define DECLARE_INSTRUCTION_TYPE_CHECK (   Name,
  Type 
)
Value:
bool Is##Name() const { return (As##Name() != nullptr); } \
Type* As##Name() { \
auto const_this = static_cast<const Instruction*>(this); \
return const_cast<Type*>(const_this->As##Name()); \
} \
virtual const Type* As##Name() const { return nullptr; }
ImplicitString Name
Definition: DMSrcSink.h:38

Definition at line 1161 of file il.h.

◆ DECLARE_TAG

#define DECLARE_TAG (   type,
  attrs 
)    k##type,

Definition at line 964 of file il.h.

◆ DECLARE_VISIT_INSTRUCTION

#define DECLARE_VISIT_INSTRUCTION (   ShortName,
  Attrs 
)     virtual void Visit##ShortName(ShortName##Instr* instr) {}

Definition at line 11827 of file il.h.

◆ DEFINE_INSTRUCTION_TYPE_CHECK

#define DEFINE_INSTRUCTION_TYPE_CHECK (   type)
Value:
virtual type##Instr* As##type() { \
return this; \
} \
virtual const type##Instr* As##type() const { \
return this; \
} \
virtual const char* DebugName() const { \
return #type; \
}

Definition at line 572 of file il.h.

◆ DEFINE_UNIMPLEMENTED_INSTRUCTION

#define DEFINE_UNIMPLEMENTED_INSTRUCTION (   Name)
Value:
LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \
UNIMPLEMENTED(); \
return nullptr; \
} \
void Name::EmitNativeCode(FlowGraphCompiler* compiler) { \
UNIMPLEMENTED(); \
}

Definition at line 11867 of file il.h.

◆ FIELD_LIST [1/112]

#define FIELD_LIST (   F)    F(ZoneGrowableArray<PhiInstr*>*, phis_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [2/112]

#define FIELD_LIST (   F)    F(double, edge_weight_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [3/112]

#define FIELD_LIST (   F)    F(const compiler::ffi::CallbackMarshaller&, marshaller_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [4/112]

#define FIELD_LIST (   F)    F(const intptr_t, indirect_id_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [5/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, env_index_) \
F(const intptr_t, param_index_) \
F(const Representation, representation_)
#define F(x)
Representation
Definition: locations.h:66

Definition at line 11531 of file il.h.

◆ FIELD_LIST [6/112]

#define FIELD_LIST (   F)
Value:
F(const compiler::ffi::CallbackMarshaller&, marshaller_) \
F(const intptr_t, def_index_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [7/112]

#define FIELD_LIST (   F)    F(const intptr_t, offset_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [8/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, offset_) \
F(const Representation, representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [9/112]

#define FIELD_LIST (   F)
Value:
F(const classid_t, src_cid_) \
F(const classid_t, dest_cid_) \
F(intptr_t, element_size_) \
F(bool, unboxed_inputs_) \
F(const bool, can_overlap_)
int32_t classid_t
Definition: globals.h:524

Definition at line 11531 of file il.h.

◆ FIELD_LIST [10/112]

#define FIELD_LIST (   F)    F(const Code&, code_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [11/112]

#define FIELD_LIST (   F)
Value:
F(const Representation, representation_) \
F(const bool, is_register_move_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [12/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const Representation, representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [13/112]

#define FIELD_LIST (   F)    F(const compiler::ffi::CallbackMarshaller&, marshaller_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [14/112]

#define FIELD_LIST (   F)    F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [15/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const intptr_t, catch_try_index_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [16/112]

#define FIELD_LIST (   F)    F(const char*, message_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [17/112]

#define FIELD_LIST (   F)
Value:
F(double, edge_weight_) \
/* Parallel move that will be used by linear scan register allocator to */ \
/* connect live ranges at the end of the block and resolve phis. */ \
F(ParallelMoveInstr*, parallel_move_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [18/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(Token::Kind, kind_) \
/* Set by optimizer. */ \
F(intptr_t, operation_cid_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [19/112]

#define FIELD_LIST (   F)    F(ComparisonInstr*, comparison_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [20/112]

#define FIELD_LIST (   F)    F(const ICData::DeoptReasonId, deopt_reason_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [21/112]

#define FIELD_LIST (   F)
Value:
F(CompileType*, constrained_type_) \
F(bool, inserted_by_constant_propagation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [22/112]

#define FIELD_LIST (   F)    F(Range*, constraint_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [23/112]

#define FIELD_LIST (   F)
Value:
F(const Object&, value_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [24/112]

#define FIELD_LIST (   F)    F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [25/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const String&, dst_name_) \
F(const Kind, kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [26/112]

#define FIELD_LIST (   F)    F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [27/112]

#define FIELD_LIST (   F)    F(const Function&, target_function_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [28/112]

#define FIELD_LIST (   F)
Value:
F(const ICData*, ic_data_) \
F(const String&, function_name_) \
/* Binary op, unary op, kGET or kILLEGAL. */ \
F(const Token::Kind, token_kind_) \
F(const Function&, interface_target_) \
F(const Function&, tearoff_interface_target_) \
/* Inferred result type. */ \
F(CompileType*, result_type_) \
F(bool, has_unique_selector_) \
F(Code::EntryKind, entry_kind_) \
F(bool, receiver_is_not_smi_) \
F(bool, is_call_on_this_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [29/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, checked_argument_count_) \
F(const AbstractType*, receivers_static_type_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [30/112]

#define FIELD_LIST (   F)
Value:
F(const CallTargets&, targets_) \
F(const bool, complete_) \
F(intptr_t, total_call_count_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [31/112]

#define FIELD_LIST (   F)
Value:
F(const Function&, interface_target_) \
F(const compiler::TableSelector*, selector_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [32/112]

#define FIELD_LIST (   F)
Value:
/* True if the comparison must check for double or Mint and */ \
/* use value comparison instead. */ \
F(bool, needs_number_check_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [33/112]

#define FIELD_LIST (   F)    F(const Representation, representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [34/112]

#define FIELD_LIST (   F)    F(const ZoneGrowableArray<intptr_t>&, cid_results_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [35/112]

#define FIELD_LIST (   F)
Value:
F(const uword, lower_) \
F(const uword, upper_) \
F(const Representation, value_representation_)
uintptr_t uword
Definition: globals.h:501

Definition at line 11531 of file il.h.

◆ FIELD_LIST [36/112]

#define FIELD_LIST (   F)
Value:
F(bool, null_aware_) \
F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [37/112]

#define FIELD_LIST (   F)    F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [38/112]

#define FIELD_LIST (   F)
Value:
F(ComparisonInstr*, comparison_) \
F(const intptr_t, if_true_) \
F(const intptr_t, if_false_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [39/112]

#define FIELD_LIST (   F)
Value:
F(const ICData*, ic_data_) \
F(const intptr_t, call_count_) \
F(const Function&, function_) \
F(const ICData::RebindRule, rebind_rule_) \
/* Known or inferred result type. */ \
F(CompileType*, result_type_) \
/* 'True' for recognized list constructors. */ \
F(bool, is_known_list_constructor_) \
F(Code::EntryKind, entry_kind_) \
F(AliasIdentity, identity_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [40/112]

#define FIELD_LIST (   F)
Value:
F(const Representation, representation_) \
F(const Function&, function_) \
F(AliasIdentity, identity_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [41/112]

#define FIELD_LIST (   F)
Value:
F(const LocalVariable&, local_) \
F(bool, is_last_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [42/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, num_temps_) \
F(const bool, has_input_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [43/112]

#define FIELD_LIST (   F)    F(ConstantInstr*, null_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [44/112]

#define FIELD_LIST (   F)
Value:
F(const LocalVariable&, local_) \
F(bool, is_dead_) \
F(bool, is_last_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [45/112]

#define FIELD_LIST (   F)
Value:
F(const String&, native_name_) \
F(const Function&, function_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [46/112]

#define FIELD_LIST (   F)
Value:
F(const compiler::ffi::CallMarshaller&, marshaller_) \
F(bool, is_leaf_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [47/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const UntaggedPcDescriptors::Kind, stub_kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [48/112]

#define FIELD_LIST (   F)
Value:
F(const Slot&, slot_) \
F(StoreBarrierType, emit_store_barrier_) \
F(compiler::Assembler::MemoryOrder, memory_order_) \
F(const TokenPosition, token_pos_) \
/* Marks initializing stores. E.g. in the constructor. */ \
F(const bool, is_initialization_) \
F(InnerPointerAccess, stores_inner_pointer_)
InnerPointerAccess
Definition: il.h:6295
StoreBarrierType
Definition: il.h:6301

Definition at line 11531 of file il.h.

◆ FIELD_LIST [49/112]

#define FIELD_LIST (   F)    F(const Field&, field_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [50/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const bool, throw_exception_on_initialization_) \
F(bool, calls_initializer_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [51/112]

#define FIELD_LIST (   F)    F(const Field&, field_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [52/112]

#define FIELD_LIST (   F)
Value:
F(const Field&, field_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [53/112]

#define FIELD_LIST (   F)
Value:
F(const bool, index_unboxed_) \
F(const intptr_t, index_scale_) \
F(const intptr_t, class_id_) \
F(const AlignmentType, alignment_) \
F(const TokenPosition, token_pos_) \
/* derived from call */ \
F(CompileType*, result_type_)
AlignmentType
Definition: il.h:6764

Definition at line 11531 of file il.h.

◆ FIELD_LIST [54/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, class_id_) \
F(const TokenPosition, token_pos_) \
F(const intptr_t, element_count_) \
F(Representation, representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [55/112]

#define FIELD_LIST (   F)    F(const intptr_t, cid_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [56/112]

#define FIELD_LIST (   F)    F(const Slot&, scan_flags_field_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [57/112]

#define FIELD_LIST (   F)
Value:
F(StoreBarrierType, emit_store_barrier_) \
F(const bool, index_unboxed_) \
F(const intptr_t, index_scale_) \
F(const intptr_t, class_id_) \
F(const AlignmentType, alignment_) \
F(const TokenPosition, token_pos_) \
F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [58/112]

#define FIELD_LIST (   F)
Value:
F(const Array&, coverage_array_) \
F(const intptr_t, coverage_index_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [59/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const AbstractType&, type_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [60/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(AliasIdentity, identity_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [61/112]

#define FIELD_LIST (   F)
Value:
F(const Class&, cls_) \
F(const bool, has_type_arguments_) \
F(const Slot*, type_arguments_slot_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [62/112]

#define FIELD_LIST (   F)
Value:
F(const bool, has_instantiator_type_args_) \
F(const bool, is_generic_) \
F(const bool, is_tear_off_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [63/112]

#define FIELD_LIST (   F)    F(const intptr_t, num_context_variables_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [64/112]

#define FIELD_LIST (   F)    F(const RecordShape, shape_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [65/112]

#define FIELD_LIST (   F)    F(const RecordShape, shape_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [66/112]

#define FIELD_LIST (   F)
Value:
F(const Class&, cls_) \
F(intptr_t, length_or_shape_) \
F(const ZoneGrowableArray<const Slot*>&, slots_) \
F(bool, registers_remapped_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [67/112]

#define FIELD_LIST (   F)    F(const classid_t, class_id_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [68/112]

#define FIELD_LIST (   F)    F(const intptr_t, offset_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [69/112]

#define FIELD_LIST (   F)    F(const intptr_t, index_scale_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [70/112]

#define FIELD_LIST (   F)
Value:
F(const Representation, representation_) \
F(const bool, input_can_be_smi_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [71/112]

#define FIELD_LIST (   F)
Value:
F(const Slot&, slot_) \
F(InnerPointerAccess, loads_inner_pointer_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [72/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const AbstractType&, type_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [73/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const Class&, instantiator_class_) \
F(const Function&, function_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [74/112]

#define FIELD_LIST (   F)    F(const ZoneGrowableArray<const Slot*>&, context_slots_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [75/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const ZoneGrowableArray<const Slot*>&, context_slots_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [76/112]

#define FIELD_LIST (   F)    F(const Representation, from_representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [77/112]

#define FIELD_LIST (   F)
Value:
F(const Representation, representation_) \
F(SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [78/112]

#define FIELD_LIST (   F)    F(bool, is_truncating_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [79/112]

#define FIELD_LIST (   F)
Value:
F(const bool, handle_surrogates_) \
F(const intptr_t, cid_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [80/112]

#define FIELD_LIST (   F)
Value:
F(const MethodRecognizer::Kind, op_kind_) \
F(const intptr_t, result_cid_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [81/112]

#define FIELD_LIST (   F)
Value:
F(const Token::Kind, op_kind_) \
F(const TokenPosition, token_pos_) \
F(const SpeculativeMode, speculative_mode_) \
F(const Representation, representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [82/112]

#define FIELD_LIST (   F)    F(const MethodRecognizer::Kind, op_kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [83/112]

#define FIELD_LIST (   F)    F(const bool, smi_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [84/112]

#define FIELD_LIST (   F)    F(const Token::Kind, op_kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [85/112]

#define FIELD_LIST (   F)    F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [86/112]

#define FIELD_LIST (   F)
Value:
F(const Token::Kind, op_kind_) \
F(bool, can_overflow_) \
F(bool, is_truncating_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [87/112]

#define FIELD_LIST (   F)    F(Range*, right_range_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [88/112]

#define FIELD_LIST (   F)    F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [89/112]

#define FIELD_LIST (   F)    F(Range*, shift_range_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [90/112]

#define FIELD_LIST (   F)
Value:
F(const Token::Kind, op_kind_) \
F(const SpeculativeMode, speculative_mode_) \
F(const Representation, representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [91/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const intptr_t, stack_depth_) \
F(const intptr_t, loop_depth_) \
F(const Kind, kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [92/112]

#define FIELD_LIST (   F)    F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [93/112]

#define FIELD_LIST (   F)    F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [94/112]

#define FIELD_LIST (   F)    F(MethodRecognizer::Kind, recognized_kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [95/112]

#define FIELD_LIST (   F)    F(const SpeculativeMode, speculative_mode_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [96/112]

#define FIELD_LIST (   F)    F(const Token::Kind, op_kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [97/112]

#define FIELD_LIST (   F)
Value:
F(const MethodRecognizer::Kind, recognized_kind_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [98/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, index_) \
F(const Representation, definition_rep_) \
F(const intptr_t, definition_cid_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [99/112]

#define FIELD_LIST (   F)
Value:
F(const intptr_t, lane_) \
F(const Representation, definition_rep_) \
F(const intptr_t, definition_cid_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [100/112]

#define FIELD_LIST (   F)    F(const Representation, from_representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [101/112]

#define FIELD_LIST (   F)
Value:
F(const Cids&, cids_) \
F(bool, is_bit_test_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [102/112]

#define FIELD_LIST (   F)    F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [103/112]

#define FIELD_LIST (   F)
Value:
F(const TokenPosition, token_pos_) \
F(const String&, function_name_) \
F(const ExceptionType, exception_type_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [104/112]

#define FIELD_LIST (   F)    F(CidRangeValue, cids_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [105/112]

#define FIELD_LIST (   F)    F(bool, generalized_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [106/112]

#define FIELD_LIST (   F)    F(const Kind, kind_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [107/112]

#define FIELD_LIST (   F)    F(ComparisonInstr*, comparison_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [108/112]

#define FIELD_LIST (   F)
Value:
F(const Representation, from_representation_) \
F(const Representation, to_representation_) \
F(bool, is_truncating_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [109/112]

#define FIELD_LIST (   F)
Value:
F(const Representation, from_representation_) \
F(const Representation, to_representation_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [110/112]

#define FIELD_LIST (   F)
Value:
F(const Kind, kind_) \
F(intptr_t, mask_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [111/112]

#define FIELD_LIST (   F)
Value:
F(const StubId, stub_id_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FIELD_LIST [112/112]

#define FIELD_LIST (   F)
Value:
F(StubId, stub_id_) \
F(const intptr_t, resume_deopt_id_) \
F(const TokenPosition, token_pos_)

Definition at line 11531 of file il.h.

◆ FOR_EACH_ABSTRACT_INSTRUCTION

#define FOR_EACH_ABSTRACT_INSTRUCTION (   M)
Value:
M(Allocation, _) \
M(ArrayAllocation, _) \
M(BinaryIntegerOp, _) \
M(BlockEntry, _) \
M(BoxInteger, _) \
M(CheckBoundBase, _) \
M(Comparison, _) \
M(InstanceCallBase, _) \
M(ReturnBase, _) \
M(ShiftIntegerOp, _) \
M(UnaryIntegerOp, _) \
M(UnboxInteger, _)
#define M(PROC, DITHER)

Definition at line 553 of file il.h.

◆ FOR_EACH_ALIAS_IDENTITY_VALUE

#define FOR_EACH_ALIAS_IDENTITY_VALUE (   V)
Value:
V(Unknown, 0) \
V(NotAliased, 1) \
V(Aliased, 2) \
V(AllocationSinkingCandidate, 3)
#define V(name)
Definition: raw_object.h:125

Definition at line 2431 of file il.h.

◆ FOR_EACH_ASSERT_ASSIGNABLE_KIND

#define FOR_EACH_ASSERT_ASSIGNABLE_KIND (   V)
Value:
V(ParameterCheck) \
V(InsertedByFrontend) \
V(FromSource) \
V(Unknown)

Definition at line 4376 of file il.h.

◆ FOR_EACH_INSTRUCTION

#define FOR_EACH_INSTRUCTION (   M)

Definition at line 405 of file il.h.

◆ FORWARD_DECLARATION

#define FORWARD_DECLARATION (   type,
  attrs 
)    class type##Instr;

Definition at line 567 of file il.h.

◆ INSTRUCTION_TYPE_CHECK

#define INSTRUCTION_TYPE_CHECK (   Name,
  Attrs 
)     DECLARE_INSTRUCTION_TYPE_CHECK(Name, Name##Instr)

Definition at line 1168 of file il.h.

◆ KIND_DEFN

#define KIND_DEFN (   name)    k##name,

Definition at line 4382 of file il.h.

◆ PRINT_BLOCK_HEADER_TO_SUPPORT

#define PRINT_BLOCK_HEADER_TO_SUPPORT

Definition at line 706 of file il.h.

◆ PRINT_OPERANDS_TO_SUPPORT

#define PRINT_OPERANDS_TO_SUPPORT

Definition at line 705 of file il.h.

◆ PRINT_TO_SUPPORT

#define PRINT_TO_SUPPORT

Definition at line 704 of file il.h.

◆ READ_INSTRUCTION_FIELD

#define READ_INSTRUCTION_FIELD (   type,
  name 
)
Value:
, name(static_cast<std::remove_cv_t<type>>( \
d->Read<serializable_type_t<type>>()))
DEF_SWITCHES_START aot vmservice shared library name
Definition: switches.h:32

Definition at line 638 of file il.h.

◆ SIMD_BINARY_FLOAT_OP_LIST

#define SIMD_BINARY_FLOAT_OP_LIST (   M,
  OP,
  T 
)
Value:
SIMD_BINARY_OP(OP, T, Add) \
SIMD_BINARY_OP(OP, T, Sub) \
SIMD_BINARY_OP(OP, T, Mul) \
SIMD_BINARY_OP(OP, T, Div) \
SIMD_BINARY_OP(M, T, Min) \
SIMD_BINARY_OP(M, T, Max)
#define SIMD_BINARY_OP(M, T, Name)
Definition: il.h:11210
static constexpr Color Min(Color c, float threshold)
Definition: color.cc:132
#define T
Definition: precompiler.cc:65

Definition at line 11214 of file il.h.

◆ SIMD_BINARY_INTEGER_OP_LIST

#define SIMD_BINARY_INTEGER_OP_LIST (   M,
  OP,
  T 
)
Value:
SIMD_BINARY_OP(OP, T, Add) \
SIMD_BINARY_OP(OP, T, Sub) \
SIMD_BINARY_OP(OP, T, BitAnd) \
SIMD_BINARY_OP(OP, T, BitOr) \
SIMD_BINARY_OP(OP, T, BitXor)

Definition at line 11224 of file il.h.

◆ SIMD_BINARY_OP

#define SIMD_BINARY_OP (   M,
  T,
  Name 
)    M(2, _, T##Name, (T, T), T)

Definition at line 11210 of file il.h.

◆ SIMD_CONVERSION

#define SIMD_CONVERSION (   M,
  FromType,
  ToType 
)     M(1, _, FromType##To##ToType, (FromType), ToType)

Definition at line 11239 of file il.h.

◆ SIMD_OP_LIST

#define SIMD_OP_LIST (   M,
  BINARY_OP 
)

Definition at line 11249 of file il.h.

◆ SIMD_PER_COMPONENT_XYZW

#define SIMD_PER_COMPONENT_XYZW (   M,
  Arity,
  Name,
  Inputs,
  Output 
)
Value:
M(Arity, _, Name##X, Inputs, Output) \
M(Arity, _, Name##Y, Inputs, Output) \
M(Arity, _, Name##Z, Inputs, Output) \
M(Arity, _, Name##W, Inputs, Output)
Output
Definition: SkSLBench.cpp:61
static const SkScalar Y
Definition: StrokeBench.cpp:55
static const SkScalar X
Definition: StrokeBench.cpp:54
#define W
Definition: aaa.cpp:17
#define Z

Definition at line 11232 of file il.h.

◆ VALUE_CASE

#define VALUE_CASE (   name,
  val 
)
Value:
case k##name: \
return #name;

◆ VALUE_DEFN

#define VALUE_DEFN (   name,
  val 
)    k##name = val,

Definition at line 2471 of file il.h.

◆ WRITE_INSTRUCTION_FIELD

#define WRITE_INSTRUCTION_FIELD (   type,
  name 
)
Value:
s->Write<serializable_type_t<type>>( \
static_cast<serializable_type_t<type>>(name));

Definition at line 635 of file il.h.