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

#include <heap-object.h>

Inheritance diagram for v8::internal::HeapObjectLayout:
Collaboration diagram for v8::internal::HeapObjectLayout:

Public Member Functions

 HeapObjectLayout ()=delete
 
Tagged< Mapmap () const
 
Tagged< Mapmap (AcquireLoadTag) const
 
MapWord map_word (RelaxedLoadTag) const
 
void set_map (Isolate *isolate, Tagged< Map > value)
 
template<typename IsolateT >
void set_map (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
template<typename IsolateT >
void set_map_safe_transition (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
void set_map_safe_transition_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
template<typename IsolateT >
void set_map_after_allocation (IsolateT *isolate, Tagged< Map > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void set_map_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, ReleaseStoreTag)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, RelaxedStoreTag)
 
Address ptr () const
 
Address address () const
 
ReadOnlyRoots EarlyGetReadOnlyRoots () const
 
int Size () const
 
V8_EXPORT_PRIVATE int SizeFromMap (Tagged< Map > map) const
 
WriteBarrierMode GetWriteBarrierMode (const DisallowGarbageCollection &promise)
 

Private Member Functions

 HeapObjectLayout (HeapObjectLayout &&) V8_NOEXCEPT=delete
 
 HeapObjectLayout (const HeapObjectLayout &) V8_NOEXCEPT=delete
 
HeapObjectLayoutoperator= (HeapObjectLayout &&) V8_NOEXCEPT=delete
 
HeapObjectLayoutoperator= (const HeapObjectLayout &) V8_NOEXCEPT=delete
 

Private Attributes

TaggedMember< Mapmap_
 

Friends

class HeapObject
 
class Heap
 
class CodeStubAssembler
 

Detailed Description

Definition at line 31 of file heap-object.h.

Constructor & Destructor Documentation

◆ HeapObjectLayout() [1/3]

v8::internal::HeapObjectLayout::HeapObjectLayout ( )
delete

◆ HeapObjectLayout() [2/3]

v8::internal::HeapObjectLayout::HeapObjectLayout ( HeapObjectLayout && )
privatedelete

◆ HeapObjectLayout() [3/3]

v8::internal::HeapObjectLayout::HeapObjectLayout ( const HeapObjectLayout & )
privatedelete

Member Function Documentation

◆ address()

Address v8::internal::HeapObjectLayout::address ( ) const
inline

Definition at line 82 of file heap-object.h.

Here is the caller graph for this function:

◆ EarlyGetReadOnlyRoots()

ReadOnlyRoots v8::internal::HeapObjectLayout::EarlyGetReadOnlyRoots ( ) const
inline

Definition at line 1341 of file objects-inl.h.

Here is the call graph for this function:

◆ GetWriteBarrierMode()

WriteBarrierMode v8::internal::HeapObjectLayout::GetWriteBarrierMode ( const DisallowGarbageCollection & promise)
inline

Definition at line 1681 of file objects-inl.h.

Here is the call graph for this function:

◆ map() [1/2]

Tagged< Map > v8::internal::HeapObjectLayout::map ( ) const
inline

Definition at line 1358 of file objects-inl.h.

Here is the caller graph for this function:

◆ map() [2/2]

Tagged< Map > v8::internal::HeapObjectLayout::map ( AcquireLoadTag ) const
inline

Definition at line 1363 of file objects-inl.h.

◆ map_word()

MapWord v8::internal::HeapObjectLayout::map_word ( RelaxedLoadTag ) const
inline

Definition at line 1368 of file objects-inl.h.

◆ operator=() [1/2]

HeapObjectLayout & v8::internal::HeapObjectLayout::operator= ( const HeapObjectLayout & )
privatedelete

◆ operator=() [2/2]

HeapObjectLayout & v8::internal::HeapObjectLayout::operator= ( HeapObjectLayout && )
privatedelete

◆ ptr()

Address v8::internal::HeapObjectLayout::ptr ( ) const
inline

Definition at line 79 of file heap-object.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_map() [1/2]

void v8::internal::HeapObjectLayout::set_map ( Isolate * isolate,
Tagged< Map > value )
inline

Definition at line 1373 of file objects-inl.h.

Here is the caller graph for this function:

◆ set_map() [2/2]

template<typename IsolateT >
void v8::internal::HeapObjectLayout::set_map ( IsolateT * isolate,
Tagged< Map > value,
ReleaseStoreTag  )
inline

Definition at line 1379 of file objects-inl.h.

◆ set_map_after_allocation()

template<typename IsolateT >
void v8::internal::HeapObjectLayout::set_map_after_allocation ( IsolateT * isolate,
Tagged< Map > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 1500 of file objects-inl.h.

◆ set_map_no_write_barrier()

void v8::internal::HeapObjectLayout::set_map_no_write_barrier ( Isolate * isolate,
Tagged< Map > value,
RelaxedStoreTag tag = kRelaxedStore )
inline

Definition at line 1440 of file objects-inl.h.

◆ set_map_safe_transition()

template<typename IsolateT >
void v8::internal::HeapObjectLayout::set_map_safe_transition ( IsolateT * isolate,
Tagged< Map > value,
ReleaseStoreTag  )
inline

Definition at line 1386 of file objects-inl.h.

Here is the caller graph for this function:

◆ set_map_safe_transition_no_write_barrier()

void v8::internal::HeapObjectLayout::set_map_safe_transition_no_write_barrier ( Isolate * isolate,
Tagged< Map > value,
RelaxedStoreTag tag = kRelaxedStore )
inline

Definition at line 1419 of file objects-inl.h.

◆ set_map_word_forwarded() [1/2]

void v8::internal::HeapObjectLayout::set_map_word_forwarded ( Tagged< HeapObject > target_object,
RelaxedStoreTag tag )
inline

Definition at line 1584 of file objects-inl.h.

◆ set_map_word_forwarded() [2/2]

void v8::internal::HeapObjectLayout::set_map_word_forwarded ( Tagged< HeapObject > target_object,
ReleaseStoreTag tag )
inline

Definition at line 1578 of file objects-inl.h.

◆ Size()

int v8::internal::HeapObjectLayout::Size ( ) const
inline

Definition at line 1612 of file objects-inl.h.

Here is the caller graph for this function:

◆ SizeFromMap()

int v8::internal::HeapObjectLayout::SizeFromMap ( Tagged< Map > map) const

Definition at line 1935 of file objects.cc.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ CodeStubAssembler

friend class CodeStubAssembler
friend

Definition at line 111 of file heap-object.h.

◆ Heap

friend class Heap
friend

Definition at line 110 of file heap-object.h.

◆ HeapObject

friend class HeapObject
friend

Definition at line 109 of file heap-object.h.

Member Data Documentation

◆ map_

TaggedMember<Map> v8::internal::HeapObjectLayout::map_
private

Definition at line 121 of file heap-object.h.


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