#ifndef V8_OBJECTS_COMPRESSED_SLOTS_INL_H_
#define V8_OBJECTS_COMPRESSED_SLOTS_INL_H_
#ifdef V8_COMPRESS_POINTERS
#include "src/common/ptr-compr-inl.h"
#include "src/objects/casting.h"
#include "src/objects/compressed-slots.h"
#include "src/objects/maybe-object-inl.h"
namespace v8::internal {
CompressedObjectSlot::CompressedObjectSlot(Tagged<Object>* object)
: … { … }
bool CompressedObjectSlot::contains_map_value(Address raw_value) const { … }
bool CompressedObjectSlot::Relaxed_ContainsMapValue(Address raw_value) const { … }
Tagged<Object> CompressedObjectSlot::operator*() const { … }
Tagged<Object> CompressedObjectSlot::load() const { … }
Tagged<Object> CompressedObjectSlot::load(PtrComprCageBase cage_base) const { … }
void CompressedObjectSlot::store(Tagged<Object> value) const { … }
void CompressedObjectSlot::store_map(Tagged<Map> map) const { … }
Tagged<Map> CompressedObjectSlot::load_map() const { … }
Tagged<Object> CompressedObjectSlot::Acquire_Load() const { … }
Tagged<Object> CompressedObjectSlot::Relaxed_Load() const { … }
Tagged<Object> CompressedObjectSlot::Relaxed_Load(
PtrComprCageBase cage_base) const { … }
Tagged_t CompressedObjectSlot::Relaxed_Load_Raw() const { … }
Tagged<Object> CompressedObjectSlot::RawToTagged(PtrComprCageBase cage_base,
Tagged_t raw) { … }
void CompressedObjectSlot::Relaxed_Store(Tagged<Object> value) const { … }
void CompressedObjectSlot::Release_Store(Tagged<Object> value) const { … }
Tagged<Object> CompressedObjectSlot::Release_CompareAndSwap(
Tagged<Object> old, Tagged<Object> target) const { … }
Tagged<MaybeObject> CompressedMaybeObjectSlot::operator*() const { … }
Tagged<MaybeObject> CompressedMaybeObjectSlot::load(
PtrComprCageBase cage_base) const { … }
void CompressedMaybeObjectSlot::store(Tagged<MaybeObject> value) const { … }
Tagged<MaybeObject> CompressedMaybeObjectSlot::Relaxed_Load() const { … }
Tagged<MaybeObject> CompressedMaybeObjectSlot::Relaxed_Load(
PtrComprCageBase cage_base) const { … }
Tagged_t CompressedMaybeObjectSlot::Relaxed_Load_Raw() const { … }
Tagged<Object> CompressedMaybeObjectSlot::RawToTagged(
PtrComprCageBase cage_base, Tagged_t raw) { … }
void CompressedMaybeObjectSlot::Relaxed_Store(Tagged<MaybeObject> value) const { … }
void CompressedMaybeObjectSlot::Release_CompareAndSwap(
Tagged<MaybeObject> old, Tagged<MaybeObject> target) const { … }
Tagged<HeapObjectReference> CompressedHeapObjectSlot::operator*() const { … }
Tagged<HeapObjectReference> CompressedHeapObjectSlot::load(
PtrComprCageBase cage_base) const { … }
void CompressedHeapObjectSlot::store(Tagged<HeapObjectReference> value) const { … }
Tagged<HeapObject> CompressedHeapObjectSlot::ToHeapObject() const { … }
void CompressedHeapObjectSlot::StoreHeapObject(Tagged<HeapObject> value) const { … }
template <typename CompressionScheme>
Tagged<Object> OffHeapCompressedObjectSlot<CompressionScheme>::load() const { … }
template <typename CompressionScheme>
Tagged<Object> OffHeapCompressedObjectSlot<CompressionScheme>::load(
PtrComprCageBase cage_base) const { … }
template <typename CompressionScheme>
void OffHeapCompressedObjectSlot<CompressionScheme>::store(
Tagged<Object> value) const { … }
template <typename CompressionScheme>
Tagged<Object> OffHeapCompressedObjectSlot<CompressionScheme>::Relaxed_Load()
const { … }
template <typename CompressionScheme>
Tagged<Object> OffHeapCompressedObjectSlot<CompressionScheme>::Relaxed_Load(
PtrComprCageBase cage_base) const { … }
template <typename CompressionScheme>
Tagged<Object> OffHeapCompressedObjectSlot<CompressionScheme>::Acquire_Load()
const { … }
template <typename CompressionScheme>
Tagged<Object> OffHeapCompressedObjectSlot<CompressionScheme>::Acquire_Load(
PtrComprCageBase cage_base) const { … }
template <typename CompressionScheme>
void OffHeapCompressedObjectSlot<CompressionScheme>::Relaxed_Store(
Tagged<Object> value) const { … }
template <typename CompressionScheme>
void OffHeapCompressedObjectSlot<CompressionScheme>::Release_Store(
Tagged<Object> value) const { … }
template <typename CompressionScheme>
void OffHeapCompressedObjectSlot<CompressionScheme>::Release_CompareAndSwap(
Tagged<Object> old, Tagged<Object> target) const { … }
}
#endif
#endif