Flutter Engine
The Flutter Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
runtime_api.h File Reference
#include "platform/globals.h"
#include "platform/thread_sanitizer.h"
#include "platform/utils.h"
#include "vm/allocation.h"
#include "vm/bitfield.h"
#include "vm/bss_relocs.h"
#include "vm/class_id.h"
#include "vm/code_entry_kind.h"
#include "vm/constants.h"
#include "vm/frame_layout.h"
#include "vm/pointer_tagging.h"
#include "vm/runtime_entry_list.h"
#include "vm/token.h"

Go to the source code of this file.

Classes

class  dart::compiler::InvalidClass
 
class  dart::compiler::RuntimeEntry
 
class  dart::compiler::target::UntaggedObject
 
class  dart::compiler::target::UntaggedAbstractType
 
class  dart::compiler::target::UntaggedType
 
class  dart::compiler::target::UntaggedTypeParameter
 
class  dart::compiler::target::Object
 
class  dart::compiler::target::ObjectPool
 
class  dart::compiler::target::Class
 
class  dart::compiler::target::Instance
 
class  dart::compiler::target::Function
 
class  dart::compiler::target::CallSiteData
 
class  dart::compiler::target::ICData
 
class  dart::compiler::target::MegamorphicCache
 
class  dart::compiler::target::SingleTargetCache
 
class  dart::compiler::target::Array
 
class  dart::compiler::target::GrowableObjectArray
 
class  dart::compiler::target::RecordShape
 
class  dart::compiler::target::Record
 
class  dart::compiler::target::PointerBase
 
class  dart::compiler::target::TypedDataBase
 
class  dart::compiler::target::TypedData
 
class  dart::compiler::target::ExternalTypedData
 
class  dart::compiler::target::TypedDataView
 
class  dart::compiler::target::LinkedHashBase
 
class  dart::compiler::target::ImmutableLinkedHashBase
 
class  dart::compiler::target::Map
 
class  dart::compiler::target::Set
 
class  dart::compiler::target::FutureOr
 
class  dart::compiler::target::ArgumentsDescriptor
 
class  dart::compiler::target::LocalHandle
 
class  dart::compiler::target::PersistentHandle
 
class  dart::compiler::target::Pointer
 
class  dart::compiler::target::AbstractType
 
class  dart::compiler::target::Type
 
class  dart::compiler::target::FunctionType
 
class  dart::compiler::target::RecordType
 
class  dart::compiler::target::Nullability
 
class  dart::compiler::target::Double
 
class  dart::compiler::target::Mint
 
class  dart::compiler::target::String
 
class  dart::compiler::target::OneByteString
 
class  dart::compiler::target::TwoByteString
 
class  dart::compiler::target::Int32x4
 
class  dart::compiler::target::Float32x4
 
class  dart::compiler::target::Float64x2
 
class  dart::compiler::target::DynamicLibrary
 
class  dart::compiler::target::PatchClass
 
class  dart::compiler::target::FfiTrampolineData
 
class  dart::compiler::target::Script
 
class  dart::compiler::target::Library
 
class  dart::compiler::target::Namespace
 
class  dart::compiler::target::KernelProgramInfo
 
class  dart::compiler::target::PcDescriptors
 
class  dart::compiler::target::CodeSourceMap
 
class  dart::compiler::target::CompressedStackMaps
 
class  dart::compiler::target::LocalVarDescriptors
 
class  dart::compiler::target::ExceptionHandlers
 
class  dart::compiler::target::ContextScope
 
class  dart::compiler::target::Sentinel
 
class  dart::compiler::target::UnlinkedCall
 
class  dart::compiler::target::ApiError
 
class  dart::compiler::target::LanguageError
 
class  dart::compiler::target::UnhandledException
 
class  dart::compiler::target::UnwindError
 
class  dart::compiler::target::Bool
 
class  dart::compiler::target::TypeParameter
 
class  dart::compiler::target::LibraryPrefix
 
class  dart::compiler::target::Capability
 
class  dart::compiler::target::ReceivePort
 
class  dart::compiler::target::SendPort
 
class  dart::compiler::target::TransferableTypedData
 
class  dart::compiler::target::StackTrace
 
class  dart::compiler::target::SuspendState
 
class  dart::compiler::target::Integer
 
class  dart::compiler::target::Smi
 
class  dart::compiler::target::WeakProperty
 
class  dart::compiler::target::WeakReference
 
class  dart::compiler::target::FinalizerBase
 
class  dart::compiler::target::Finalizer
 
class  dart::compiler::target::NativeFinalizer
 
class  dart::compiler::target::FinalizerEntry
 
class  dart::compiler::target::MirrorReference
 
class  dart::compiler::target::Number
 
class  dart::compiler::target::TimelineStream
 
class  dart::compiler::target::StreamInfo
 
class  dart::compiler::target::MonomorphicSmiableCall
 
class  dart::compiler::target::TsanUtils
 
class  dart::compiler::target::Thread
 
class  dart::compiler::target::StoreBufferBlock
 
class  dart::compiler::target::MarkingStackBlock
 
class  dart::compiler::target::ObjectStore
 
class  dart::compiler::target::Isolate
 
class  dart::compiler::target::IsolateGroup
 
class  dart::compiler::target::ClassTable
 
class  dart::compiler::target::InstructionsSection
 
class  dart::compiler::target::InstructionsTable
 
class  dart::compiler::target::Instructions
 
class  dart::compiler::target::Code
 
class  dart::compiler::target::WeakSerializationReference
 
class  dart::compiler::target::WeakArray
 
class  dart::compiler::target::SubtypeTestCache
 
class  dart::compiler::target::LoadingUnit
 
class  dart::compiler::target::Context
 
class  dart::compiler::target::Closure
 
class  dart::compiler::target::ClosureData
 
class  dart::compiler::target::Page
 
class  dart::compiler::target::Heap
 
class  dart::compiler::target::NativeArguments
 
class  dart::compiler::target::NativeEntry
 
class  dart::compiler::target::RegExp
 
class  dart::compiler::target::UserTag
 
class  dart::compiler::target::Symbols
 
class  dart::compiler::target::Field
 
class  dart::compiler::target::TypeParameters
 
class  dart::compiler::target::TypeArguments
 
class  dart::compiler::target::FreeListElement
 
class  dart::compiler::target::FreeListElement::FakeInstance
 
class  dart::compiler::target::ForwardingCorpse
 
class  dart::compiler::target::ForwardingCorpse::FakeInstance
 
class  dart::compiler::target::FieldTable
 

Namespaces

namespace  dart
 
namespace  dart::compiler
 
namespace  dart::compiler::target
 

Macros

#define DO(clazz)
 
#define DECLARE_RUNTIME_ENTRY(name)    extern const RuntimeEntry& k##name##RuntimeEntry;
 
#define DECLARE_RUNTIME_ENTRY(type, name, ...)    extern const RuntimeEntry& k##name##RuntimeEntry;
 
#define FINAL_CLASS()
 
#define THREAD_XMM_CONSTANT_LIST(V)
 
#define DECLARE_CONSTANT_OFFSET_GETTER(name)    static word name##_address_offset();
 

Typedefs

using dart::compiler::target::ObjectAlignment = dart::ObjectAlignment< kWordSize, kWordSizeLog2 >
 

Enumerations

enum  dart::compiler::target::ParameterFlags { dart::compiler::target::kRequiredNamedParameterFlag , dart::compiler::target::kNumParameterFlags }
 

Functions

Object & dart::compiler::NewZoneHandle (Zone *zone)
 
Object & dart::compiler::NewZoneHandle (Zone *zone, const Object &obj)
 
const Object & dart::compiler::NullObject ()
 
const Object & dart::compiler::SentinelObject ()
 
const Bool & dart::compiler::TrueObject ()
 
const Bool & dart::compiler::FalseObject ()
 
const Object & dart::compiler::EmptyTypeArguments ()
 
const Typedart::compiler::DynamicType ()
 
const Typedart::compiler::ObjectType ()
 
const Typedart::compiler::VoidType ()
 
const Typedart::compiler::IntType ()
 
const Class & dart::compiler::GrowableObjectArrayClass ()
 
const Class & dart::compiler::MintClass ()
 
const Class & dart::compiler::DoubleClass ()
 
const Class & dart::compiler::Float32x4Class ()
 
const Class & dart::compiler::Float64x2Class ()
 
const Class & dart::compiler::Int32x4Class ()
 
const Class & dart::compiler::ClosureClass ()
 
const Array & dart::compiler::ArgumentsDescriptorBoxed (intptr_t type_args_len, intptr_t num_arguments)
 
template<typename To , typename From >
const To & dart::compiler::CastHandle (const From &from)
 
bool dart::compiler::IsSameObject (const Object &a, const Object &b)
 
bool dart::compiler::IsEqualType (const AbstractType &a, const AbstractType &b)
 
bool dart::compiler::IsSubtypeOfInt (const AbstractType &type)
 
bool dart::compiler::IsDoubleType (const AbstractType &type)
 
bool dart::compiler::IsBoolType (const AbstractType &type)
 
bool dart::compiler::IsSmiType (const AbstractType &type)
 
bool dart::compiler::IsInOldSpace (const Object &obj)
 
bool dart::compiler::IsOriginalObject (const Object &object)
 
void dart::compiler::SetToNull (Object *obj)
 
const Object & dart::compiler::ToObject (const Code &handle)
 
const Object & dart::compiler::ToObject (const Function &handle)
 
intptr_t dart::compiler::ObjectHash (const Object &obj)
 
const char * dart::compiler::ObjectToCString (const Object &obj)
 
bool dart::compiler::HasIntegerValue (const dart::Object &object, int64_t *value)
 
int32_t dart::compiler::CreateJitCookie ()
 
word dart::compiler::TypedDataElementSizeInBytes (classid_t cid)
 
word dart::compiler::TypedDataMaxNewSpaceElements (classid_t cid)
 
const Field & dart::compiler::LookupMathRandomStateFieldOffset ()
 
const Field & dart::compiler::LookupConvertUtf8DecoderScanFlagsField ()
 
word dart::compiler::LookupFieldOffsetInBytes (const Field &field)
 
const Code & dart::compiler::StubCodeAllocateArray ()
 
const Code & dart::compiler::StubCodeSubtype2TestCache ()
 
const Code & dart::compiler::StubCodeSubtype3TestCache ()
 
const Code & dart::compiler::StubCodeSubtype4TestCache ()
 
const Code & dart::compiler::StubCodeSubtype6TestCache ()
 
const Code & dart::compiler::StubCodeSubtype7TestCache ()
 
const String & dart::compiler::AllocateString (const char *buffer)
 
void dart::compiler::BailoutWithBranchOffsetError ()
 
intptr_t dart::compiler::target::RoundedAllocationSize (intptr_t size)
 
intptr_t dart::compiler::target::FrameOffsetInBytesForVariable (const LocalVariable *variable)
 
bool dart::compiler::target::SizeFitsInSizeTag (uword instance_size)
 
uword dart::compiler::target::MakeTagWordForNewSpaceObject (classid_t cid, uword instance_size)
 
bool dart::compiler::target::IsSmi (const dart::Object &a)
 
bool dart::compiler::target::IsSmi (int64_t v)
 
word dart::compiler::target::ToRawSmi (const dart::Object &a)
 
word dart::compiler::target::ToRawSmi (intptr_t value)
 
word dart::compiler::target::SmiValue (const dart::Object &a)
 
bool dart::compiler::target::IsDouble (const dart::Object &a)
 
double dart::compiler::target::DoubleValue (const dart::Object &a)
 
bool dart::compiler::target::CanLoadFromThread (const dart::Object &object, intptr_t *offset)
 
bool dart::compiler::target::WillAllocateNewOrRememberedObject (intptr_t instance_size)
 
bool dart::compiler::target::WillAllocateNewOrRememberedContext (intptr_t num_context_variables)
 
bool dart::compiler::target::WillAllocateNewOrRememberedArray (intptr_t length)
 
void dart::compiler::target::UnboxFieldIfSupported (const dart::Field &field, const dart::AbstractType &type)
 

Variables

InvalidClass dart::compiler::kWordSize
 
InvalidClass dart::compiler::kWordSizeLog2
 
InvalidClass dart::compiler::kBitsPerWord
 
InvalidClass dart::compiler::kBitsPerWordLog2
 
InvalidClass dart::compiler::kWordMin
 
InvalidClass dart::compiler::kWordMax
 
InvalidClass dart::compiler::kUWordMax
 
InvalidClass dart::compiler::kNewObjectAlignmentOffset
 
InvalidClass dart::compiler::kOldObjectAlignmentOffset
 
InvalidClass dart::compiler::kNewObjectBitPosition
 
InvalidClass dart::compiler::kPageSize
 
InvalidClass dart::compiler::kPageSizeInWords
 
InvalidClass dart::compiler::kPageMask
 
InvalidClass dart::compiler::kObjectAlignment
 
InvalidClass dart::compiler::kObjectAlignmentLog2
 
InvalidClass dart::compiler::kObjectAlignmentMask
 
InvalidClass dart::compiler::kSmiBits
 
InvalidClass dart::compiler::kSmiMin
 
InvalidClass dart::compiler::kSmiMax
 
static constexpr intptr_t dart::compiler::kHostWordSize = dart::kWordSize
 
static constexpr intptr_t dart::compiler::kHostWordSizeLog2 = dart::kWordSizeLog2
 
static constexpr intptr_t dart::compiler::target::kWordSize = 1 << kWordSizeLog2
 
static constexpr intptr_t dart::compiler::target::kCompressedWordSize = kWordSize
 
static constexpr intptr_t dart::compiler::target::kCompressedWordSizeLog2 = kWordSizeLog2
 
static constexpr word dart::compiler::target::kBitsPerWordLog2 = kWordSizeLog2 + kBitsPerByteLog2
 
static constexpr word dart::compiler::target::kBitsPerWord = 1 << kBitsPerWordLog2
 
constexpr word dart::compiler::target::kWordMax = (static_cast<uword>(1) << (kBitsPerWord - 1)) - 1
 
constexpr word dart::compiler::target::kWordMin = -(static_cast<uword>(1) << (kBitsPerWord - 1))
 
constexpr uword dart::compiler::target::kUwordMax = static_cast<word>(-1)
 
constexpr intptr_t dart::compiler::target::kSmiBits = kBitsPerWord - 2
 
constexpr word dart::compiler::target::kSmiMax = (static_cast<uword>(1) << kSmiBits) - 1
 
constexpr word dart::compiler::target::kSmiMin = -(static_cast<uword>(1) << kSmiBits)
 
static constexpr intptr_t dart::compiler::target::kObjectAlignment = ObjectAlignment::kObjectAlignment
 
static constexpr intptr_t dart::compiler::target::kNumParameterFlagsPerElementLog2
 
static constexpr intptr_t dart::compiler::target::kNumParameterFlagsPerElement
 
FrameLayout dart::compiler::target::frame_layout = invalid_frame_layout
 
constexpr intptr_t dart::compiler::target::kIntSpillFactor = sizeof(int64_t) / kWordSize
 
constexpr intptr_t dart::compiler::target::kDoubleSpillFactor = sizeof(double) / kWordSize
 

Macro Definition Documentation

◆ DECLARE_CONSTANT_OFFSET_GETTER

#define DECLARE_CONSTANT_OFFSET_GETTER (   name)     static word name##_address_offset();

Definition at line 1266 of file runtime_api.h.

◆ DECLARE_RUNTIME_ENTRY [1/2]

#define DECLARE_RUNTIME_ENTRY (   name)     extern const RuntimeEntry& k##name##RuntimeEntry;

Definition at line 246 of file runtime_api.h.

◆ DECLARE_RUNTIME_ENTRY [2/2]

#define DECLARE_RUNTIME_ENTRY (   type,
  name,
  ... 
)     extern const RuntimeEntry& k##name##RuntimeEntry;

Definition at line 246 of file runtime_api.h.

◆ DO

#define DO (   clazz)
Value:
class Untagged##clazz; \
class clazz;

Definition at line 44 of file runtime_api.h.

◆ FINAL_CLASS

#define FINAL_CLASS ( )
Value:
static word NextFieldOffset() { \
return -kWordSize; \
}
static constexpr intptr_t kWordSize
Definition: runtime_api.h:274
intptr_t word
Definition: globals.h:500

Definition at line 406 of file runtime_api.h.

◆ THREAD_XMM_CONSTANT_LIST

#define THREAD_XMM_CONSTANT_LIST (   V)
Value:
V(float_not) \
V(float_negate) \
V(float_absolute) \
V(float_zerow) \
V(double_negate) \
V(double_abs)
#define V(name)
Definition: raw_object.h:125

Definition at line 1258 of file runtime_api.h.