Flutter Engine
The Flutter Engine
|
Namespaces | |
namespace | ffi |
namespace | target |
Classes | |
class | Address |
class | Arm64Encode |
class | ArmEncode |
class | AsmIntrinsifier |
class | Assembler |
class | AssemblerBase |
class | AssemblerBuffer |
class | AssemblerFixup |
class | BlockBuilder |
class | DispatchTableGenerator |
class | ExternalLabel |
class | FieldAddress |
class | GraphIntrinsifier |
class | Immediate |
struct | IntrinsicDesc |
class | Intrinsifier |
class | InvalidClass |
class | Label |
class | LeafRuntimeScope |
struct | LibraryIntrinsicsDesc |
class | MicroAssembler |
class | ObjectPoolBuilder |
struct | ObjectPoolBuilderEntry |
class | ObjIndexPair |
class | Operand |
class | PatchCodeWithHandle |
class | RuntimeEntry |
class | SelectorMap |
class | StackRegisterScope |
class | StubCodeCompiler |
struct | TableSelector |
class | UnresolvedPcRelativeCall |
Typedefs | |
using | ParameterInfoArray = GrowableArray< std::pair< Location, Representation > > |
using | UnresolvedPcRelativeCalls = GrowableArray< UnresolvedPcRelativeCall * > |
Enumerations | |
enum | { H = 1 << 5 , L = 1 << 20 , S = 1 << 20 , W = 1 << 21 , A = 1 << 21 , B = 1 << 22 , D = 1 << 22 , N = 1 << 22 , U = 1 << 23 , P = 1 << 24 , I = 1 << 25 , B0 = 1 , B1 = 1 << 1 , B2 = 1 << 2 , B3 = 1 << 3 , B4 = 1 << 4 , B5 = 1 << 5 , B6 = 1 << 6 , B7 = 1 << 7 , B8 = 1 << 8 , B9 = 1 << 9 , B10 = 1 << 10 , B11 = 1 << 11 , B12 = 1 << 12 , B13 = 1 << 13 , B14 = 1 << 14 , B15 = 1 << 15 , B16 = 1 << 16 , B17 = 1 << 17 , B18 = 1 << 18 , B19 = 1 << 19 , B20 = 1 << 20 , B21 = 1 << 21 , B22 = 1 << 22 , B23 = 1 << 23 , B24 = 1 << 24 , B25 = 1 << 25 , B26 = 1 << 26 , B27 = 1 << 27 } |
enum | OperandSize { kByte , kUnsignedByte , kTwoBytes , kUnsignedTwoBytes , kFourBytes , kUnsignedFourBytes , kEightBytes , kSWord , kDWord , kWordPair , kRegList , kQWord , kObjectBytes = kFourBytes } |
Functions | |
static int | Log2OperandSizeBytes (OperandSize os) |
static bool | IsSignedOperand (OperandSize os) |
static uword | NewContents (intptr_t capacity) |
ASSEMBLER_TEST_EXTERN (StoreIntoObject) | |
ASSEMBLER_TEST_GENERATE (InstantiateTypeArgumentsHashKeys, assembler) | |
void | EnterTestFrame (Assembler *assembler) |
void | LeaveTestFrame (Assembler *assembler) |
bool | IsSameObject (const Object &a, const Object &b) |
intptr_t | ComputeCallingConvention (Zone *zone, const Function &target, intptr_t argc, std::function< Representation(intptr_t)> argument_rep, bool should_assign_stack_locations, ParameterInfoArray *parameter_info) |
static void | EmitCodeFor (FlowGraphCompiler *compiler, FlowGraph *graph) |
static Representation | RepresentationForCid (intptr_t cid) |
static Definition * | PrepareIndexedOp (FlowGraph *flow_graph, BlockBuilder *builder, Definition *array, Definition *index, const Slot &length_field) |
static void | VerifyParameterIsBoxed (BlockBuilder *builder, intptr_t arg_index) |
static Definition * | CreateBoxedParameterIfNeeded (BlockBuilder *builder, Definition *value, Representation representation, intptr_t arg_index) |
static Definition * | CreateBoxedResultIfNeeded (BlockBuilder *builder, Definition *value, Representation representation) |
static Definition * | CreateUnboxedResultIfNeeded (BlockBuilder *builder, Definition *value) |
static bool | IntrinsifyArraySetIndexed (FlowGraph *flow_graph, intptr_t array_cid) |
static bool | BuildSimdOp (FlowGraph *flow_graph, intptr_t cid, Token::Kind kind) |
static bool | BuildFloat32x4Get (FlowGraph *flow_graph, MethodRecognizer::Kind kind) |
static bool | BuildLoadField (FlowGraph *flow_graph, const Slot &field) |
static bool | BuildUnarySmiOp (FlowGraph *flow_graph, Token::Kind op_kind) |
static bool | BuildBinarySmiOp (FlowGraph *flow_graph, Token::Kind op_kind) |
static Definition * | ConvertOrUnboxDoubleParameter (BlockBuilder *builder, Definition *value, intptr_t index, bool is_checked) |
bool | IsEqualType (const AbstractType &a, const AbstractType &b) |
bool | IsDoubleType (const AbstractType &type) |
bool | IsBoolType (const AbstractType &type) |
bool | IsSubtypeOfInt (const AbstractType &type) |
bool | IsSmiType (const AbstractType &type) |
bool | IsInOldSpace (const Object &obj) |
intptr_t | ObjectHash (const Object &obj) |
const char * | ObjectToCString (const Object &obj) |
void | SetToNull (Object *obj) |
Object & | NewZoneHandle (Zone *zone) |
Object & | NewZoneHandle (Zone *zone, const Object &obj) |
const Object & | NullObject () |
const Object & | SentinelObject () |
const Bool & | TrueObject () |
const Bool & | FalseObject () |
const Object & | EmptyTypeArguments () |
const Type & | DynamicType () |
const Type & | ObjectType () |
const Type & | VoidType () |
const Type & | IntType () |
const Class & | GrowableObjectArrayClass () |
const Class & | MintClass () |
const Class & | DoubleClass () |
const Class & | Float32x4Class () |
const Class & | Float64x2Class () |
const Class & | Int32x4Class () |
const Class & | ClosureClass () |
const Array & | ArgumentsDescriptorBoxed (intptr_t type_args_len, intptr_t num_arguments) |
bool | IsOriginalObject (const Object &object) |
const String & | AllocateString (const char *buffer) |
bool | HasIntegerValue (const dart::Object &object, int64_t *value) |
int32_t | CreateJitCookie () |
word | TypedDataElementSizeInBytes (classid_t cid) |
word | TypedDataMaxNewSpaceElements (classid_t cid) |
const Field & | LookupMathRandomStateFieldOffset () |
const Field & | LookupConvertUtf8DecoderScanFlagsField () |
word | LookupFieldOffsetInBytes (const Field &field) |
const Code & | StubCodeAllocateArray () |
const Code & | StubCodeSubtype2TestCache () |
const Code & | StubCodeSubtype3TestCache () |
const Code & | StubCodeSubtype4TestCache () |
const Code & | StubCodeSubtype6TestCache () |
const Code & | StubCodeSubtype7TestCache () |
void | BailoutWithBranchOffsetError () |
template<typename To , typename From > | |
const To & | CastHandle (const From &from) |
const Object & | ToObject (const Code &handle) |
const Object & | ToObject (const Function &handle) |
static void | BuildInstantiateTypeRuntimeCall (Assembler *assembler) |
static void | BuildInstantiateTypeParameterStub (Assembler *assembler, Nullability nullability, bool is_function_parameter) |
static void | EnsureIsTypeOrFunctionTypeOrTypeParameter (Assembler *assembler, Register type_reg, Register scratch_reg) |
static void | BuildTypeParameterTypeTestStub (Assembler *assembler, bool allow_null) |
static void | InvokeTypeCheckFromTypeTestStub (Assembler *assembler, TypeCheckMode mode) |
static void | GenerateBoxFpuValueStub (Assembler *assembler, const dart::Class &cls, const RuntimeEntry &runtime_entry, void(Assembler::*store_value)(FpuRegister, Register, int32_t)) |
static intptr_t | SuspendStateFpOffset () |
static void | CallDartCoreLibraryFunction (Assembler *assembler, intptr_t entry_point_offset_in_thread, intptr_t function_offset_in_object_store, bool uses_args_desc=false) |
static void | GenerateAllocateSuspendState (Assembler *assembler, Label *slow_case, Register result_reg, Register frame_size_reg, Register temp_reg) |
static void | GenerateSubtypeTestCacheLoopBody (Assembler *assembler, int n, Register null_reg, Register cache_entry_reg, Register instance_cid_or_sig_reg, Register instance_type_args_reg, Register parent_fun_type_args_reg, Register delayed_type_args_reg, Label *found, Label *not_found, Label *next_iteration) |
static void | GenerateSubtypeTestCacheHashSearch (Assembler *assembler, int n, Register null_reg, Register cache_entry_reg, Register instance_cid_or_sig_reg, Register instance_type_args_reg, Register parent_fun_type_args_reg, Register delayed_type_args_reg, Register cache_entry_end_reg, Register cache_contents_size_reg, Register probe_distance_reg, const StubCodeCompiler::STCSearchExitGenerator &gen_found, const StubCodeCompiler::STCSearchExitGenerator &gen_not_found) |
static void | GenerateSubtypeTestCacheLinearSearch (Assembler *assembler, int n, Register null_reg, Register cache_entry_reg, Register instance_cid_or_sig_reg, Register instance_type_args_reg, Register parent_fun_type_args_reg, Register delayed_type_args_reg, const StubCodeCompiler::STCSearchExitGenerator &gen_found, const StubCodeCompiler::STCSearchExitGenerator &gen_not_found) |
Variables | |
constexpr OperandSize | kWordBytes = kFourBytes |
static const IntrinsicDesc | core_intrinsics [] |
static const IntrinsicDesc | typed_data_intrinsics [] |
static const IntrinsicDesc | developer_intrinsics [] |
static const IntrinsicDesc | internal_intrinsics [] |
InvalidClass | kWordSize |
InvalidClass | kWordSizeLog2 |
InvalidClass | kBitsPerWord |
InvalidClass | kBitsPerWordLog2 |
InvalidClass | kWordMin |
InvalidClass | kWordMax |
InvalidClass | kUWordMax |
InvalidClass | kNewObjectAlignmentOffset |
InvalidClass | kOldObjectAlignmentOffset |
InvalidClass | kNewObjectBitPosition |
InvalidClass | kPageSize |
InvalidClass | kPageSizeInWords |
InvalidClass | kPageMask |
InvalidClass | kObjectAlignment |
InvalidClass | kObjectAlignmentLog2 |
InvalidClass | kObjectAlignmentMask |
InvalidClass | kSmiBits |
InvalidClass | kSmiMin |
InvalidClass | kSmiMax |
static constexpr intptr_t | kHostWordSize = dart::kWordSize |
static constexpr intptr_t | kHostWordSizeLog2 = dart::kWordSizeLog2 |
using dart::compiler::ParameterInfoArray = typedef GrowableArray<std::pair<Location, Representation> > |
Definition at line 26 of file dart_calling_conventions.h.
using dart::compiler::UnresolvedPcRelativeCalls = typedef GrowableArray<UnresolvedPcRelativeCall*> |
Definition at line 51 of file stub_code_compiler.h.
anonymous enum |
Enumerator | |
---|---|
H | |
L | |
S | |
W | |
A | |
B | |
D | |
N | |
U | |
P | |
I | |
B0 | |
B1 | |
B2 | |
B3 | |
B4 | |
B5 | |
B6 | |
B7 | |
B8 | |
B9 | |
B10 | |
B11 | |
B12 | |
B13 | |
B14 | |
B15 | |
B16 | |
B17 | |
B18 | |
B19 | |
B20 | |
B21 | |
B22 | |
B23 | |
B24 | |
B25 | |
B26 | |
B27 |
Definition at line 62 of file assembler_arm.h.
Enumerator | |
---|---|
kByte | |
kUnsignedByte | |
kTwoBytes | |
kUnsignedTwoBytes | |
kFourBytes | |
kUnsignedFourBytes | |
kEightBytes | |
kSWord | |
kDWord | |
kWordPair | |
kRegList | |
kQWord | |
kObjectBytes |
Definition at line 179 of file assembler_base.h.
const String & dart::compiler::AllocateString | ( | const char * | buffer | ) |
Definition at line 235 of file runtime_api.cc.
const Array & dart::compiler::ArgumentsDescriptorBoxed | ( | intptr_t | type_args_len, |
intptr_t | num_arguments | ||
) |
Definition at line 220 of file runtime_api.cc.
dart::compiler::ASSEMBLER_TEST_EXTERN | ( | StoreIntoObject | ) |
dart::compiler::ASSEMBLER_TEST_GENERATE | ( | InstantiateTypeArgumentsHashKeys | , |
assembler | |||
) |
Definition at line 73 of file assembler_test.cc.
DART_NORETURN void dart::compiler::BailoutWithBranchOffsetError | ( | ) |
Definition at line 328 of file runtime_api.cc.
|
static |
Definition at line 624 of file graph_intrinsifier.cc.
|
static |
Definition at line 399 of file graph_intrinsifier.cc.
|
static |
Definition at line 569 of file stub_code_compiler.cc.
|
static |
Definition at line 556 of file stub_code_compiler.cc.
Definition at line 443 of file graph_intrinsifier.cc.
|
static |
Definition at line 332 of file graph_intrinsifier.cc.
|
static |
Definition at line 959 of file stub_code_compiler.cc.
|
static |
Definition at line 601 of file graph_intrinsifier.cc.
|
static |
Definition at line 1771 of file stub_code_compiler.cc.
const To & dart::compiler::CastHandle | ( | const From & | from | ) |
Definition at line 127 of file runtime_api.h.
const Class & dart::compiler::ClosureClass | ( | ) |
Definition at line 215 of file runtime_api.cc.
intptr_t dart::compiler::ComputeCallingConvention | ( | Zone * | zone, |
const Function & | target, | ||
intptr_t | argc, | ||
std::function< Representation(intptr_t)> | argument_rep, | ||
bool | should_assign_stack_locations, | ||
ParameterInfoArray * | parameter_info | ||
) |
Definition at line 49 of file dart_calling_conventions.cc.
|
static |
Definition at line 683 of file graph_intrinsifier.cc.
|
static |
Definition at line 175 of file graph_intrinsifier.cc.
|
static |
Definition at line 188 of file graph_intrinsifier.cc.
int32_t dart::compiler::CreateJitCookie | ( | ) |
Definition at line 247 of file runtime_api.cc.
|
static |
Definition at line 206 of file graph_intrinsifier.cc.
const Class & dart::compiler::DoubleClass | ( | ) |
Definition at line 195 of file runtime_api.cc.
const Type & dart::compiler::DynamicType | ( | ) |
Definition at line 169 of file runtime_api.cc.
|
static |
Definition at line 43 of file graph_intrinsifier.cc.
const Object & dart::compiler::EmptyTypeArguments | ( | ) |
Definition at line 165 of file runtime_api.cc.
|
static |
Definition at line 667 of file stub_code_compiler.cc.
void dart::compiler::EnterTestFrame | ( | Assembler * | assembler | ) |
const Bool & dart::compiler::FalseObject | ( | ) |
Definition at line 161 of file runtime_api.cc.
const Class & dart::compiler::Float32x4Class | ( | ) |
Definition at line 200 of file runtime_api.cc.
const Class & dart::compiler::Float64x2Class | ( | ) |
Definition at line 205 of file runtime_api.cc.
|
static |
Definition at line 1804 of file stub_code_compiler.cc.
|
static |
Definition at line 1700 of file stub_code_compiler.cc.
|
static |
Definition at line 2768 of file stub_code_compiler.cc.
|
static |
Definition at line 3015 of file stub_code_compiler.cc.
|
static |
Definition at line 2606 of file stub_code_compiler.cc.
const Class & dart::compiler::GrowableObjectArrayClass | ( | ) |
Definition at line 185 of file runtime_api.cc.
bool dart::compiler::HasIntegerValue | ( | const dart::Object & | object, |
int64_t * | value | ||
) |
Definition at line 239 of file runtime_api.cc.
const Class & dart::compiler::Int32x4Class | ( | ) |
Definition at line 210 of file runtime_api.cc.
|
static |
Definition at line 218 of file graph_intrinsifier.cc.
const Type & dart::compiler::IntType | ( | ) |
Definition at line 181 of file runtime_api.cc.
|
static |
Definition at line 1007 of file stub_code_compiler.cc.
bool dart::compiler::IsBoolType | ( | const AbstractType & | type | ) |
Definition at line 75 of file runtime_api.cc.
bool dart::compiler::IsDoubleType | ( | const AbstractType & | type | ) |
Definition at line 71 of file runtime_api.cc.
bool dart::compiler::IsEqualType | ( | const AbstractType & | a, |
const AbstractType & | b | ||
) |
Definition at line 67 of file runtime_api.cc.
bool dart::compiler::IsInOldSpace | ( | const Object & | obj | ) |
Definition at line 101 of file runtime_api.cc.
bool dart::compiler::IsOriginalObject | ( | const Object & | object | ) |
Definition at line 226 of file runtime_api.cc.
|
inlinestatic |
Definition at line 59 of file assembler_arm64.h.
bool dart::compiler::IsSmiType | ( | const AbstractType & | type | ) |
Definition at line 84 of file runtime_api.cc.
bool dart::compiler::IsSubtypeOfInt | ( | const AbstractType & | type | ) |
void dart::compiler::LeaveTestFrame | ( | Assembler * | assembler | ) |
|
inlinestatic |
Definition at line 35 of file assembler_arm64.h.
const Field & dart::compiler::LookupConvertUtf8DecoderScanFlagsField | ( | ) |
Definition at line 271 of file runtime_api.cc.
Definition at line 284 of file runtime_api.cc.
const Field & dart::compiler::LookupMathRandomStateFieldOffset | ( | ) |
Definition at line 260 of file runtime_api.cc.
const Class & dart::compiler::MintClass | ( | ) |
Definition at line 190 of file runtime_api.cc.
|
static |
Definition at line 430 of file assembler_base.cc.
Definition at line 141 of file runtime_api.cc.
Definition at line 145 of file runtime_api.cc.
const Object & dart::compiler::NullObject | ( | ) |
Definition at line 149 of file runtime_api.cc.
intptr_t dart::compiler::ObjectHash | ( | const Object & | obj | ) |
Definition at line 105 of file runtime_api.cc.
const char * dart::compiler::ObjectToCString | ( | const Object & | obj | ) |
Definition at line 133 of file runtime_api.cc.
const Type & dart::compiler::ObjectType | ( | ) |
Definition at line 173 of file runtime_api.cc.
|
static |
Definition at line 152 of file graph_intrinsifier.cc.
|
static |
Definition at line 131 of file graph_intrinsifier.cc.
const Object & dart::compiler::SentinelObject | ( | ) |
Definition at line 153 of file runtime_api.cc.
void dart::compiler::SetToNull | ( | Object * | obj | ) |
Definition at line 137 of file runtime_api.cc.
const Code & dart::compiler::StubCodeAllocateArray | ( | ) |
Definition at line 294 of file runtime_api.cc.
const Code & dart::compiler::StubCodeSubtype2TestCache | ( | ) |
Definition at line 298 of file runtime_api.cc.
const Code & dart::compiler::StubCodeSubtype3TestCache | ( | ) |
Definition at line 302 of file runtime_api.cc.
const Code & dart::compiler::StubCodeSubtype4TestCache | ( | ) |
Definition at line 306 of file runtime_api.cc.
const Code & dart::compiler::StubCodeSubtype6TestCache | ( | ) |
Definition at line 310 of file runtime_api.cc.
const Code & dart::compiler::StubCodeSubtype7TestCache | ( | ) |
Definition at line 314 of file runtime_api.cc.
|
static |
Definition at line 1765 of file stub_code_compiler.cc.
Definition at line 173 of file runtime_api.h.
Definition at line 177 of file runtime_api.h.
const Bool & dart::compiler::TrueObject | ( | ) |
Definition at line 157 of file runtime_api.cc.
Definition at line 251 of file runtime_api.cc.
Definition at line 255 of file runtime_api.cc.
|
static |
Definition at line 167 of file graph_intrinsifier.cc.
const Type & dart::compiler::VoidType | ( | ) |
Definition at line 177 of file runtime_api.cc.
|
static |
Definition at line 92 of file intrinsifier.cc.
|
static |
Definition at line 104 of file intrinsifier.cc.
|
static |
Definition at line 109 of file intrinsifier.cc.
|
extern |
|
extern |
|
staticconstexpr |
Definition at line 90 of file runtime_api.h.
|
staticconstexpr |
Definition at line 91 of file runtime_api.h.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
constexpr |
Definition at line 208 of file assembler_base.h.
|
extern |
|
extern |
|
extern |
|
extern |
|
static |
Definition at line 99 of file intrinsifier.cc.