Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::compiler::ffi::BothNativeLocations Class Reference

#include <native_location.h>

Inheritance diagram for dart::compiler::ffi::BothNativeLocations:
dart::compiler::ffi::NativeLocation dart::ZoneAllocated

Public Member Functions

 BothNativeLocations (const NativeLocation &location0, const NativeLocation &location1)
 
virtual ~BothNativeLocations ()
 
virtual bool IsBoth () const
 
virtual void PrintTo (BaseTextBuffer *f) const
 
virtual NativeLocationWithOtherNativeType (Zone *zone, const NativeType &new_payload_type, const NativeType &new_container_type) const
 
virtual intptr_t StackTopInBytes () const
 
const NativeLocationlocation (intptr_t index) const
 
- Public Member Functions inherited from dart::compiler::ffi::NativeLocation
const NativeTypepayload_type () const
 
const NativeTypecontainer_type () const
 
virtual NativeLocationWithOtherNativeType (Zone *zone, const NativeType &new_payload_type, const NativeType &new_container_type) const =0
 
NativeLocationWidenTo4Bytes (Zone *zone) const
 
NativeLocationWidenTo8Bytes (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 NativeRegistersLocationAsRegisters () const
 
const NativeFpuRegistersLocationAsFpuRegisters () const
 
const NativeStackLocationAsStack () const
 
const MultipleNativeLocationsAsMultiple () const
 
const PointerToMemoryLocationAsPointerToMemory () const
 
const BothNativeLocationsAsBoth () const
 
virtual NativeLocationSplit (Zone *zone, intptr_t num_parts, intptr_t index) const
 
virtual intptr_t StackTopInBytes () const
 
virtual bool Equals (const NativeLocation &other) const
 
virtual ~NativeLocation ()
 
- Public Member Functions inherited from dart::ZoneAllocated
 ZoneAllocated ()
 
void * operator new (size_t size)
 
void * operator new (size_t size, Zone *zone)
 
void operator delete (void *pointer)
 

Additional Inherited Members

- Static Public Member Functions inherited from dart::compiler::ffi::NativeLocation
static bool LocationCanBeExpressed (Location loc, Representation rep)
 
static NativeLocationFromLocation (Zone *zone, Location loc, Representation rep)
 
static NativeLocationFromPairLocation (Zone *zone, Location loc, Representation rep, intptr_t index)
 
- Protected Member Functions inherited from dart::compiler::ffi::NativeLocation
 NativeLocation (const NativeType &payload_type, const NativeType &container_type)
 

Detailed Description

Definition at line 464 of file native_location.h.

Constructor & Destructor Documentation

◆ BothNativeLocations()

dart::compiler::ffi::BothNativeLocations::BothNativeLocations ( const NativeLocation location0,
const NativeLocation location1 
)
inline

Definition at line 466 of file native_location.h.

468 : NativeLocation(location0.payload_type(), location0.container_type()),
469 location0_(location0),
470 location1_(location1) {}
NativeLocation(const NativeType &payload_type, const NativeType &container_type)

◆ ~BothNativeLocations()

virtual dart::compiler::ffi::BothNativeLocations::~BothNativeLocations ( )
inlinevirtual

Definition at line 471 of file native_location.h.

471{}

Member Function Documentation

◆ IsBoth()

virtual bool dart::compiler::ffi::BothNativeLocations::IsBoth ( ) const
inlinevirtual

Reimplemented from dart::compiler::ffi::NativeLocation.

Definition at line 473 of file native_location.h.

473{ return true; }

◆ location()

const NativeLocation & dart::compiler::ffi::BothNativeLocations::location ( intptr_t  index) const
inline

Definition at line 489 of file native_location.h.

489 {
490 ASSERT(index == 0 || index == 1);
491 if (index == 0) {
492 return location0_;
493 }
494 return location1_;
495 }
#define ASSERT(E)

◆ PrintTo()

void dart::compiler::ffi::BothNativeLocations::PrintTo ( BaseTextBuffer f) const
virtual

Reimplemented from dart::compiler::ffi::NativeLocation.

Definition at line 365 of file native_location.cc.

365 {
366 f->Printf("B(");
367 location0_.PrintTo(f);
368 f->Printf(", ");
369 location1_.PrintTo(f);
370 f->Printf(")");
371}
virtual void PrintTo(BaseTextBuffer *f) const

◆ StackTopInBytes()

virtual intptr_t dart::compiler::ffi::BothNativeLocations::StackTopInBytes ( ) const
inlinevirtual

Reimplemented from dart::compiler::ffi::NativeLocation.

Definition at line 484 of file native_location.h.

484 {
485 // Only used with registers.
486 return 0;
487 }

◆ WithOtherNativeType()

virtual NativeLocation & dart::compiler::ffi::BothNativeLocations::WithOtherNativeType ( Zone zone,
const NativeType new_payload_type,
const NativeType new_container_type 
) const
inlinevirtual

Implements dart::compiler::ffi::NativeLocation.

Definition at line 477 of file native_location.h.

480 {
482 }
#define UNREACHABLE_THIS()
Definition: native_type.h:25

The documentation for this class was generated from the following files: