Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros
slot.h File Reference
#include "vm/compiler/backend/compile_type.h"
#include "vm/compiler/backend/locations.h"
#include "vm/thread.h"

Go to the source code of this file.

Classes

class  dart::FieldGuardState
 
class  dart::Slot
 

Namespaces

namespace  dart
 

Macros

#define NULLABLE_TAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define NONNULLABLE_INT_TAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define NONNULLABLE_NONINT_TAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define UNBOXED_NATIVE_DART_SLOTS_LIST(V)
 
#define AOT_ONLY_UNTAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define UNTAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define NULLABLE_TAGGED_NATIVE_NONDART_SLOTS_LIST(V)
 
#define UNBOXED_NATIVE_NONDART_SLOTS_LIST(V)    V(StreamInfo, _, enabled, IntPtr, VAR)
 
#define UNTAGGED_NATIVE_NONDART_SLOTS_LIST(V)
 
#define CHECK_NATIVE_NONDART_SLOT(__, ___, ____, gc_may_move, _____)    static_assert(!gc_may_move);
 
#define UNBOXED_NATIVE_SLOTS_LIST(V)
 
#define UNTAGGED_NATIVE_SLOTS_LIST(V)
 
#define NOT_TAGGED_NATIVE_SLOTS_LIST(V)
 
#define TAGGED_INT_NATIVE_SLOTS_LIST(V)    NONNULLABLE_INT_TAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define TAGGED_NONINT_NATIVE_SLOTS_LIST(V)
 
#define NOT_INT_NATIVE_SLOTS_LIST(V)
 
#define TAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define NOT_TAGGED_NATIVE_DART_SLOTS_LIST(V)
 
#define TAGGED_NATIVE_SLOTS_LIST(V)
 
#define NATIVE_SLOTS_LIST(V)
 
#define CHECK_TAGGED_NATIVE_SLOT(__, ___, ____, field_type, _____)
 
#define CHECK_INT_NATIVE_SLOT(__, ___, ____, field_type, _____)    static_assert(k##field_type##Cid == kSmiCid);
 
#define CHECK_NONINT_NATIVE_SLOT(__, ___, ____, field_type, _____)
 
#define DECLARE_KIND(ClassName, __, FieldName, ___, ____)    k##ClassName##_##FieldName,
 
#define DEFINE_GETTER(ClassName, __, FieldName, ___, ____)
 

Macro Definition Documentation

◆ AOT_ONLY_UNTAGGED_NATIVE_DART_SLOTS_LIST

#define AOT_ONLY_UNTAGGED_NATIVE_DART_SLOTS_LIST (   V)

Definition at line 187 of file slot.h.

◆ CHECK_INT_NATIVE_SLOT

#define CHECK_INT_NATIVE_SLOT (   __,
  ___,
  ____,
  field_type,
  _____ 
)     static_assert(k##field_type##Cid == kSmiCid);

Definition at line 394 of file slot.h.

◆ CHECK_NATIVE_NONDART_SLOT

#define CHECK_NATIVE_NONDART_SLOT (   __,
  ___,
  ____,
  gc_may_move,
  _____ 
)     static_assert(!gc_may_move);

Definition at line 289 of file slot.h.

◆ CHECK_NONINT_NATIVE_SLOT

#define CHECK_NONINT_NATIVE_SLOT (   __,
  ___,
  ____,
  field_type,
  _____ 
)
Value:
static_assert(k##field_type##Cid != kSmiCid); \
static_assert(k##field_type##Cid != kMintCid);

Definition at line 403 of file slot.h.

◆ CHECK_TAGGED_NATIVE_SLOT

#define CHECK_TAGGED_NATIVE_SLOT (   __,
  ___,
  ____,
  field_type,
  _____ 
)
Value:
static_assert(k##field_type##Cid != kObjectCid); \
static_assert(k##field_type##Cid != kInstanceCid); \
static_assert(k##field_type##Cid != kIntegerCid); \
static_assert(k##field_type##Cid != kStringCid); \
static_assert(k##field_type##Cid != kAbstractTypeCid);

Definition at line 378 of file slot.h.

◆ DECLARE_KIND

#define DECLARE_KIND (   ClassName,
  __,
  FieldName,
  ___,
  ____ 
)     k##ClassName##_##FieldName,

Definition at line 436 of file slot.h.

◆ DEFINE_GETTER

#define DEFINE_GETTER (   ClassName,
  __,
  FieldName,
  ___,
  ____ 
)
Value:
static const Slot& ClassName##_##FieldName() { \
return GetNativeSlot(Kind::k##ClassName##_##FieldName); \
}

Definition at line 494 of file slot.h.

◆ NATIVE_SLOTS_LIST

#define NATIVE_SLOTS_LIST (   V)
Value:
NOT_TAGGED_NATIVE_SLOTS_LIST(V)
T __attribute__((ext_vector_type(N))) V
#define TAGGED_NATIVE_SLOTS_LIST(V)
Definition: slot.h:359

Definition at line 366 of file slot.h.

◆ NONNULLABLE_INT_TAGGED_NATIVE_DART_SLOTS_LIST

#define NONNULLABLE_INT_TAGGED_NATIVE_DART_SLOTS_LIST (   V)
Value:
V(Array, UntaggedArray, length, Smi, FINAL) \
V(Closure, UntaggedClosure, hash, Smi, VAR) \
V(GrowableObjectArray, UntaggedGrowableObjectArray, length, Smi, VAR) \
V(TypedDataBase, UntaggedTypedDataBase, length, Smi, FINAL) \
V(TypedDataView, UntaggedTypedDataView, offset_in_bytes, Smi, FINAL) \
V(String, UntaggedString, length, Smi, FINAL) \
V(LinkedHashBase, UntaggedLinkedHashBase, hash_mask, Smi, VAR) \
V(LinkedHashBase, UntaggedLinkedHashBase, used_data, Smi, VAR) \
V(LinkedHashBase, UntaggedLinkedHashBase, deleted_keys, Smi, VAR) \
V(ArgumentsDescriptor, UntaggedArray, type_args_len, Smi, FINAL) \
V(ArgumentsDescriptor, UntaggedArray, positional_count, Smi, FINAL) \
V(ArgumentsDescriptor, UntaggedArray, count, Smi, FINAL) \
V(ArgumentsDescriptor, UntaggedArray, size, Smi, FINAL) \
V(Record, UntaggedRecord, shape, Smi, FINAL) \
V(TypeArguments, UntaggedTypeArguments, hash, Smi, VAR) \
V(TypeArguments, UntaggedTypeArguments, length, Smi, FINAL) \
V(AbstractType, UntaggedTypeArguments, hash, Smi, VAR)
int count
Definition: FontMgrTest.cpp:50
static uint32_t hash(const SkShaderBase::GradientInfo &v)
size_t length
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
Definition: switches.h:259
#define V(name)
Definition: raw_object.h:125

Definition at line 102 of file slot.h.

◆ NONNULLABLE_NONINT_TAGGED_NATIVE_DART_SLOTS_LIST

#define NONNULLABLE_NONINT_TAGGED_NATIVE_DART_SLOTS_LIST (   V)
Value:
V(Closure, UntaggedClosure, function, Function, FINAL) \
V(Closure, UntaggedClosure, context, Dynamic, FINAL) \
V(Finalizer, UntaggedFinalizer, callback, Closure, FINAL) \
V(NativeFinalizer, UntaggedFinalizer, callback, Pointer, FINAL) \
V(Function, UntaggedFunction, data, Dynamic, FINAL) \
V(FunctionType, UntaggedFunctionType, named_parameter_names, Array, FINAL) \
V(FunctionType, UntaggedFunctionType, parameter_types, Array, FINAL) \
V(GrowableObjectArray, UntaggedGrowableObjectArray, data, Array, VAR) \
V(TypedDataView, UntaggedTypedDataView, typed_data, Dynamic, FINAL) \
V(LinkedHashBase, UntaggedLinkedHashBase, index, TypedDataUint32Array, VAR) \
V(LinkedHashBase, UntaggedLinkedHashBase, data, Array, VAR) \
V(ImmutableLinkedHashBase, UntaggedLinkedHashBase, data, ImmutableArray, \
FINAL) \
V(TypeParameters, UntaggedTypeParameters, names, Array, FINAL) \
V(UnhandledException, UntaggedUnhandledException, exception, Dynamic, FINAL) \
V(UnhandledException, UntaggedUnhandledException, stacktrace, Dynamic, FINAL)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
Dart_NativeFunction function
Definition: fuchsia.cc:51
static const char *const names[]
Definition: symbols.cc:24
static void Finalizer(void *isolate_callback_data, void *buffer)
Definition: json_stream.cc:192
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63

Definition at line 134 of file slot.h.

◆ NOT_INT_NATIVE_SLOTS_LIST

#define NOT_INT_NATIVE_SLOTS_LIST (   V)
Value:
UNTAGGED_NATIVE_SLOTS_LIST(V)
#define TAGGED_NONINT_NATIVE_SLOTS_LIST(V)
Definition: slot.h:326

Definition at line 335 of file slot.h.

◆ NOT_TAGGED_NATIVE_DART_SLOTS_LIST

#define NOT_TAGGED_NATIVE_DART_SLOTS_LIST (   V)
Value:
NOT_TAGGED_NATIVE_SLOTS_LIST(V)
#define NULLABLE_TAGGED_NATIVE_NONDART_SLOTS_LIST(V)
Definition: slot.h:230

Definition at line 352 of file slot.h.

◆ NOT_TAGGED_NATIVE_SLOTS_LIST

#define NOT_TAGGED_NATIVE_SLOTS_LIST (   V)
Value:
UNTAGGED_NATIVE_SLOTS_LIST(V)
#define UNBOXED_NATIVE_SLOTS_LIST(V)
Definition: slot.h:297

Definition at line 311 of file slot.h.

◆ NULLABLE_TAGGED_NATIVE_DART_SLOTS_LIST

#define NULLABLE_TAGGED_NATIVE_DART_SLOTS_LIST (   V)

Definition at line 54 of file slot.h.

◆ NULLABLE_TAGGED_NATIVE_NONDART_SLOTS_LIST

#define NULLABLE_TAGGED_NATIVE_NONDART_SLOTS_LIST (   V)
Value:
V(Isolate, _, finalizers, GrowableObjectArray, VAR) \
V(LocalHandle, _, ptr, Dynamic, VAR) \
V(ObjectStore, _, record_field_names, Array, VAR) \
V(PersistentHandle, _, ptr, Dynamic, VAR)

Definition at line 230 of file slot.h.

◆ TAGGED_INT_NATIVE_SLOTS_LIST

#define TAGGED_INT_NATIVE_SLOTS_LIST (   V)     NONNULLABLE_INT_TAGGED_NATIVE_DART_SLOTS_LIST(V)

Definition at line 318 of file slot.h.

◆ TAGGED_NATIVE_DART_SLOTS_LIST

#define TAGGED_NATIVE_DART_SLOTS_LIST (   V)
Value:
NONNULLABLE_INT_TAGGED_NATIVE_DART_SLOTS_LIST(V) \
NONNULLABLE_NONINT_TAGGED_NATIVE_DART_SLOTS_LIST(V)
#define NULLABLE_TAGGED_NATIVE_DART_SLOTS_LIST(V)
Definition: slot.h:54

Definition at line 343 of file slot.h.

◆ TAGGED_NATIVE_SLOTS_LIST

#define TAGGED_NATIVE_SLOTS_LIST (   V)
Value:
TAGGED_NONINT_NATIVE_SLOTS_LIST(V)
#define TAGGED_INT_NATIVE_SLOTS_LIST(V)
Definition: slot.h:318

Definition at line 359 of file slot.h.

◆ TAGGED_NONINT_NATIVE_SLOTS_LIST

#define TAGGED_NONINT_NATIVE_SLOTS_LIST (   V)
Value:
NONNULLABLE_NONINT_TAGGED_NATIVE_DART_SLOTS_LIST(V) \
NULLABLE_TAGGED_NATIVE_NONDART_SLOTS_LIST(V)

Definition at line 326 of file slot.h.

◆ UNBOXED_NATIVE_DART_SLOTS_LIST

#define UNBOXED_NATIVE_DART_SLOTS_LIST (   V)
Value:
V(AbstractType, UntaggedAbstractType, flags, Uint32, FINAL) \
V(ClosureData, UntaggedClosureData, packed_fields, Uint32, FINAL) \
V(FinalizerEntry, UntaggedFinalizerEntry, external_size, IntPtr, VAR) \
V(Function, UntaggedFunction, kind_tag, Uint32, FINAL) \
V(FunctionType, UntaggedFunctionType, packed_parameter_counts, Uint32, \
FINAL) \
V(FunctionType, UntaggedFunctionType, packed_type_parameter_counts, Uint16, \
FINAL) \
V(SubtypeTestCache, UntaggedSubtypeTestCache, num_inputs, Uint32, FINAL)
FlutterSemanticsFlag flags

Definition at line 170 of file slot.h.

◆ UNBOXED_NATIVE_NONDART_SLOTS_LIST

#define UNBOXED_NATIVE_NONDART_SLOTS_LIST (   V)     V(StreamInfo, _, enabled, IntPtr, VAR)

Definition at line 253 of file slot.h.

◆ UNBOXED_NATIVE_SLOTS_LIST

#define UNBOXED_NATIVE_SLOTS_LIST (   V)
Value:
UNBOXED_NATIVE_NONDART_SLOTS_LIST(V)
#define UNBOXED_NATIVE_DART_SLOTS_LIST(V)
Definition: slot.h:170

Definition at line 297 of file slot.h.

◆ UNTAGGED_NATIVE_DART_SLOTS_LIST

#define UNTAGGED_NATIVE_DART_SLOTS_LIST (   V)
Value:
V(Function, UntaggedFunction, entry_point, false, FINAL) \
V(FinalizerBase, UntaggedFinalizerBase, isolate, false, VAR) \
V(PointerBase, UntaggedPointerBase, data, true, VAR)
#define AOT_ONLY_UNTAGGED_NATIVE_DART_SLOTS_LIST(V)
Definition: slot.h:187

Definition at line 209 of file slot.h.

◆ UNTAGGED_NATIVE_NONDART_SLOTS_LIST

#define UNTAGGED_NATIVE_NONDART_SLOTS_LIST (   V)
Value:
V(IsolateGroup, _, object_store, false, FINAL) \
V(Thread, _, api_top_scope, false, VAR) \
V(Thread, _, isolate, false, FINAL) \
V(Thread, _, isolate_group, false, FINAL) \
V(Thread, _, service_extension_stream, false, FINAL)

Definition at line 279 of file slot.h.

◆ UNTAGGED_NATIVE_SLOTS_LIST

#define UNTAGGED_NATIVE_SLOTS_LIST (   V)
Value:
UNTAGGED_NATIVE_NONDART_SLOTS_LIST(V)
#define UNTAGGED_NATIVE_DART_SLOTS_LIST(V)
Definition: slot.h:209

Definition at line 304 of file slot.h.