#include <native_location.h>
|
| NativeStackLocation (const NativeType &payload_type, const NativeType &container_type, Register base_register, intptr_t offset_in_bytes) |
|
virtual | ~NativeStackLocation () |
|
virtual NativeStackLocation & | WithOtherNativeType (Zone *zone, const NativeType &new_payload_type, const NativeType &new_container_type) const |
|
virtual bool | IsStack () const |
|
virtual bool | IsExpressibleAsLocation () const |
|
virtual Location | AsLocation () const |
|
Location | AsDoubleStackSlotLocation () const |
|
virtual NativeStackLocation & | Split (Zone *zone, intptr_t num_parts, intptr_t index) const |
|
virtual intptr_t | StackTopInBytes () const |
|
virtual void | PrintTo (BaseTextBuffer *f) const |
|
virtual bool | Equals (const NativeLocation &other) const |
|
Register | base_register () const |
|
intptr_t | offset_in_bytes () const |
|
const NativeType & | payload_type () const |
|
const NativeType & | container_type () const |
|
virtual NativeLocation & | WithOtherNativeType (Zone *zone, const NativeType &new_payload_type, const NativeType &new_container_type) const =0 |
|
NativeLocation & | WidenTo4Bytes (Zone *zone) const |
|
NativeLocation & | WidenTo8Bytes (Zone *zone) const |
|
virtual bool | IsRegisters () const |
|
virtual bool | IsFpuRegisters () const |
|
virtual bool | IsStack () const |
|
virtual bool | IsMultiple () const |
|
virtual bool | IsPointerToMemory () const |
|
virtual bool | IsBoth () const |
|
virtual bool | IsExpressibleAsLocation () const |
|
virtual Location | AsLocation () const |
|
virtual void | PrintTo (BaseTextBuffer *f) const |
|
const char * | ToCString (Zone *zone) const |
|
const char * | ToCString () const |
|
const NativeRegistersLocation & | AsRegisters () const |
|
const NativeFpuRegistersLocation & | AsFpuRegisters () const |
|
const NativeStackLocation & | AsStack () const |
|
const MultipleNativeLocations & | AsMultiple () const |
|
const PointerToMemoryLocation & | AsPointerToMemory () const |
|
const BothNativeLocations & | AsBoth () const |
|
virtual NativeLocation & | Split (Zone *zone, intptr_t num_parts, intptr_t index) const |
|
virtual intptr_t | StackTopInBytes () const |
|
virtual bool | Equals (const NativeLocation &other) const |
|
virtual | ~NativeLocation () |
|
| ZoneAllocated () |
|
void * | operator new (size_t size) |
|
void * | operator new (size_t size, Zone *zone) |
|
void | operator delete (void *pointer) |
|
Definition at line 304 of file native_location.h.
◆ NativeStackLocation()
dart::compiler::ffi::NativeStackLocation::NativeStackLocation |
( |
const NativeType & |
payload_type, |
|
|
const NativeType & |
container_type, |
|
|
Register |
base_register, |
|
|
intptr_t |
offset_in_bytes |
|
) |
| |
|
inline |
Definition at line 306 of file native_location.h.
const NativeType & container_type() const
NativeLocation(const NativeType &payload_type, const NativeType &container_type)
const NativeType & payload_type() const
Register base_register() const
intptr_t offset_in_bytes() const
◆ ~NativeStackLocation()
virtual dart::compiler::ffi::NativeStackLocation::~NativeStackLocation |
( |
| ) |
|
|
inlinevirtual |
◆ AsDoubleStackSlotLocation()
Location dart::compiler::ffi::NativeStackLocation::AsDoubleStackSlotLocation |
( |
| ) |
const |
|
inline |
Definition at line 338 of file native_location.h.
338 {
341 }
static Location DoubleStackSlot(intptr_t stack_index, Register base)
static constexpr intptr_t kWordSize
◆ AsLocation()
Location dart::compiler::ffi::NativeStackLocation::AsLocation |
( |
| ) |
const |
|
virtual |
Reimplemented from dart::compiler::ffi::NativeLocation.
Definition at line 118 of file native_location.cc.
118 {
123 switch (size_slots) {
124 case 1:
126 case 2:
130 }
131 } else {
135 } else {
138 }
139 }
141}
static Location StackSlot(intptr_t stack_index, Register base)
static Location Pair(Location first, Location second)
virtual bool IsExpressibleAsLocation() const
virtual intptr_t SizeInBytes() const =0
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
#define UNREACHABLE_THIS()
◆ base_register()
Register dart::compiler::ffi::NativeStackLocation::base_register |
( |
| ) |
const |
|
inline |
◆ Equals()
bool dart::compiler::ffi::NativeStackLocation::Equals |
( |
const NativeLocation & |
other | ) |
const |
|
virtual |
Reimplemented from dart::compiler::ffi::NativeLocation.
Definition at line 248 of file native_location.cc.
248 {
249 if (!other.IsStack()) {
250 return false;
251 }
252 const auto& other_stack = other.AsStack();
253 if (other_stack.base_register_ != base_register_) {
254 return false;
255 }
256 return other_stack.offset_in_bytes_ == offset_in_bytes_;
257}
◆ IsExpressibleAsLocation()
virtual bool dart::compiler::ffi::NativeStackLocation::IsExpressibleAsLocation |
( |
| ) |
const |
|
inlinevirtual |
◆ IsStack()
virtual bool dart::compiler::ffi::NativeStackLocation::IsStack |
( |
| ) |
const |
|
inlinevirtual |
◆ offset_in_bytes()
intptr_t dart::compiler::ffi::NativeStackLocation::offset_in_bytes |
( |
| ) |
const |
|
inline |
◆ PrintTo()
void dart::compiler::ffi::NativeStackLocation::PrintTo |
( |
BaseTextBuffer * |
f | ) |
const |
|
virtual |
Reimplemented from dart::compiler::ffi::NativeLocation.
Definition at line 328 of file native_location.cc.
328 {
329 if (base_register_ !=
SPREG) {
331 offset_in_bytes_);
332 } else {
333 f->Printf(
"S+%" Pd, offset_in_bytes_);
334 }
336}
static const char * RegisterAbiName(Register reg)
static void PrintRepresentations(BaseTextBuffer *f, const NativeLocation &loc)
◆ Split()
NativeStackLocation & dart::compiler::ffi::NativeStackLocation::Split |
( |
Zone * |
zone, |
|
|
intptr_t |
num_parts, |
|
|
intptr_t |
index |
|
) |
| const |
|
virtual |
Reimplemented from dart::compiler::ffi::NativeLocation.
Definition at line 154 of file native_location.cc.
156 {
158
163 base_register_, offset_in_bytes_ +
size / num_parts * index);
164 } else {
165 const intptr_t size_rounded_up =
168
169
171 *new (zone) NativePrimitiveType(
173 *new (zone) NativePrimitiveType(
176 }
177}
static constexpr T RoundUp(T x, uintptr_t alignment, uintptr_t offset=0)
NativeStackLocation(const NativeType &payload_type, const NativeType &container_type, Register base_register, intptr_t offset_in_bytes)
virtual NativeType & Split(Zone *zone, intptr_t index) const
◆ StackTopInBytes()
virtual intptr_t dart::compiler::ffi::NativeStackLocation::StackTopInBytes |
( |
| ) |
const |
|
inlinevirtual |
◆ WithOtherNativeType()
The documentation for this class was generated from the following files: