#ifndef V8_OBJECTS_STRING_FORWARDING_TABLE_INL_H_
#define V8_OBJECTS_STRING_FORWARDING_TABLE_INL_H_
#include "src/base/atomicops.h"
#include "src/common/globals.h"
#include "src/heap/safepoint.h"
#include "src/objects/name-inl.h"
#include "src/objects/slots-inl.h"
#include "src/objects/slots.h"
#include "src/objects/string-forwarding-table.h"
#include "src/objects/string-inl.h"
#include "src/objects/object-macros.h"
namespace v8 {
namespace internal {
class StringForwardingTable::Record final { … };
uint32_t StringForwardingTable::Record::raw_hash(
PtrComprCageBase cage_base) const { … }
v8::String::ExternalStringResourceBase*
StringForwardingTable::Record::external_resource(bool* is_one_byte) const { … }
void StringForwardingTable::Record::set_raw_hash_if_empty(uint32_t raw_hash) { … }
void StringForwardingTable::Record::set_external_resource(
v8::String::ExternalStringResourceBase* resource, bool is_one_byte) { … }
void StringForwardingTable::Record::SetInternalized(Tagged<String> string,
Tagged<String> forward_to) { … }
void StringForwardingTable::Record::SetExternal(
Tagged<String> string, v8::String::ExternalStringResourceBase* resource,
bool is_one_byte, uint32_t raw_hash) { … }
bool StringForwardingTable::Record::TryUpdateExternalResource(
v8::String::ExternalStringResourceBase* resource, bool is_one_byte) { … }
bool StringForwardingTable::Record::TryUpdateExternalResource(Address address) { … }
void StringForwardingTable::Record::DisposeExternalResource() { … }
void StringForwardingTable::Record::DisposeUnusedExternalResource(
Tagged<String> original) { … }
class StringForwardingTable::Block { … };
class StringForwardingTable::BlockVector { … };
int StringForwardingTable::size() const { … }
bool StringForwardingTable::empty() const { … }
uint32_t StringForwardingTable::BlockForIndex(int index,
uint32_t* index_in_block) { … }
uint32_t StringForwardingTable::IndexInBlock(int index, uint32_t block_index) { … }
uint32_t StringForwardingTable::CapacityForBlock(uint32_t block_index) { … }
template <typename Func>
void StringForwardingTable::IterateElements(Func&& callback) { … }
}
}
#include "src/objects/object-macros-undef.h"
#endif