v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::DirectHandle< T > Class Template Reference

#include <handles.h>

Inheritance diagram for v8::internal::DirectHandle< T >:
Collaboration diagram for v8::internal::DirectHandle< T >:

Public Types

using MaybeType = MaybeDirectHandle<T>
 

Public Member Functions

V8_INLINE DirectHandle ()=default
 
V8_INLINE DirectHandle (Tagged< T > object, Isolate *isolate)
 
V8_INLINE DirectHandle (Tagged< T > object, LocalIsolate *isolate)
 
V8_INLINE DirectHandle (Tagged< T > object, LocalHeap *local_heap)
 
template<typename S >
requires (is_subtype_v<S, T>)
V8_INLINE DirectHandle (DirectHandle< S > handle)
 
template<typename S >
requires (is_subtype_v<S, T>)
V8_INLINE DirectHandle (IndirectHandle< S > handle)
 
V8_INLINE IndirectHandle< Toperator-> () const
 
V8_INLINE Tagged< Toperator* () const
 
V8_INLINE bool is_null () const
 
V8_INLINE Address address () const
 
V8_INLINE ValueHelper::InternalRepresentationType repr () const
 
V8_INLINE void SetValue (Tagged< T > new_value)
 
V8_INLINE bool equals (DirectHandle< T > other) const
 
template<typename S >
V8_INLINE bool is_identical_to (Handle< S > other) const
 
template<typename S >
V8_INLINE bool is_identical_to (DirectHandle< S > other) const
 
- Public Member Functions inherited from v8::api_internal::StackAllocated< false >
V8_INLINE StackAllocated ()=default
 

Static Public Member Functions

static V8_INLINE const DirectHandle null ()
 
static V8_INLINE DirectHandle< TNew (Tagged< T > object, Isolate *isolate)
 
static V8_INLINE DirectHandle FromSlot (Address *slot)
 

Private Member Functions

 DirectHandle (no_checking_tag do_not_check)
 
 DirectHandle (const DirectHandle< T > &other, no_checking_tag do_not_check)
 

Private Attributes

IndirectHandle< Thandle_
 

Friends

class HandleBase
 
template<typename >
class DirectHandle
 
template<typename >
class MaybeDirectHandle
 
class DirectHandleUnchecked< T >
 
template<typename To , typename From >
DirectHandle< To > UncheckedCast (DirectHandle< From > value)
 
template<typename U >
IndirectHandle< Uindirect_handle (DirectHandle< U >)
 
template<typename U >
IndirectHandle< Uindirect_handle (DirectHandle< U >, Isolate *)
 
template<typename U >
IndirectHandle< Uindirect_handle (DirectHandle< U >, LocalIsolate *)
 
template<typename U >
IndirectHandle< Uindirect_handle (DirectHandle< U >, LocalHeap *)
 

Additional Inherited Members

- Protected Member Functions inherited from v8::api_internal::StackAllocated< false >
V8_INLINE StackAllocated (no_checking_tag)
 
V8_INLINE StackAllocated (const StackAllocated &other, no_checking_tag)
 
V8_INLINE void VerifyOnStack () const
 
- Static Protected Attributes inherited from v8::api_internal::StackAllocated< false >
static constexpr no_checking_tag do_not_check
 

Detailed Description

template<typename T>
class v8::internal::DirectHandle< T >

Definition at line 653 of file handles.h.

Member Typedef Documentation

◆ MaybeType

template<typename T >
using v8::internal::DirectHandle< T >::MaybeType = MaybeDirectHandle<T>

Definition at line 724 of file handles.h.

Constructor & Destructor Documentation

◆ DirectHandle() [1/8]

template<typename T >
V8_INLINE v8::internal::DirectHandle< T >::DirectHandle ( )
default

◆ DirectHandle() [2/8]

template<typename T >
V8_INLINE v8::internal::DirectHandle< T >::DirectHandle ( Tagged< T > object,
Isolate * isolate )
inline

Definition at line 670 of file handles.h.

◆ DirectHandle() [3/8]

template<typename T >
V8_INLINE v8::internal::DirectHandle< T >::DirectHandle ( Tagged< T > object,
LocalIsolate * isolate )
inline

Definition at line 672 of file handles.h.

◆ DirectHandle() [4/8]

template<typename T >
V8_INLINE v8::internal::DirectHandle< T >::DirectHandle ( Tagged< T > object,
LocalHeap * local_heap )
inline

Definition at line 674 of file handles.h.

◆ DirectHandle() [5/8]

template<typename T >
template<typename S >
requires (is_subtype_v<S, T>)
V8_INLINE v8::internal::DirectHandle< T >::DirectHandle ( DirectHandle< S > handle)
inline

Definition at line 678 of file handles.h.

Here is the call graph for this function:

◆ DirectHandle() [6/8]

template<typename T >
template<typename S >
requires (is_subtype_v<S, T>)
V8_INLINE v8::internal::DirectHandle< T >::DirectHandle ( IndirectHandle< S > handle)
inline

Definition at line 683 of file handles.h.

Here is the call graph for this function:

◆ DirectHandle() [7/8]

template<typename T >
v8::internal::DirectHandle< T >::DirectHandle ( no_checking_tag do_not_check)
inlineexplicitprivate

Definition at line 747 of file handles.h.

◆ DirectHandle() [8/8]

template<typename T >
v8::internal::DirectHandle< T >::DirectHandle ( const DirectHandle< T > & other,
no_checking_tag do_not_check )
inlineexplicitprivate

Definition at line 749 of file handles.h.

Member Function Documentation

◆ address()

template<typename T >
V8_INLINE Address v8::internal::DirectHandle< T >::address ( ) const
inline

Definition at line 695 of file handles.h.

Here is the caller graph for this function:

◆ equals()

template<typename T >
V8_INLINE bool v8::internal::DirectHandle< T >::equals ( DirectHandle< T > other) const
inline

Definition at line 711 of file handles.h.

◆ FromSlot()

template<typename T >
static V8_INLINE DirectHandle v8::internal::DirectHandle< T >::FromSlot ( Address * slot)
inlinestatic

Definition at line 687 of file handles.h.

Here is the caller graph for this function:

◆ is_identical_to() [1/2]

template<typename T >
template<typename S >
V8_INLINE bool v8::internal::DirectHandle< T >::is_identical_to ( DirectHandle< S > other) const
inline

Definition at line 720 of file handles.h.

◆ is_identical_to() [2/2]

template<typename T >
template<typename S >
V8_INLINE bool v8::internal::DirectHandle< T >::is_identical_to ( Handle< S > other) const
inline

Definition at line 716 of file handles.h.

Here is the caller graph for this function:

◆ is_null()

template<typename T >
V8_INLINE bool v8::internal::DirectHandle< T >::is_null ( ) const
inline

Definition at line 693 of file handles.h.

◆ New()

template<typename T >
static V8_INLINE DirectHandle< T > v8::internal::DirectHandle< T >::New ( Tagged< T > object,
Isolate * isolate )
inlinestatic

Definition at line 664 of file handles.h.

Here is the caller graph for this function:

◆ null()

template<typename T >
static V8_INLINE const DirectHandle v8::internal::DirectHandle< T >::null ( )
inlinestatic

Definition at line 661 of file handles.h.

Here is the caller graph for this function:

◆ operator*()

template<typename T >
V8_INLINE Tagged< T > v8::internal::DirectHandle< T >::operator* ( ) const
inline

Definition at line 692 of file handles.h.

◆ operator->()

template<typename T >
V8_INLINE IndirectHandle< T > v8::internal::DirectHandle< T >::operator-> ( ) const
inline

Definition at line 691 of file handles.h.

◆ repr()

template<typename T >
V8_INLINE ValueHelper::InternalRepresentationType v8::internal::DirectHandle< T >::repr ( ) const
inline

Definition at line 696 of file handles.h.

◆ SetValue()

template<typename T >
V8_INLINE void v8::internal::DirectHandle< T >::SetValue ( Tagged< T > new_value)
inline

Definition at line 707 of file handles.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ DirectHandle

template<typename T >
template<typename >
friend class DirectHandle
friend

Definition at line 730 of file handles.h.

◆ DirectHandleUnchecked< T >

template<typename T >
friend class DirectHandleUnchecked< T >
friend

Definition at line 732 of file handles.h.

◆ HandleBase

template<typename T >
friend class HandleBase
friend

Definition at line 728 of file handles.h.

◆ indirect_handle [1/4]

template<typename T >
template<typename U >
IndirectHandle< U > indirect_handle ( DirectHandle< U > )
friend

◆ indirect_handle [2/4]

template<typename T >
template<typename U >
IndirectHandle< U > indirect_handle ( DirectHandle< U > ,
Isolate *  )
friend

◆ indirect_handle [3/4]

template<typename T >
template<typename U >
IndirectHandle< U > indirect_handle ( DirectHandle< U > ,
LocalHeap *  )
friend

◆ indirect_handle [4/4]

template<typename T >
template<typename U >
IndirectHandle< U > indirect_handle ( DirectHandle< U > ,
LocalIsolate *  )
friend

◆ MaybeDirectHandle

template<typename T >
template<typename >
friend class MaybeDirectHandle
friend

Definition at line 732 of file handles.h.

◆ UncheckedCast

template<typename T >
template<typename To , typename From >
DirectHandle< To > UncheckedCast ( DirectHandle< From > value)
friend

Definition at line 131 of file handles-inl.h.

Member Data Documentation

◆ handle_

template<typename T >
IndirectHandle<T> v8::internal::DirectHandle< T >::handle_
private

Definition at line 753 of file handles.h.


The documentation for this class was generated from the following files: