Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Typedefs | Functions
tagged_pointer.h File Reference
#include <type_traits>
#include "platform/assert.h"
#include "platform/utils.h"
#include "vm/class_id.h"
#include "vm/globals.h"
#include "vm/pointer_tagging.h"

Go to the source code of this file.

Classes

class  dart::ObjectPtr
 
struct  dart::is_uncompressed_ptr< T, Enable >
 
struct  dart::is_uncompressed_ptr< T, typename std::enable_if< std::is_base_of< ObjectPtr, T >::value, void >::type >
 
struct  dart::is_compressed_ptr< T, Enable >
 
struct  dart::base_ptr_type< T, Enable >
 

Namespaces

namespace  dart
 

Macros

#define OBJECT_POINTER_CORE_FUNCTIONS(type, ptr)
 
#define DEFINE_IS_CID(clazz)    bool Is##clazz() const { return ((GetClassId() == k##clazz##Cid)); }
 
#define DEFINE_IS_CID(clazz)
 
#define DEFINE_IS_CID(clazz)    bool IsFfi##clazz() const { return ((GetClassId() == kFfi##clazz##Cid)); }
 
#define DEFINE_COMPRESSED_POINTER(klass, base)    typedef klass##Ptr Compressed##klass##Ptr;
 
#define DEFINE_TAGGED_POINTER(klass, base)
 

Typedefs

typedef ObjectPtr dart::CompressedObjectPtr
 

Functions

intptr_t dart::RawSmiValue (const SmiPtr raw_value)
 

Macro Definition Documentation

◆ DEFINE_COMPRESSED_POINTER

#define DEFINE_COMPRESSED_POINTER (   klass,
  base 
)     typedef klass##Ptr Compressed##klass##Ptr;

Definition at line 266 of file tagged_pointer.h.

◆ DEFINE_IS_CID [1/3]

#define DEFINE_IS_CID (   clazz)     bool Is##clazz() const { return ((GetClassId() == k##clazz##Cid)); }

Definition at line 130 of file tagged_pointer.h.

◆ DEFINE_IS_CID [2/3]

#define DEFINE_IS_CID (   clazz)
Value:
bool IsTypedData##clazz() const { \
return ((GetClassId() == kTypedData##clazz##Cid)); \
} \
bool IsTypedDataView##clazz() const { \
return ((GetClassId() == kTypedData##clazz##ViewCid)); \
} \
bool IsUnmodifiableTypedDataView##clazz() const { \
return ((GetClassId() == kUnmodifiableTypedData##clazz##ViewCid)); \
} \
bool IsExternalTypedData##clazz() const { \
return ((GetClassId() == kExternalTypedData##clazz##Cid)); \
}

Definition at line 130 of file tagged_pointer.h.

◆ DEFINE_IS_CID [3/3]

#define DEFINE_IS_CID (   clazz)     bool IsFfi##clazz() const { return ((GetClassId() == kFfi##clazz##Cid)); }

Definition at line 130 of file tagged_pointer.h.

◆ DEFINE_TAGGED_POINTER

#define DEFINE_TAGGED_POINTER (   klass,
  base 
)

Definition at line 332 of file tagged_pointer.h.

◆ OBJECT_POINTER_CORE_FUNCTIONS

#define OBJECT_POINTER_CORE_FUNCTIONS (   type,
  ptr 
)

Definition at line 20 of file tagged_pointer.h.