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

#include <string-forwarding-table-inl.h>

Collaboration diagram for v8::internal::StringForwardingTable::Record:

Public Member Functions

Tagged< Stringoriginal_string (PtrComprCageBase cage_base) const
 
Tagged< Stringforward_string (PtrComprCageBase cage_base) const
 
uint32_t raw_hash (PtrComprCageBase cage_base) const
 
v8::String::ExternalStringResourceBaseexternal_resource (bool *is_one_byte) const
 
Tagged< ObjectOriginalStringObject (PtrComprCageBase cage_base) const
 
Tagged< ObjectForwardStringObjectOrHash (PtrComprCageBase cage_base) const
 
Address ExternalResourceAddress () const
 
void set_original_string (Tagged< Object > object)
 
void set_forward_string (Tagged< Object > object)
 
void set_raw_hash_if_empty (uint32_t raw_hash)
 
void set_external_resource (v8::String::ExternalStringResourceBase *resource, bool is_one_byte)
 
void set_external_resource (Address address)
 
void SetInternalized (Tagged< String > string, Tagged< String > forward_to)
 
void SetExternal (Tagged< String > string, v8::String::ExternalStringResourceBase *, bool is_one_byte, uint32_t raw_hash)
 
bool TryUpdateExternalResource (v8::String::ExternalStringResourceBase *resource, bool is_one_byte)
 
bool TryUpdateExternalResource (Address address)
 
void DisposeExternalResource ()
 
void DisposeUnusedExternalResource (Isolate *isolate, Tagged< String > original_string)
 

Private Member Functions

OffHeapObjectSlot OriginalStringSlot () const
 
OffHeapObjectSlot ForwardStringOrHashSlot () const
 

Private Attributes

Tagged_t original_string_
 
Tagged_t forward_string_or_hash_
 
Address external_resource_
 

Static Private Attributes

static constexpr intptr_t kExternalResourceIsOneByteTag = 1
 
static constexpr intptr_t kExternalResourceEncodingMask = 1
 
static constexpr intptr_t kExternalResourceAddressMask
 

Friends

class StringForwardingTable::Block
 

Detailed Description

Definition at line 24 of file string-forwarding-table-inl.h.

Member Function Documentation

◆ DisposeExternalResource()

void v8::internal::StringForwardingTable::Record::DisposeExternalResource ( )
inline

Definition at line 206 of file string-forwarding-table-inl.h.

◆ DisposeUnusedExternalResource()

void v8::internal::StringForwardingTable::Record::DisposeUnusedExternalResource ( Isolate * isolate,
Tagged< String > original_string )
inline

Definition at line 213 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ external_resource()

v8::String::ExternalStringResourceBase * v8::internal::StringForwardingTable::Record::external_resource ( bool * is_one_byte) const
inline

Definition at line 145 of file string-forwarding-table-inl.h.

Here is the caller graph for this function:

◆ ExternalResourceAddress()

Address v8::internal::StringForwardingTable::Record::ExternalResourceAddress ( ) const
inline

Definition at line 46 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ forward_string()

Tagged< String > v8::internal::StringForwardingTable::Record::forward_string ( PtrComprCageBase cage_base) const
inline

Definition at line 30 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ ForwardStringObjectOrHash()

Tagged< Object > v8::internal::StringForwardingTable::Record::ForwardStringObjectOrHash ( PtrComprCageBase cage_base) const
inline

Definition at line 42 of file string-forwarding-table-inl.h.

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

◆ ForwardStringOrHashSlot()

OffHeapObjectSlot v8::internal::StringForwardingTable::Record::ForwardStringOrHashSlot ( ) const
inlineprivate

Definition at line 84 of file string-forwarding-table-inl.h.

Here is the caller graph for this function:

◆ original_string()

Tagged< String > v8::internal::StringForwardingTable::Record::original_string ( PtrComprCageBase cage_base) const
inline

Definition at line 26 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ OriginalStringObject()

Tagged< Object > v8::internal::StringForwardingTable::Record::OriginalStringObject ( PtrComprCageBase cage_base) const
inline

Definition at line 38 of file string-forwarding-table-inl.h.

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

◆ OriginalStringSlot()

OffHeapObjectSlot v8::internal::StringForwardingTable::Record::OriginalStringSlot ( ) const
inlineprivate

Definition at line 80 of file string-forwarding-table-inl.h.

Here is the caller graph for this function:

◆ raw_hash()

uint32_t v8::internal::StringForwardingTable::Record::raw_hash ( PtrComprCageBase cage_base) const
inline

Definition at line 131 of file string-forwarding-table-inl.h.

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

◆ set_external_resource() [1/2]

void v8::internal::StringForwardingTable::Record::set_external_resource ( Address address)
inline

Definition at line 61 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ set_external_resource() [2/2]

void v8::internal::StringForwardingTable::Record::set_external_resource ( v8::String::ExternalStringResourceBase * resource,
bool is_one_byte )
inline

Definition at line 162 of file string-forwarding-table-inl.h.

◆ set_forward_string()

void v8::internal::StringForwardingTable::Record::set_forward_string ( Tagged< Object > object)
inline

Definition at line 54 of file string-forwarding-table-inl.h.

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

◆ set_original_string()

void v8::internal::StringForwardingTable::Record::set_original_string ( Tagged< Object > object)
inline

Definition at line 50 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ set_raw_hash_if_empty()

void v8::internal::StringForwardingTable::Record::set_raw_hash_if_empty ( uint32_t raw_hash)
inline

Definition at line 153 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ SetExternal()

void v8::internal::StringForwardingTable::Record::SetExternal ( Tagged< String > string,
v8::String::ExternalStringResourceBase * resource,
bool is_one_byte,
uint32_t raw_hash )
inline

Definition at line 179 of file string-forwarding-table-inl.h.

Here is the caller graph for this function:

◆ SetInternalized()

void v8::internal::StringForwardingTable::Record::SetInternalized ( Tagged< String > string,
Tagged< String > forward_to )
inline

Definition at line 172 of file string-forwarding-table-inl.h.

Here is the caller graph for this function:

◆ TryUpdateExternalResource() [1/2]

bool v8::internal::StringForwardingTable::Record::TryUpdateExternalResource ( Address address)
inline

Definition at line 197 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

◆ TryUpdateExternalResource() [2/2]

bool v8::internal::StringForwardingTable::Record::TryUpdateExternalResource ( v8::String::ExternalStringResourceBase * resource,
bool is_one_byte )
inline

Definition at line 187 of file string-forwarding-table-inl.h.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ StringForwardingTable::Block

friend class StringForwardingTable::Block
friend

Definition at line 128 of file string-forwarding-table-inl.h.

Member Data Documentation

◆ external_resource_

Address v8::internal::StringForwardingTable::Record::external_resource_
private

Definition at line 110 of file string-forwarding-table-inl.h.

◆ forward_string_or_hash_

Tagged_t v8::internal::StringForwardingTable::Record::forward_string_or_hash_
private

Definition at line 104 of file string-forwarding-table-inl.h.

◆ kExternalResourceAddressMask

intptr_t v8::internal::StringForwardingTable::Record::kExternalResourceAddressMask
staticconstexprprivate
Initial value:
=
~kExternalResourceEncodingMask

Definition at line 90 of file string-forwarding-table-inl.h.

◆ kExternalResourceEncodingMask

intptr_t v8::internal::StringForwardingTable::Record::kExternalResourceEncodingMask = 1
staticconstexprprivate

Definition at line 89 of file string-forwarding-table-inl.h.

◆ kExternalResourceIsOneByteTag

intptr_t v8::internal::StringForwardingTable::Record::kExternalResourceIsOneByteTag = 1
staticconstexprprivate

Definition at line 88 of file string-forwarding-table-inl.h.

◆ original_string_

Tagged_t v8::internal::StringForwardingTable::Record::original_string_
private

Definition at line 94 of file string-forwarding-table-inl.h.


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