Flutter Engine
The Flutter Engine
|
#include <base_flow_graph_builder.h>
Static Public Member Functions | |
static const Field & | MayCloneField (Zone *zone, const Field &field) |
Protected Member Functions | |
intptr_t | AllocateBlockId () |
Fragment | RecordCoverageImpl (TokenPosition position, bool is_branch_coverage) |
intptr_t | GetCoverageIndexFor (intptr_t encoded_position) |
Protected Attributes | |
const ParsedFunction * | parsed_function_ |
const Function & | function_ |
Thread * | thread_ |
Zone * | zone_ |
intptr_t | osr_id_ |
ZoneGrowableArray< intptr_t > * | context_level_array_ |
intptr_t | context_depth_ |
intptr_t | last_used_block_id_ |
intptr_t | current_try_index_ |
intptr_t | next_used_try_index_ |
Value * | stack_ |
InlineExitCollector * | exit_collector_ |
const bool | inlining_unchecked_entry_ |
const Array & | saved_args_desc_array_ |
IntMap< intptr_t > | coverage_state_index_for_position_ |
Array & | coverage_array_ |
Friends | |
class | StreamingFlowGraphBuilder |
Definition at line 143 of file base_flow_graph_builder.h.
|
inline |
Definition at line 145 of file base_flow_graph_builder.h.
|
inlineprotected |
Definition at line 515 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::AllocateClosure | ( | TokenPosition | position, |
bool | has_instantiator_type_args, | ||
bool | is_generic, | ||
bool | is_tear_off | ||
) |
Definition at line 924 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::AllocateContext | ( | const ZoneGrowableArray< const Slot * > & | scope | ) |
Definition at line 916 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::AllocateObject | ( | TokenPosition | position, |
const Class & | klass, | ||
intptr_t | argument_count | ||
) |
Definition at line 1026 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::AllocateRecord | ( | TokenPosition | position, |
RecordShape | shape | ||
) |
Definition at line 949 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::AllocateSmallRecord | ( | TokenPosition | position, |
RecordShape | shape | ||
) |
Definition at line 957 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 358 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::AllocateTypedData | ( | TokenPosition | position, |
classid_t | class_id | ||
) |
Definition at line 971 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::AssertAssignable | ( | TokenPosition | position, |
const String & | dst_name, | ||
AssertAssignableInstr::Kind | kind = AssertAssignableInstr::kUnknown |
||
) |
Definition at line 1202 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::AssertBool | ( | TokenPosition | position | ) |
Definition at line 902 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BinaryIntegerOp | ( | Token::Kind | op, |
Representation | representation, | ||
bool | is_truncating = false |
||
) |
Definition at line 842 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BooleanNegate | ( | ) |
Definition at line 910 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::Box | ( | Representation | from | ) |
Definition at line 1037 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BranchIfEqual | ( | TargetEntryInstr ** | then_entry, |
TargetEntryInstr ** | otherwise_entry, | ||
bool | negate = false |
||
) |
Definition at line 181 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BranchIfNull | ( | TargetEntryInstr ** | then_entry, |
TargetEntryInstr ** | otherwise_entry, | ||
bool | negate = false |
||
) |
Definition at line 174 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BranchIfStrictEqual | ( | TargetEntryInstr ** | then_entry, |
TargetEntryInstr ** | otherwise_entry | ||
) |
Definition at line 195 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BranchIfTrue | ( | TargetEntryInstr ** | then_entry, |
TargetEntryInstr ** | otherwise_entry, | ||
bool | negate = false |
||
) |
Definition at line 167 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::BuildEntryPointsIntrospection | ( | ) |
Definition at line 1114 of file base_flow_graph_builder.cc.
FunctionEntryInstr * dart::kernel::BaseFlowGraphBuilder::BuildFunctionEntry | ( | GraphEntryInstr * | graph_entry | ) |
Definition at line 796 of file base_flow_graph_builder.cc.
IndirectEntryInstr * dart::kernel::BaseFlowGraphBuilder::BuildIndirectEntry | ( | intptr_t | indirect_id, |
intptr_t | try_index | ||
) |
Definition at line 812 of file base_flow_graph_builder.cc.
JoinEntryInstr * dart::kernel::BaseFlowGraphBuilder::BuildJoinEntry | ( | ) |
Definition at line 807 of file base_flow_graph_builder.cc.
JoinEntryInstr * dart::kernel::BaseFlowGraphBuilder::BuildJoinEntry | ( | intptr_t | try_index | ) |
Definition at line 802 of file base_flow_graph_builder.cc.
TargetEntryInstr * dart::kernel::BaseFlowGraphBuilder::BuildTargetEntry | ( | ) |
Definition at line 791 of file base_flow_graph_builder.cc.
JoinEntryInstr * dart::kernel::BaseFlowGraphBuilder::BuildThrowNoSuchMethod | ( | ) |
Definition at line 877 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::CalculateElementAddress | ( | intptr_t | index_scale | ) |
Definition at line 433 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::CheckNotDeeplyImmutable | ( | CheckWritableInstr::Kind | kind | ) |
Definition at line 1087 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::CheckNull | ( | TokenPosition | position, |
LocalVariable * | receiver, | ||
const String & | function_name | ||
) |
Definition at line 1059 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 433 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::CheckNullOptimized | ( | const String & | name, |
CheckNullInstr::ExceptionType | exception_type, | ||
TokenPosition | position = TokenPosition::kNoSource |
||
) |
Definition at line 1075 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::CheckStackOverflow | ( | TokenPosition | position, |
intptr_t | stack_depth, | ||
intptr_t | loop_depth | ||
) |
Definition at line 226 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::CheckStackOverflowInPrologue | ( | TokenPosition | position | ) |
Definition at line 234 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::ClosureCall | ( | const Function & | target_function, |
TokenPosition | position, | ||
intptr_t | type_args_len, | ||
intptr_t | argument_count, | ||
const Array & | argument_names, | ||
const InferredTypeMetadata * | result_type = nullptr |
||
) |
Definition at line 1166 of file base_flow_graph_builder.cc.
Definition at line 245 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::ConvertUnboxedToUntagged | ( | ) |
Definition at line 424 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::ConvertUntaggedToUnboxed | ( | ) |
Definition at line 415 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 173 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::CreateArray | ( | ) |
Definition at line 939 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 359 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::DebugStepCheck | ( | TokenPosition | position | ) |
Definition at line 1049 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::DoubleToFloat | ( | ) |
Definition at line 450 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::DoubleToInteger | ( | MethodRecognizer::Kind | recognized_kind | ) |
Definition at line 1245 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::Drop | ( | ) |
Definition at line 755 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::DropTemporary | ( | LocalVariable ** | temp | ) |
Definition at line 713 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::DropTempsPreserveTop | ( | intptr_t | num_temps_to_drop | ) |
Definition at line 771 of file base_flow_graph_builder.cc.
void dart::kernel::BaseFlowGraphBuilder::FinalizeCoverageArray | ( | ) |
Definition at line 1326 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::FloatToDouble | ( | ) |
Definition at line 443 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::GenericCheckBound | ( | ) |
Definition at line 400 of file base_flow_graph_builder.cc.
InputsArray dart::kernel::BaseFlowGraphBuilder::GetArguments | ( | int | count | ) |
Definition at line 819 of file base_flow_graph_builder.cc.
|
protected |
Definition at line 1285 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 348 of file base_flow_graph_builder.h.
|
inline |
Definition at line 404 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::Goto | ( | JoinEntryInstr * | destination | ) |
Definition at line 252 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::GuardFieldClass | ( | const Field & | field, |
intptr_t | deopt_id | ||
) |
Definition at line 502 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::GuardFieldLength | ( | const Field & | field, |
intptr_t | deopt_id | ||
) |
Definition at line 497 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 504 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::InitConstantParameters | ( | ) |
Definition at line 1219 of file base_flow_graph_builder.cc.
void dart::kernel::BaseFlowGraphBuilder::InlineBailout | ( | const char * | reason | ) |
Definition at line 290 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 401 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::InstantiateDynamicTypeArguments | ( | ) |
Definition at line 1007 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::InstantiateType | ( | const AbstractType & | type | ) |
Definition at line 980 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::InstantiateTypeArguments | ( | const TypeArguments & | type_arguments | ) |
Definition at line 990 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::IntConstant | ( | int64_t | value | ) |
Definition at line 256 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::InvokeMathCFunction | ( | MethodRecognizer::Kind | recognized_kind, |
intptr_t | num_inputs | ||
) |
Definition at line 1234 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 472 of file base_flow_graph_builder.h.
|
inline |
Definition at line 364 of file base_flow_graph_builder.h.
|
inline |
Definition at line 366 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadArgDescriptor | ( | ) |
Definition at line 297 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadClassId | ( | ) |
Definition at line 1020 of file base_flow_graph_builder.cc.
Definition at line 135 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadField | ( | const Field & | field, |
bool | calls_initializer | ||
) |
Definition at line 458 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadFpRelativeSlot | ( | intptr_t | offset, |
CompileType | result_type, | ||
Representation | representation = kTagged |
||
) |
Fragment dart::kernel::BaseFlowGraphBuilder::LoadIndexed | ( | classid_t | class_id, |
intptr_t | index_scale = compiler::target::kWordSize , |
||
bool | index_unboxed = false , |
||
AlignmentType | alignment = kAlignedAccess |
||
) |
Definition at line 383 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadLocal | ( | LocalVariable * | variable | ) |
Fragment dart::kernel::BaseFlowGraphBuilder::LoadNativeField | ( | const Slot & | native_field, |
bool | calls_initializer = false |
||
) |
Definition at line 475 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadNativeField | ( | const Slot & | native_field, |
InnerPointerAccess | loads_inner_pointer, | ||
bool | calls_initializer = false |
||
) |
Definition at line 464 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadStaticField | ( | const Field & | field, |
bool | calls_initializer | ||
) |
Definition at line 583 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::LoadUntagged | ( | intptr_t | offset | ) |
Fragment dart::kernel::BaseFlowGraphBuilder::MakeTemp | ( | ) |
Definition at line 785 of file base_flow_graph_builder.cc.
LocalVariable * dart::kernel::BaseFlowGraphBuilder::MakeTemporary | ( | const char * | suffix = nullptr | ) |
Definition at line 683 of file base_flow_graph_builder.cc.
|
static |
Definition at line 507 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::MemoryCopy | ( | classid_t | src_cid, |
classid_t | dest_cid, | ||
bool | unboxed_inputs, | ||
bool | can_overlap = true |
||
) |
Definition at line 270 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::NullConstant | ( | ) |
Definition at line 493 of file base_flow_graph_builder.cc.
Definition * dart::kernel::BaseFlowGraphBuilder::Peek | ( | intptr_t | depth = 0 | ) |
Definition at line 733 of file base_flow_graph_builder.cc.
Value * dart::kernel::BaseFlowGraphBuilder::Pop | ( | ) |
Definition at line 743 of file base_flow_graph_builder.cc.
void dart::kernel::BaseFlowGraphBuilder::Push | ( | Definition * | definition | ) |
Definition at line 728 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::ReachabilityFence | ( | ) |
Definition at line 601 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::RecordBranchCoverage | ( | TokenPosition | position | ) |
is_branch_coverage
Definition at line 1266 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::RecordCoverage | ( | TokenPosition | position | ) |
is_branch_coverage
Definition at line 1262 of file base_flow_graph_builder.cc.
|
protected |
Definition at line 1270 of file base_flow_graph_builder.cc.
void dart::kernel::BaseFlowGraphBuilder::RecordUncheckedEntryPoint | ( | GraphEntryInstr * | graph_entry, |
FunctionEntryInstr * | unchecked_entry | ||
) |
Definition at line 1095 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::RedefinitionWithType | ( | const AbstractType & | type | ) |
Definition at line 592 of file base_flow_graph_builder.cc.
void dart::kernel::BaseFlowGraphBuilder::reset_context_depth_for_deopt_id | ( | intptr_t | deopt_id | ) |
Definition at line 1190 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::Return | ( | TokenPosition | position | ) |
Definition at line 209 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 509 of file base_flow_graph_builder.h.
|
inline |
Definition at line 478 of file base_flow_graph_builder.h.
|
inline |
Definition at line 360 of file base_flow_graph_builder.h.
void dart::kernel::BaseFlowGraphBuilder::SetTempIndex | ( | Definition * | definition | ) |
Definition at line 723 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::SmiBinaryOp | ( | Token::Kind | op, |
bool | is_truncating = false |
||
) |
Definition at line 837 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::SmiRelationalOp | ( | Token::Kind | kind | ) |
Fragment dart::kernel::BaseFlowGraphBuilder::StoreField | ( | const Field & | field, |
StoreFieldInstr::Kind | kind = StoreFieldInstr::Kind::kOther , |
||
StoreBarrierType | emit_store_barrier = kEmitStoreBarrier |
||
) |
Definition at line 532 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreFieldGuarded | ( | const Field & | field, |
StoreFieldInstr::Kind | kind = StoreFieldInstr::Kind::kOther |
||
) |
Definition at line 541 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreFpRelativeSlot | ( | intptr_t | offset | ) |
Definition at line 628 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreIndexedTypedData | ( | classid_t | class_id, |
intptr_t | index_scale, | ||
bool | index_unboxed, | ||
AlignmentType | alignment = kAlignedAccess |
||
) |
Definition at line 643 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 200 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreLocal | ( | TokenPosition | position, |
LocalVariable * | variable | ||
) |
Definition at line 658 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreLocalRaw | ( | TokenPosition | position, |
LocalVariable * | variable | ||
) |
Definition at line 672 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 227 of file base_flow_graph_builder.h.
|
inline |
Definition at line 238 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreNativeField | ( | TokenPosition | position, |
const Slot & | slot, | ||
InnerPointerAccess | stores_inner_pointer, | ||
StoreFieldInstr::Kind | kind = StoreFieldInstr::Kind::kOther , |
||
StoreBarrierType | emit_store_barrier = kEmitStoreBarrier , |
||
compiler::Assembler::MemoryOrder | memory_order = compiler::Assembler::kRelaxedNonAtomic |
||
) |
Definition at line 517 of file base_flow_graph_builder.cc.
|
inline |
Definition at line 217 of file base_flow_graph_builder.h.
Fragment dart::kernel::BaseFlowGraphBuilder::StoreStaticField | ( | TokenPosition | position, |
const Field & | field | ||
) |
Definition at line 622 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::StrictCompare | ( | Token::Kind | kind, |
bool | number_check = false |
||
) |
Definition at line 157 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::StrictCompare | ( | TokenPosition | position, |
Token::Kind | kind, | ||
bool | number_check = false |
||
) |
Definition at line 145 of file base_flow_graph_builder.cc.
Definition at line 285 of file base_flow_graph_builder.cc.
Definition at line 362 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::TestDelayedTypeArgs | ( | LocalVariable * | closure, |
Fragment | present, | ||
Fragment | absent | ||
) |
Definition at line 339 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::TestTypeArgsLen | ( | Fragment | eq_branch, |
Fragment | neq_branch, | ||
intptr_t | num_type_args | ||
) |
Definition at line 309 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::ThrowException | ( | TokenPosition | position | ) |
Definition at line 889 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::UnaryDoubleOp | ( | Token::Kind | op | ) |
Definition at line 1254 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::UnboxedIntConstant | ( | int64_t | value, |
Representation | representation | ||
) |
Definition at line 261 of file base_flow_graph_builder.cc.
Fragment dart::kernel::BaseFlowGraphBuilder::Utf8Scan | ( | ) |
Definition at line 607 of file base_flow_graph_builder.cc.
|
friend |
Definition at line 543 of file base_flow_graph_builder.h.
|
protected |
Definition at line 526 of file base_flow_graph_builder.h.
|
protected |
Definition at line 525 of file base_flow_graph_builder.h.
|
protected |
Definition at line 541 of file base_flow_graph_builder.h.
|
protected |
Definition at line 540 of file base_flow_graph_builder.h.
|
protected |
Definition at line 529 of file base_flow_graph_builder.h.
|
protected |
Definition at line 533 of file base_flow_graph_builder.h.
|
protected |
Definition at line 520 of file base_flow_graph_builder.h.
|
protected |
Definition at line 535 of file base_flow_graph_builder.h.
|
protected |
Definition at line 527 of file base_flow_graph_builder.h.
|
protected |
Definition at line 530 of file base_flow_graph_builder.h.
|
protected |
Definition at line 523 of file base_flow_graph_builder.h.
|
protected |
Definition at line 519 of file base_flow_graph_builder.h.
|
protected |
Definition at line 536 of file base_flow_graph_builder.h.
|
protected |
Definition at line 532 of file base_flow_graph_builder.h.
|
protected |
Definition at line 521 of file base_flow_graph_builder.h.
|
protected |
Definition at line 522 of file base_flow_graph_builder.h.