Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
object.cc File Reference
#include "vm/object.h"
#include <memory>
#include "compiler/method_recognizer.h"
#include "include/dart_api.h"
#include "lib/integers.h"
#include "lib/stacktrace.h"
#include "platform/assert.h"
#include "platform/text_buffer.h"
#include "platform/unaligned.h"
#include "platform/unicode.h"
#include "vm/bit_vector.h"
#include "vm/bootstrap.h"
#include "vm/canonical_tables.h"
#include "vm/class_finalizer.h"
#include "vm/class_id.h"
#include "vm/closure_functions_cache.h"
#include "vm/code_comments.h"
#include "vm/code_descriptors.h"
#include "vm/code_observers.h"
#include "vm/compiler/assembler/disassembler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/compiler/runtime_api.h"
#include "vm/cpu.h"
#include "vm/dart.h"
#include "vm/dart_api_state.h"
#include "vm/dart_entry.h"
#include "vm/datastream.h"
#include "vm/debugger.h"
#include "vm/deopt_instructions.h"
#include "vm/double_conversion.h"
#include "vm/elf.h"
#include "vm/exceptions.h"
#include "vm/growable_array.h"
#include "vm/hash.h"
#include "vm/hash_table.h"
#include "vm/heap/become.h"
#include "vm/heap/heap.h"
#include "vm/heap/sampler.h"
#include "vm/heap/weak_code.h"
#include "vm/image_snapshot.h"
#include "vm/isolate_reload.h"
#include "vm/kernel.h"
#include "vm/kernel_binary.h"
#include "vm/kernel_isolate.h"
#include "vm/kernel_loader.h"
#include "vm/log.h"
#include "vm/native_symbol.h"
#include "vm/object_graph.h"
#include "vm/object_store.h"
#include "vm/os.h"
#include "vm/parser.h"
#include "vm/profiler.h"
#include "vm/regexp.h"
#include "vm/resolver.h"
#include "vm/reusable_handles.h"
#include "vm/reverse_pc_lookup_cache.h"
#include "vm/runtime_entry.h"
#include "vm/scopes.h"
#include "vm/stack_frame.h"
#include "vm/stub_code.h"
#include "vm/symbols.h"
#include "vm/tags.h"
#include "vm/thread_registry.h"
#include "vm/timeline.h"
#include "vm/type_testing_stubs.h"
#include "vm/zone_text_buffer.h"
#include "vm/compiler/aot/precompiler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/code_statistics.h"
#include "vm/compiler/compiler_state.h"
#include "vm/compiler/frontend/kernel_fingerprints.h"
#include "vm/compiler/frontend/kernel_translation_helper.h"
#include "vm/compiler/intrinsifier.h"

Go to the source code of this file.

Classes

class  dart::FinalizeVMIsolateVisitor
 
class  dart::WriteBarrierUpdateVisitor
 
class  dart::FunctionName
 
class  dart::ClassFunctionsTraits
 
class  dart::CHACodeArray
 
class  dart::FunctionTypeMapping
 
class  dart::StickySpecialization
 
class  dart::StringSpecializationCid
 
class  dart::FieldDependentArray
 
class  dart::FieldGuardUpdater
 
class  dart::LibraryLookupTraits
 
struct  dart::CidCount
 
class  dart::DefaultHashTraits
 
class  dart::RecordFieldNamesMapTraits
 

Namespaces

namespace  dart
 

Macros

#define RAW_NULL   static_cast<uword>(kHeapObjectTag)
 
#define CHECK_ERROR(error)
 
#define DEFINE_SHARED_READONLY_HANDLE(Type, name)    Type* Object::name##_ = nullptr;
 
#define PRECOMPILER_WSR_FIELD_DEFINITION(Class, Type, Name)
 
#define TRACE_TYPE_CHECKS_VERBOSE(format, ...)
 
#define INIT_VTABLE(clazz)
 
#define INIT_VTABLE(clazz)
 
#define INIT_VTABLE(clazz)
 
#define INIT_VTABLE(clazz)
 
#define INIT_VTABLE(clazz)
 
#define INIT_VTABLE(clazz)
 
#define INIT_VTABLE(clazz)
 
#define INITIALIZE_SHARED_READONLY_HANDLE(Type, name)    name##_ = Type::ReadOnlyHandle();
 
#define SET_CLASS_NAME(class_name, name)
 
#define REGISTER_TYPED_DATA_CLASS(clazz)
 
#define REGISTER_TYPED_DATA_VIEW_CLASS(clazz)
 
#define REGISTER_EXT_TYPED_DATA_CLASS(clazz)
 
#define REGISTER_FFI_TYPE_MARKER(clazz)
 
#define REGISTER_TYPED_DATA_CLASS(clazz)    cls = Class::NewTypedDataClass(kTypedData##clazz##Cid, isolate_group);
 
#define REGISTER_TYPED_DATA_VIEW_CLASS(clazz)
 
#define REGISTER_EXT_TYPED_DATA_CLASS(clazz)
 
#define REGISTER_FFI_CLASS(clazz)    cls = Class::New<Instance, RTN::Instance>(kFfi##clazz##Cid, isolate_group);
 
#define HANDLE_CASE(clazz)
 
#define HANDLE_CASE(clazz)
 
#define CLASS_LIST_WITH_NULL(V)
 
#define ADD_SET_FIELD(clazz)    {"cid" #clazz, k##clazz##Cid},
 
#define ADD_SET_FIELD(clazz)
 
#define TYPED_DATA_GET_INDEXED_CASES(clazz)
 
#define RULE_CASE(Name)
 
#define RULE_CASE(Name)
 
#define DEFINE_FLAG_ACCESSORS(Name)
 
#define IS_CHECK(name)
 
#define EQUALS_IGNORING_PRIVATE_KEY(class_id, type, str1, str2)
 

Typedefs

typedef UnorderedHashSet< ClassFunctionsTraitsdart::ClassFunctionsSet
 
typedef UnorderedHashMap< LibraryLookupTraitsdart::LibraryLookupMap
 
typedef UnorderedHashMap< RecordFieldNamesMapTraitsdart::RecordFieldNamesMap
 

Enumerations

enum  dart::QualifiedFunctionLibKind { dart::kQualifiedFunctionLibKindLibUrl , dart::kQualifiedFunctionLibKindLibName }
 

Functions

 dart::DEFINE_FLAG (uint64_t, huge_method_cutoff_in_code_size, 200000, "Huge method cutoff in unoptimized code size (in bytes).")
 
 dart::DEFINE_FLAG (bool, show_internal_names, false, "Show names of internal classes (e.g. \"OneByteString\") in error messages " "instead of showing the corresponding interface names (e.g. \"String\"). " "Also show legacy nullability in type names.")
 
 dart::DEFINE_FLAG (bool, remove_script_timestamps_for_test, false, "Remove script timestamps to allow for deterministic testing.")
 
 dart::DEFINE_FLAG (bool, use_register_cc, true, "Use register calling conventions")
 
 dart::DECLARE_FLAG (bool, intrinsify)
 
 dart::DECLARE_FLAG (bool, trace_deoptimization)
 
 dart::DECLARE_FLAG (bool, trace_deoptimization_verbose)
 
 dart::DECLARE_FLAG (bool, trace_reload)
 
 dart::DECLARE_FLAG (bool, write_protect_code)
 
 dart::DECLARE_FLAG (bool, precompiled_mode)
 
 dart::DECLARE_FLAG (int, max_polymorphic_checks)
 
static void dart::AppendSubString (BaseTextBuffer *buffer, const char *name, intptr_t start_pos, intptr_t len)
 
template<typename type >
static bool dart::IsSpecialCharacter (type value)
 
static bool dart::IsAsciiNonprintable (int32_t c)
 
static int32_t dart::EscapeOverhead (int32_t c)
 
template<typename type >
static type dart::SpecialCharacter (type value)
 
static void dart::ReportTooManyTypeArguments (const Class &cls)
 
bool dart::FindPragmaInMetadata (Thread *T, const Object &metadata_obj, const String &pragma_name, bool multiple, Object *options)
 
static ObjectPtr dart::ThrowNoSuchMethod (const Instance &receiver, const String &function_name, const Array &arguments, const Array &argument_names, const InvocationMirror::Level level, const InvocationMirror::Kind kind)
 
static ObjectPtr dart::ThrowTypeError (const TokenPosition token_pos, const Instance &src_value, const AbstractType &dst_type, const String &dst_name)
 
static ArrayPtr dart::CreateCallableArgumentsFromStatic (Zone *zone, const Instance &receiver, const Array &static_args, const Array &arg_names, const ArgumentsDescriptor &static_args_descriptor)
 
static ObjectPtr dart::LoadExpressionEvaluationFunction (Zone *zone, const ExternalTypedData &kernel_buffer, const String &library_url, const String &klass)
 
static bool dart::EvaluationFunctionNeedsReceiver (Thread *thread, Zone *zone, const Function &eval_function)
 
static ObjectPtr dart::EvaluateCompiledExpressionHelper (Zone *zone, const Function &eval_function, const Array &type_definitions, const Array &arguments, const TypeArguments &type_arguments)
 
static bool dart::MatchesAccessorName (const String &name, const char *prefix, intptr_t prefix_length, const String &accessor_name)
 
static uword dart::Hash64To32 (uint64_t v)
 
static void dart::ReportTooManyTypeParameters (const FunctionType &sig)
 
static bool dart::InVmTests (const Function &function)
 
static TypeArgumentsPtr dart::RetrieveFunctionTypeArguments (Thread *thread, Zone *zone, const Function &function, const Instance &receiver, const TypeArguments &instantiator_type_args, const Array &args, const ArgumentsDescriptor &args_desc)
 
static TypeArgumentsPtr dart::RetrieveInstantiatorTypeArguments (Zone *zone, const Function &function, const Instance &receiver)
 
static intptr_t dart::ConstructFunctionFullyQualifiedCString (const Function &function, char **chars, intptr_t reserve_len, bool with_lib, QualifiedFunctionLibKind lib_kind)
 
static void dart::FunctionPrintNameHelper (const Function &fun, const NameFormattingParams &params, BaseTextBuffer *printer)
 
static intptr_t dart::GetListLength (const Object &value)
 
static intptr_t dart::GetListLengthOffset (intptr_t cid)
 
static StaticTypeExactnessState dart::TrivialTypeExactnessFor (const Class &cls)
 
static const char * dart::SafeTypeArgumentsToCString (const TypeArguments &args)
 
static bool dart::IsLetter (int32_t c)
 
static bool dart::IsDecimalDigit (int32_t c)
 
static bool dart::IsIdentStartChar (int32_t c)
 
static bool dart::IsIdentChar (int32_t c)
 
static intptr_t dart::GetRelativeSourceIndex (const String &src, intptr_t line, intptr_t line_offset=0, intptr_t column=1, intptr_t column_offset=0, intptr_t starting_index=0)
 
static void dart::ReportTooManyImports (const Library &lib)
 
static bool dart::HasPragma (const Object &declaration)
 
static bool dart::ShouldBePrivate (const String &name)
 
static void dart::AddScriptIfUnique (const GrowableObjectArray &scripts, const Script &candidate)
 
static ArrayPtr dart::NewDictionary (intptr_t initial_size)
 
static ObjectPtr dart::InvokeInstanceFunction (Thread *thread, const Instance &receiver, const Function &function, const String &target_name, const Array &args, const Array &args_descriptor_array, bool respect_reflectable, const TypeArguments &instantiator_type_args)
 
static int dart::PrintVarInfo (char *buffer, int len, intptr_t i, const String &var_name, const UntaggedLocalVarDescriptors::VarInfo &info)
 
static void dart::IndentN (int count)
 
static bool dart::SubtypeTestCacheEntryMatches (const SubtypeTestCacheTable::TupleView &t, intptr_t num_inputs, const Object &instance_class_id_or_signature, const AbstractType &destination_type, const TypeArguments &instance_type_arguments, const TypeArguments &instantiator_type_arguments, const TypeArguments &function_type_arguments, const TypeArguments &instance_parent_function_type_arguments, const TypeArguments &instance_delayed_type_arguments)
 
static classid_t dart::NormalizeClassIdForSyntacticalTypeEquality (classid_t cid)
 
static bool dart::IsPercent (int32_t c)
 
static bool dart::IsHexCharacter (int32_t c)
 
static bool dart::IsURISafeCharacter (int32_t c)
 
static int32_t dart::GetHexCharacter (int32_t c)
 
static int32_t dart::GetHexValue (int32_t c)
 
static int32_t dart::MergeHexCharacters (int32_t c1, int32_t c2)
 
static FinalizablePersistentHandledart::AddFinalizer (const Object &referent, void *peer, Dart_HandleFinalizer callback, intptr_t external_size)
 
template<typename T1 , typename T2 >
static bool dart::EqualsIgnoringPrivateKey (const String &str1, const String &str2)
 
static void dart::TransferableTypedDataFinalizer (void *isolate_callback_data, void *peer)
 
static void dart::PrintSymbolicStackFrameIndex (BaseTextBuffer *buffer, intptr_t frame_index)
 
static void dart::PrintSymbolicStackFrameBody (BaseTextBuffer *buffer, const char *function_name, const char *url, intptr_t line=-1, intptr_t column=-1)
 
static void dart::PrintSymbolicStackFrame (Zone *zone, BaseTextBuffer *buffer, const Function &function, TokenPosition token_pos_or_line, intptr_t frame_index, bool is_line=false)
 
static bool dart::IsVisibleAsFutureListener (const Function &function)
 
static void dart::DwarfStackTracesHandler (bool value)
 
 dart::DEFINE_FLAG_HANDLER (DwarfStackTracesHandler, dwarf_stack_traces, "Omit CodeSourceMaps in precompiled snapshots and don't " "symbolize stack traces in the precompiled runtime.")
 
void dart::DumpTypeTable (Isolate *isolate)
 
void dart::DumpFunctionTypeTable (Isolate *isolate)
 
void dart::DumpRecordTypeTable (Isolate *isolate)
 
void dart::DumpTypeParameterTable (Isolate *isolate)
 
void dart::DumpTypeArgumentsTable (Isolate *isolate)
 
EntryPointPragma dart::FindEntryPointPragma (IsolateGroup *IG, const Array &metadata, Field *reusable_field_handle, Object *pragma)
 
DART_WARN_UNUSED_RESULT ErrorPtr dart::VerifyEntryPoint (const Library &lib, const Object &member, const Object &annotated, std::initializer_list< EntryPointPragma > allowed_kinds)
 
DART_WARN_UNUSED_RESULT ErrorPtr dart::EntryPointFieldInvocationError (const String &getter_name)
 
DART_WARN_UNUSED_RESULT ErrorPtr dart::EntryPointMemberInvocationError (const Object &member)
 

Variables

static const char *const dart::kGetterPrefix = "get:"
 
static const intptr_t dart::kGetterPrefixLength = strlen(kGetterPrefix)
 
static const char *const dart::kSetterPrefix = "set:"
 
static const intptr_t dart::kSetterPrefixLength = strlen(kSetterPrefix)
 
static const char *const dart::kInitPrefix = "init:"
 
static const intptr_t dart::kInitPrefixLength = strlen(kInitPrefix)
 
bool dart::TESTING_runtime_fail_on_existing_cache_entry = false
 

Macro Definition Documentation

◆ ADD_SET_FIELD [1/2]

#define ADD_SET_FIELD (   clazz)     {"cid" #clazz, k##clazz##Cid},

◆ ADD_SET_FIELD [2/2]

#define ADD_SET_FIELD (   clazz)
Value:
{"cid" #clazz, kTypedData##clazz##Cid}, \
{"cid" #clazz "View", kTypedData##clazz##ViewCid}, \
{"cidExternal" #clazz, kExternalTypedData##clazz##Cid}, \
{"cidUnmodifiable" #clazz "View", kUnmodifiableTypedData##clazz##ViewCid}, \
CLASS_LIST_TYPED_DATA(ADD_SET_FIELD)
#define ADD_SET_FIELD(clazz)

◆ CHECK_ERROR

#define CHECK_ERROR (   error)
Value:
{ \
ErrorPtr err = (error); \
if (err != Error::null()) { \
return err; \
} \
}
const uint8_t uint32_t uint32_t GError ** error

Definition at line 134 of file object.cc.

135 { \
136 ErrorPtr err = (error); \
137 if (err != Error::null()) { \
138 return err; \
139 } \
140 }

◆ CLASS_LIST_WITH_NULL

#define CLASS_LIST_WITH_NULL (   V)
Value:
V(Null) \
CLASS_LIST_NO_OBJECT(V)
T __attribute__((ext_vector_type(N))) V
#define V(name)
Definition raw_object.h:124

◆ DEFINE_FLAG_ACCESSORS

#define DEFINE_FLAG_ACCESSORS (   Name)
Value:
bool ContextScope::Is##Name##At(intptr_t scope_index) const { \
return GetFlagAt(scope_index, \
UntaggedContextScope::VariableDesc::kIs##Name); \
} \
\
void ContextScope::SetIs##Name##At(intptr_t scope_index, bool value) const { \
SetFlagAt(scope_index, UntaggedContextScope::VariableDesc::kIs##Name, \
value); \
}

Definition at line 18694 of file object.cc.

18695 { \
18696 return GetFlagAt(scope_index, \
18697 UntaggedContextScope::VariableDesc::kIs##Name); \
18698 } \
18699 \
18700 void ContextScope::SetIs##Name##At(intptr_t scope_index, bool value) const { \
18701 SetFlagAt(scope_index, UntaggedContextScope::VariableDesc::kIs##Name, \
18702 value); \
18703 }
ImplicitString Name
Definition DMSrcSink.h:38

◆ DEFINE_SHARED_READONLY_HANDLE

#define DEFINE_SHARED_READONLY_HANDLE (   Type,
  name 
)     Type* Object::name##_ = nullptr;

Definition at line 142 of file object.cc.

◆ EQUALS_IGNORING_PRIVATE_KEY

#define EQUALS_IGNORING_PRIVATE_KEY (   class_id,
  type,
  str1,
  str2 
)
Value:
switch (class_id) { \
case kOneByteStringCid: \
return dart::EqualsIgnoringPrivateKey<type, OneByteString>(str1, str2); \
case kTwoByteStringCid: \
return dart::EqualsIgnoringPrivateKey<type, TwoByteString>(str1, str2); \
} \
UNREACHABLE();

Definition at line 24369 of file object.cc.

24370 { \
24371 case kOneByteStringCid: \
24372 return dart::EqualsIgnoringPrivateKey<type, OneByteString>(str1, str2); \
24373 case kTwoByteStringCid: \
24374 return dart::EqualsIgnoringPrivateKey<type, TwoByteString>(str1, str2); \
24375 } \
24376 UNREACHABLE();

◆ HANDLE_CASE [1/2]

#define HANDLE_CASE (   clazz)
Value:
case k##clazz##Cid: \
return dart::clazz::ContainsCompressedPointers();

◆ HANDLE_CASE [2/2]

#define HANDLE_CASE (   clazz)
Value:
case kTypedData##clazz##Cid: \
case kTypedData##clazz##ViewCid: \
case kUnmodifiableTypedData##clazz##ViewCid: \
case kExternalTypedData##clazz##Cid: \
static constexpr bool ContainsCompressedPointers()
Definition object.h:329

◆ INIT_VTABLE [1/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
clazz fake_handle; \
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
}

◆ INIT_VTABLE [2/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
Map fake_handle; \
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
}

◆ INIT_VTABLE [3/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
Set fake_handle; \
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
}

◆ INIT_VTABLE [4/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
Array fake_handle; \
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
}

◆ INIT_VTABLE [5/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
String fake_handle; \
builtin_vtables_[k##clazz##Cid] = fake_handle.vtable(); \
}

◆ INIT_VTABLE [6/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
Instance fake_handle; \
builtin_vtables_[kFfi##clazz##Cid] = fake_handle.vtable(); \
}

◆ INIT_VTABLE [7/7]

#define INIT_VTABLE (   clazz)
Value:
{ \
TypedData fake_internal_handle; \
builtin_vtables_[kTypedData##clazz##Cid] = fake_internal_handle.vtable(); \
TypedDataView fake_view_handle; \
builtin_vtables_[kTypedData##clazz##ViewCid] = fake_view_handle.vtable(); \
builtin_vtables_[kUnmodifiableTypedData##clazz##ViewCid] = \
fake_view_handle.vtable(); \
ExternalTypedData fake_external_handle; \
builtin_vtables_[kExternalTypedData##clazz##Cid] = \
fake_external_handle.vtable(); \
}

◆ INITIALIZE_SHARED_READONLY_HANDLE

#define INITIALIZE_SHARED_READONLY_HANDLE (   Type,
  name 
)     name##_ = Type::ReadOnlyHandle();

◆ IS_CHECK

#define IS_CHECK (   name)
Value:
candidate_cls = typed_data_lib.LookupClass(Symbols::name##List()); \
if (cid == candidate_cls.id()) { \
return true; \
}
SkIDChangeListener::List List

◆ PRECOMPILER_WSR_FIELD_DEFINITION

#define PRECOMPILER_WSR_FIELD_DEFINITION (   Class,
  Type,
  Name 
)
Value:
void Class::set_##Name(const Type& value) const { \
untag()->set_##Name(value.ptr()); \
}
uint8_t value

Definition at line 209 of file object.cc.

210 { \
211 untag()->set_##Name(value.ptr()); \
212 }

◆ RAW_NULL

#define RAW_NULL   static_cast<uword>(kHeapObjectTag)

Definition at line 132 of file object.cc.

◆ REGISTER_EXT_TYPED_DATA_CLASS [1/2]

#define REGISTER_EXT_TYPED_DATA_CLASS (   clazz)
Value:
cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid, \
isolate_group); \
RegisterPrivateClass(cls, Symbols::_External##clazz(), lib);

◆ REGISTER_EXT_TYPED_DATA_CLASS [2/2]

#define REGISTER_EXT_TYPED_DATA_CLASS (   clazz)
Value:
cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid, \
isolate_group);

◆ REGISTER_FFI_CLASS

#define REGISTER_FFI_CLASS (   clazz)     cls = Class::New<Instance, RTN::Instance>(kFfi##clazz##Cid, isolate_group);

◆ REGISTER_FFI_TYPE_MARKER

#define REGISTER_FFI_TYPE_MARKER (   clazz)
Value:
cls = Class::New<Instance, RTN::Instance>(kFfi##clazz##Cid, isolate_group); \
cls.set_num_type_arguments_unsafe(0); \
cls.set_is_prefinalized(); \
pending_classes.Add(cls); \
RegisterClass(cls, Symbols::Ffi##clazz(), lib);

◆ REGISTER_TYPED_DATA_CLASS [1/2]

#define REGISTER_TYPED_DATA_CLASS (   clazz)
Value:
cls = Class::NewTypedDataClass(kTypedData##clazz##ArrayCid, isolate_group); \
RegisterPrivateClass(cls, Symbols::_##clazz##List(), lib);

◆ REGISTER_TYPED_DATA_CLASS [2/2]

#define REGISTER_TYPED_DATA_CLASS (   clazz)     cls = Class::NewTypedDataClass(kTypedData##clazz##Cid, isolate_group);

◆ REGISTER_TYPED_DATA_VIEW_CLASS [1/2]

#define REGISTER_TYPED_DATA_VIEW_CLASS (   clazz)
Value:
cls = \
Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid, isolate_group); \
RegisterPrivateClass(cls, Symbols::_##clazz##View(), lib); \
pending_classes.Add(cls); \
cls = Class::NewUnmodifiableTypedDataViewClass( \
kUnmodifiableTypedData##clazz##ViewCid, isolate_group); \
RegisterPrivateClass(cls, Symbols::_Unmodifiable##clazz##View(), lib); \
pending_classes.Add(cls);

◆ REGISTER_TYPED_DATA_VIEW_CLASS [2/2]

#define REGISTER_TYPED_DATA_VIEW_CLASS (   clazz)
Value:
cls = \
Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid, isolate_group); \
cls = Class::NewUnmodifiableTypedDataViewClass( \
kUnmodifiableTypedData##clazz##ViewCid, isolate_group);

◆ RULE_CASE [1/2]

#define RULE_CASE (   Name)
Value:
case RebindRule::k##Name: \
return #Name;

◆ RULE_CASE [2/2]

#define RULE_CASE (   Name)
Value:
if (strcmp(str, #Name) == 0) { \
*out = RebindRule::k##Name; \
return true; \
}

◆ SET_CLASS_NAME

#define SET_CLASS_NAME (   class_name,
  name 
)
Value:
cls = class_name##_class(); \
cls.set_name(Symbols::name());

Definition at line 1466 of file object.cc.

◆ TRACE_TYPE_CHECKS_VERBOSE

#define TRACE_TYPE_CHECKS_VERBOSE (   format,
  ... 
)
Value:
if (FLAG_trace_type_checks_verbose) { \
OS::PrintErr(format, ##__VA_ARGS__); \
}
uint32_t uint32_t * format

Definition at line 226 of file object.cc.

227 { \
228 OS::PrintErr(format, ##__VA_ARGS__); \
229 }

◆ TYPED_DATA_GET_INDEXED_CASES

#define TYPED_DATA_GET_INDEXED_CASES (   clazz)
Value:
case MethodRecognizer::k##clazz##ArrayGetIndexed: \
case MethodRecognizer::kExternal##clazz##ArrayGetIndexed: \
case MethodRecognizer::k##clazz##ArrayViewGetIndexed: \
#define FALL_THROUGH
Definition globals.h:15