Flutter Engine
The Flutter Engine
|
#include <locations.h>
Public Types | |
enum | Kind : intptr_t { kInvalid = 0 , kConstantTag = 1 , kPairLocationTag = 2 , kUnallocated = 1 << 2 , kStackSlot = 2 << 2 , kDoubleStackSlot = 3 << 2 , kQuadStackSlot = 4 << 2 , kRegister = 5 << 2 , kFpuRegister = 6 << 2 } |
enum | Policy { kAny , kPrefersRegister , kRequiresRegister , kRequiresFpuRegister , kWritableRegister , kSameAsFirstInput , kRequiresStack } |
Public Member Functions | |
Location () | |
Location (const Location &other) | |
Location & | operator= (const Location &other) |
bool | IsInvalid () const |
bool | IsConstant () const |
intptr_t | pair_index () const |
ConstantInstr * | constant_instruction () const |
const Object & | constant () const |
bool | IsPairLocation () const |
PairLocation * | AsPairLocation () const |
Location | Component (intptr_t i) const |
bool | IsUnallocated () const |
bool | IsRegisterBeneficial () |
Policy | policy () const |
bool | IsRegister () const |
Register | reg () const |
bool | IsFpuRegister () const |
FpuRegister | fpu_reg () const |
bool | IsMachineRegister () const |
intptr_t | register_code () const |
bool | IsStackSlot () const |
bool | IsDoubleStackSlot () const |
bool | IsQuadStackSlot () const |
Register | base_reg () const |
intptr_t | stack_index () const |
bool | HasStackIndex () const |
intptr_t | ToStackSlotOffset () const |
Location | ToSpRelative (intptr_t fp_to_sp_delta) const |
Location | ToEntrySpRelative () const |
Location | ToCallerSpRelative () const |
const char * | Name () const |
void | PrintTo (BaseTextBuffer *f) const |
void | Print () const |
const char * | ToCString () const |
bool | Equals (Location other) const |
Kind | kind () const |
Location | Copy () const |
void | Write (FlowGraphSerializer *s) const |
Public Member Functions inherited from dart::ValueObject | |
ValueObject () | |
~ValueObject () | |
Static Public Member Functions | |
static Location | Constant (const ConstantInstr *obj, int pair_index=0) |
static Location | Pair (Location first, Location second) |
static Location | UnallocatedLocation (Policy policy) |
static Location | Any () |
static Location | RequiresStack () |
static Location | PrefersRegister () |
static Location | RequiresRegister () |
static Location | RequiresFpuRegister () |
static Location | WritableRegister () |
static Location | SameAsFirstInput () |
static Location | NoLocation () |
static Location | RegisterLocation (Register reg) |
static Location | FpuRegisterLocation (FpuRegister reg) |
static bool | IsMachineRegisterKind (Kind kind) |
static Location | MachineRegisterLocation (Kind kind, intptr_t reg) |
static uword | EncodeStackIndex (intptr_t stack_index) |
static Location | StackSlot (intptr_t stack_index, Register base) |
static Location | DoubleStackSlot (intptr_t stack_index, Register base) |
static Location | QuadStackSlot (intptr_t stack_index, Register base) |
static Location | Read (FlowGraphDeserializer *d) |
Definition at line 198 of file locations.h.
enum dart::Location::Kind : intptr_t |
Enumerator | |
---|---|
kInvalid | |
kConstantTag | |
kPairLocationTag | |
kUnallocated | |
kStackSlot | |
kDoubleStackSlot | |
kQuadStackSlot | |
kRegister | |
kFpuRegister |
Definition at line 219 of file locations.h.
Enumerator | |
---|---|
kAny | |
kPrefersRegister | |
kRequiresRegister | |
kRequiresFpuRegister | |
kWritableRegister | |
kSameAsFirstInput | |
kRequiresStack |
Definition at line 328 of file locations.h.
|
inline |
Definition at line 250 of file locations.h.
|
inline |
Definition at line 282 of file locations.h.
|
inlinestatic |
Definition at line 352 of file locations.h.
PairLocation * Location::AsPairLocation | ( | ) | const |
Definition at line 280 of file locations.cc.
|
inline |
Definition at line 480 of file locations.h.
Location Location::Component | ( | intptr_t | i | ) | const |
Definition at line 285 of file locations.cc.
const Object & Location::constant | ( | ) | const |
Definition at line 373 of file locations.cc.
|
inlinestatic |
Definition at line 294 of file locations.h.
|
inline |
Definition at line 309 of file locations.h.
Location Location::Copy | ( | ) | const |
Definition at line 468 of file locations.cc.
|
inlinestatic |
Definition at line 458 of file locations.h.
|
inlinestatic |
Definition at line 441 of file locations.h.
|
inline |
Definition at line 519 of file locations.h.
|
inline |
Definition at line 416 of file locations.h.
|
inlinestatic |
Definition at line 410 of file locations.h.
|
inline |
Definition at line 491 of file locations.h.
|
inline |
Definition at line 292 of file locations.h.
|
inline |
Definition at line 467 of file locations.h.
|
inline |
Definition at line 414 of file locations.h.
|
inline |
Definition at line 289 of file locations.h.
|
inline |
Definition at line 434 of file locations.h.
|
inlinestatic |
Definition at line 421 of file locations.h.
|
inline |
Definition at line 316 of file locations.h.
|
inline |
Definition at line 478 of file locations.h.
|
inline |
Definition at line 402 of file locations.h.
|
inline |
Definition at line 343 of file locations.h.
|
inline |
Definition at line 456 of file locations.h.
|
inline |
Definition at line 341 of file locations.h.
|
inline |
Definition at line 523 of file locations.h.
Definition at line 425 of file locations.h.
const char * Location::Name | ( | ) | const |
Definition at line 377 of file locations.cc.
|
inlinestatic |
Definition at line 387 of file locations.h.
Definition at line 284 of file locations.h.
Definition at line 271 of file locations.cc.
|
inline |
Definition at line 304 of file locations.h.
|
inline |
Definition at line 389 of file locations.h.
|
inlinestatic |
Definition at line 358 of file locations.h.
void Location::Print | ( | ) | const |
Definition at line 452 of file locations.cc.
void Location::PrintTo | ( | BaseTextBuffer * | f | ) | const |
Definition at line 420 of file locations.cc.
Definition at line 469 of file locations.h.
|
static |
Definition at line 1243 of file il_serializer.cc.
|
inline |
Definition at line 404 of file locations.h.
|
inline |
Definition at line 436 of file locations.h.
Definition at line 398 of file locations.h.
|
inlinestatic |
Definition at line 369 of file locations.h.
|
inlinestatic |
Definition at line 365 of file locations.h.
|
inlinestatic |
Definition at line 354 of file locations.h.
|
inlinestatic |
Definition at line 382 of file locations.h.
|
inline |
Definition at line 485 of file locations.h.
Definition at line 447 of file locations.h.
Location Location::ToCallerSpRelative | ( | ) | const |
Definition at line 265 of file locations.cc.
const char * Location::ToCString | ( | ) | const |
Definition at line 445 of file locations.cc.
Location Location::ToEntrySpRelative | ( | ) | const |
Definition at line 258 of file locations.cc.
Location Location::ToSpRelative | ( | intptr_t | fp_to_sp_delta | ) | const |
Definition at line 240 of file locations.cc.
intptr_t Location::ToStackSlotOffset | ( | ) | const |
Definition at line 369 of file locations.cc.
Definition at line 347 of file locations.h.
|
inlinestatic |
Definition at line 376 of file locations.h.
void Location::Write | ( | FlowGraphSerializer * | s | ) | const |
Definition at line 1229 of file il_serializer.cc.