v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
objects.h File Reference
Include dependency graph for objects.h:

Go to the source code of this file.

Classes

class  v8::internal::Object
 
struct  v8::internal::Object::Hasher
 
struct  v8::internal::Object::KeyEqualSafe
 
struct  v8::internal::Object::Comparer
 
struct  v8::internal::Object::FullPtrComparer
 
struct  v8::internal::Brief
 
class  v8::internal::MapWord
 
class  v8::internal::Relocatable
 
class  v8::internal::BooleanBit
 
class  v8::internal::SharedObjectSafePublishGuard
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define IS_TYPE_FUNCTION_DECL(Type)
 
#define IS_TYPE_FUNCTION_DECL(Type, Value, _)
 
#define DECL_STRUCT_PREDICATE(NAME, Name, name)
 

Enumerations

enum  v8::internal::WriteBarrierMode { v8::internal::SKIP_WRITE_BARRIER , v8::internal::UNSAFE_SKIP_WRITE_BARRIER , v8::internal::UPDATE_EPHEMERON_KEY_WRITE_BARRIER , v8::internal::UPDATE_WRITE_BARRIER }
 
enum  v8::internal::PropertyNormalizationMode { v8::internal::CLEAR_INOBJECT_PROPERTIES , v8::internal::KEEP_INOBJECT_PROPERTIES }
 
enum  v8::internal::TransitionFlag { v8::internal::INSERT_TRANSITION , v8::internal::OMIT_TRANSITION }
 
enum  v8::internal::TransitionKindFlag { v8::internal::SIMPLE_PROPERTY_TRANSITION , v8::internal::PROPERTY_TRANSITION , v8::internal::PROTOTYPE_TRANSITION , v8::internal::SPECIAL_TRANSITION }
 
enum  v8::internal::DescriptorFlag { v8::internal::ALL_DESCRIPTORS , v8::internal::OWN_DESCRIPTORS }
 
enum class  v8::internal::ComparisonResult { v8::internal::kLessThan = -1 , v8::internal::kEqual = 0 , v8::internal::kGreaterThan = 1 , v8::internal::kUndefined = 2 }
 
enum class  v8::internal::OnNonExistent { v8::internal::kThrowReferenceError , v8::internal::kReturnUndefined }
 
enum class  v8::internal::ElementTypes { v8::internal::kAll , v8::internal::kStringAndSymbol }
 
enum class  v8::internal::EnforceDefineSemantics { v8::internal::kSet , v8::internal::kDefine }
 
enum  v8::internal::EnsureElementsMode { v8::internal::DONT_ALLOW_DOUBLE_ELEMENTS , v8::internal::ALLOW_COPIED_DOUBLE_ELEMENTS , v8::internal::ALLOW_CONVERTED_DOUBLE_ELEMENTS }
 
enum  v8::internal::AccessorComponent { v8::internal::ACCESSOR_GETTER , v8::internal::ACCESSOR_SETTER }
 

Functions

bool v8::internal::ComparisonResultToBool (Operation op, ComparisonResult result)
 
ShouldThrow v8::internal::GetShouldThrow (Isolate *isolate, Maybe< ShouldThrow > should_throw)
 
std::ostream & v8::internal::operator<< (std::ostream &os, Tagged< Object > obj)
 
std::ostream & v8::internal::operator<< (std::ostream &os, Object::Conversion kind)
 
std::ostream & v8::internal::operator<< (std::ostream &os, const Brief &v)
 
static V8_INLINE bool v8::internal::HasWeakHeapObjectTag (const Tagged< Object > value)
 
template<HeapObjectReferenceType kRefType, typename StorageType >
V8_INLINE constexpr bool v8::internal::IsObject (TaggedImpl< kRefType, StorageType > obj)
 
template<HeapObjectReferenceType kRefType, typename StorageType >
V8_INLINE constexpr bool v8::internal::IsSmi (TaggedImpl< kRefType, StorageType > obj)
 
template<HeapObjectReferenceType kRefType, typename StorageType >
V8_INLINE constexpr bool v8::internal::IsHeapObject (TaggedImpl< kRefType, StorageType > obj)
 
template<typename StorageType >
V8_INLINE constexpr bool v8::internal::IsWeak (TaggedImpl< HeapObjectReferenceType::WEAK, StorageType > obj)
 
V8_INLINE bool v8::internal::IsSmi (Tagged< Object > obj)
 
V8_INLINE bool v8::internal::IsSmi (Tagged< HeapObject > obj)
 
V8_INLINE bool v8::internal::IsSmi (Tagged< Smi > obj)
 
V8_INLINE bool v8::internal::IsHeapObject (Tagged< Object > obj)
 
V8_INLINE bool v8::internal::IsHeapObject (Tagged< HeapObject > obj)
 
V8_INLINE bool v8::internal::IsHeapObject (Tagged< Smi > obj)
 
bool v8::internal::IsTaggedIndex (Tagged< Object > obj)
 
V8_INLINE bool v8::internal::IsNumber (Tagged< Object > obj, ReadOnlyRoots roots)
 
bool v8::internal::IsAnyHole (Tagged< Object > obj, PtrComprCageBase cage_base)
 
bool v8::internal::IsAnyHole (Tagged< Object > obj)
 
bool v8::internal::IsZero (Tagged< Object > obj)
 
bool v8::internal::IsNoSharedNameSentinel (Tagged< Object > obj)
 
bool v8::internal::IsPrivateSymbol (Tagged< Object > obj)
 
bool v8::internal::IsPublicSymbol (Tagged< Object > obj)
 
template<typename T >
V8_INLINE bool v8::internal::IsWasmObject (T obj, Isolate *=nullptr)
 
bool v8::internal::IsJSObjectThatCanBeTrackedAsPrototype (Tagged< Object > obj)
 
bool v8::internal::IsJSObjectThatCanBeTrackedAsPrototype (Tagged< HeapObject > obj)
 
bool v8::internal::IsJSApiWrapperObject (Tagged< HeapObject > js_obj)
 
bool v8::internal::IsJSApiWrapperObject (Tagged< Map > map)
 
bool v8::internal::IsNaN (Tagged< Object > obj)
 
bool v8::internal::IsMinusZero (Tagged< Object > obj)
 
bool v8::internal::IsShared (Tagged< Object > obj)
 
void v8::internal::ShortPrint (Tagged< Object > obj, FILE *out)
 
void v8::internal::ShortPrint (Tagged< Object > obj, StringStream *accumulator)
 
void v8::internal::ShortPrint (Tagged< Object > obj, std::ostream &os)
 
void v8::internal::Print (Tagged< Object > obj)
 
void v8::internal::Print (Tagged< Object > obj, std::ostream &os)
 

Variables

const int v8::internal::kVariableSizeSentinel = 0
 
const int v8::internal::kStubMajorKeyBits = 8
 
const int v8::internal::kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1
 

Macro Definition Documentation

◆ DECL_STRUCT_PREDICATE

#define DECL_STRUCT_PREDICATE ( NAME,
Name,
name )
Value:
V8_INLINE bool Is##Name(Tagged<Object> obj); \
V8_INLINE bool Is##Name(Tagged<Object> obj, PtrComprCageBase cage_base);
#define V8_INLINE
Definition v8config.h:500

Definition at line 736 of file objects.h.

◆ IS_TYPE_FUNCTION_DECL [1/2]

#define IS_TYPE_FUNCTION_DECL ( Type)
Value:
V8_INLINE bool Is##Type(Tagged<Object> obj); \
V8_INLINE bool Is##Type(Tagged<Object> obj, PtrComprCageBase cage_base);

Definition at line 690 of file objects.h.

◆ IS_TYPE_FUNCTION_DECL [2/2]

#define IS_TYPE_FUNCTION_DECL ( Type,
Value,
_ )
Value:
V8_INLINE bool Is##Type(Tagged<Object> obj, Isolate* isolate); \
V8_INLINE bool Is##Type(Tagged<Object> obj, LocalIsolate* isolate); \
V8_INLINE bool Is##Type(Tagged<Object> obj, ReadOnlyRoots roots); \
V8_INLINE bool Is##Type(Tagged<Object> obj);

Definition at line 690 of file objects.h.