![]() |
Flutter Engine
The Flutter Engine
|
#include "vm/compiler/backend/il.h"
#include "platform/assert.h"
#include "platform/globals.h"
#include "vm/bit_vector.h"
#include "vm/bootstrap.h"
#include "vm/code_entry_kind.h"
#include "vm/compiler/aot/dispatch_table_generator.h"
#include "vm/compiler/assembler/object_pool_builder.h"
#include "vm/compiler/backend/code_statistics.h"
#include "vm/compiler/backend/constant_propagator.h"
#include "vm/compiler/backend/evaluator.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/linearscan.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/locations_helpers.h"
#include "vm/compiler/backend/loops.h"
#include "vm/compiler/backend/parallel_move_resolver.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/ffi/frame_rebase.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/frontend/flow_graph_builder.h"
#include "vm/compiler/frontend/kernel_translation_helper.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/compiler/method_recognizer.h"
#include "vm/compiler/runtime_api.h"
#include "vm/constants.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/object.h"
#include "vm/object_store.h"
#include "vm/os.h"
#include "vm/regexp_assembler_ir.h"
#include "vm/resolver.h"
#include "vm/runtime_entry.h"
#include "vm/scopes.h"
#include "vm/stack_frame.h"
#include "vm/stub_code.h"
#include "vm/symbols.h"
#include "vm/type_testing_stubs.h"
#include "vm/compiler/backend/il_printer.h"
Go to the source code of this file.
Classes | |
class | dart::SubtypeFinder |
class | dart::CidCheckerForRanges |
struct | dart::SimdOpInfo |
Namespaces | |
namespace | dart |
Macros | |
#define | FOR_EACH_NON_INT_BOXED_REPRESENTATION(M) |
#define | BOXING_IN_SET_CASE(unboxed, boxed) |
#define | BOXING_VALUE_OFFSET_CASE(unboxed, boxed) |
#define | BOXING_CID_CASE(unboxed, boxed) |
#define | KIND_CASE(name) |
#define | KIND_CASE(name) |
#define | DEFINE_ACCEPT(ShortName, Attrs) |
#define | INSTR_ATTRS(type, attrs) InstrAttrs::attrs, |
#define | __ compiler->assembler()-> |
#define | Z zone_ |
#define | R(r) (1 << r) |
#define | CASE_METHOD(Arity, Mask, Name, ...) |
#define | CASE_BINARY_OP(Arity, Mask, Name, Args, Result) |
#define | REP(T) (SimdRepresentation(kUnboxed##T)) |
#define | ENCODE_INPUTS_0() |
#define | ENCODE_INPUTS_1(In0) REP(In0) |
#define | ENCODE_INPUTS_2(In0, In1) REP(In0), REP(In1) |
#define | ENCODE_INPUTS_3(In0, In1, In2) REP(In0), REP(In1), REP(In2) |
#define | ENCODE_INPUTS_4(In0, In1, In2, In3) REP(In0), REP(In1), REP(In2), REP(In3) |
#define | HAS_MASK true |
#define | HAS__ false |
#define | CASE(Arity, Mask, Name, Args, Result) {Arity, HAS_##Mask, REP(Result), {PP_APPLY(ENCODE_INPUTS_##Arity, Args)}}, |
Functions | |
dart::DEFINE_FLAG (bool, propagate_ic_data, true, "Propagate IC data from unoptimized to optimized IC calls.") | |
dart::DEFINE_FLAG (bool, two_args_smi_icd, true, "Generate special IC stubs for two args Smi operations") | |
dart::DECLARE_FLAG (bool, inline_alloc) | |
dart::DECLARE_FLAG (bool, use_slow_path) | |
static int | dart::OrderById (CidRange *const *a, CidRange *const *b) |
static int | dart::OrderByFrequencyThenId (CidRange *const *a, CidRange *const *b) |
static intptr_t | dart::Usage (Thread *thread, const Function &function) |
static bool | dart::IsMarked (BlockEntryInstr *block, GrowableArray< BlockEntryInstr * > *preorder) |
static intptr_t | dart::RepresentationBits (Representation r) |
static int64_t | dart::RepresentationMask (Representation r) |
static Definition * | dart::CanonicalizeCommutativeDoubleArithmetic (Token::Kind op, Value *left, Value *right) |
static bool | dart::IsCommutative (Token::Kind op) |
static bool | dart::IsFpCompare (ComparisonInstr *comp) |
static bool | dart::MayBeBoxableNumber (intptr_t cid) |
static bool | dart::MayBeNumber (CompileType *type) |
static Definition * | dart::CanonicalizeStrictCompare (StrictCompareInstr *compare, bool *negated, bool is_branch) |
static bool | dart::BindsToGivenConstant (Value *v, intptr_t expected) |
static bool | dart::RecognizeTestPattern (Value *left, Value *right, bool *negate) |
static bool | dart::IsSingleUseUnboxOrConstant (Value *use) |
static CodePtr | dart::TwoArgsSmiOpInlineCacheEntry (Token::Kind kind) |
static FunctionPtr | dart::FindBinarySmiOp (Zone *zone, const String &name) |
static const String & | dart::EvaluateToString (Zone *zone, Definition *defn) |
static Definition * | dart::CanonicalizeStringInterpolate (StaticCallInstr *call, FlowGraph *flow_graph) |
static Definition * | dart::CanonicalizeStringInterpolateSingle (StaticCallInstr *call, FlowGraph *flow_graph) |
static bool | dart::AllInputsAreRedefinitions (PhiInstr *phi) |
static AlignmentType | dart::StrengthenAlignment (intptr_t cid, AlignmentType alignment) |
dart::DEFINE_BACKEND (LoadThread,(Register out)) | |
static constexpr Representation | dart::SimdRepresentation (Representation rep) |
Variables | |
static const intptr_t | dart::kMaxElementSizeForEfficientCopy |
static const Representation | dart::kUnboxedBool = kTagged |
static const SimdOpInfo | dart::simd_op_information [] |
#define BOXING_CID_CASE | ( | unboxed, | |
boxed | |||
) |
#define BOXING_IN_SET_CASE | ( | unboxed, | |
boxed | |||
) |
#define BOXING_VALUE_OFFSET_CASE | ( | unboxed, | |
boxed | |||
) |
#define CASE | ( | Arity, | |
Mask, | |||
Name, | |||
Args, | |||
Result | |||
) | {Arity, HAS_##Mask, REP(Result), {PP_APPLY(ENCODE_INPUTS_##Arity, Args)}}, |
#define CASE_BINARY_OP | ( | Arity, | |
Mask, | |||
Name, | |||
Args, | |||
Result | |||
) |
#define CASE_METHOD | ( | Arity, | |
Mask, | |||
Name, | |||
... | |||
) |
#define DEFINE_ACCEPT | ( | ShortName, | |
Attrs | |||
) |
#define FOR_EACH_NON_INT_BOXED_REPRESENTATION | ( | M | ) |
#define INSTR_ATTRS | ( | type, | |
attrs | |||
) | InstrAttrs::attrs, |
#define R | ( | r | ) | (1 << r) |