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

#include <fixed-array.h>

Inheritance diagram for v8::internal::FixedArray:
Collaboration diagram for v8::internal::FixedArray:

Classes

class  BodyDescriptor
 

Public Member Functions

void MoveElements (Isolate *isolate, int dst_index, int src_index, int len, WriteBarrierMode mode)
 
void CopyElements (Isolate *isolate, int dst_index, Tagged< FixedArray > src, int src_index, int len, WriteBarrierMode mode)
 
V8_EXPORT_PRIVATE void RightTrim (Isolate *isolate, int new_capacity)
 
void FillWithHoles (int from, int to)
 
bool is_the_hole (Isolate *isolate, int index)
 
void set_the_hole (Isolate *isolate, int index)
 
void set_the_hole (ReadOnlyRoots ro_roots, int index)
 
template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
HandleType< FixedArraySetAndGrow (Isolate *isolate, HandleType< FixedArray > array, int index, DirectHandle< Object > value)
 
- Public Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
Tagged< ElementTget (int index) const
 
Tagged< ElementTget (int index, RelaxedLoadTag) const
 
Tagged< ElementTget (int index, AcquireLoadTag) const
 
Tagged< ElementTget (int index, SeqCstAccessTag) const
 
void set (int index, Tagged< ElementT > value, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value)
 
void set (int index, Tagged< ElementT > value, RelaxedStoreTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, RelaxedStoreTag)
 
void set (int index, Tagged< ElementT > value, ReleaseStoreTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, ReleaseStoreTag)
 
void set (int index, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, SeqCstAccessTag)
 
Tagged< ElementTswap (int index, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
Tagged< ElementTcompare_and_swap (int index, Tagged< ElementT > expected, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
void RightTrim (Isolate *isolate, int new_capacity)
 
int AllocatedSize () const
 
SlotType RawFieldOfFirstElement () const
 
SlotType RawFieldOfElementAt (int index) const
 
Handle< DAllocate (IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation)
 

Static Public Member Functions

template<class IsolateT >
static Handle< FixedArrayNew (IsolateT *isolate, int capacity, AllocationType allocation=AllocationType::kYoung)
 
template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
static V8_EXPORT_PRIVATE HandleType< FixedArraySetAndGrow (Isolate *isolate, HandleType< FixedArray > array, int index, DirectHandle< Object > value)
 
template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
static HandleType< FixedArrayRightTrimOrEmpty (Isolate *isolate, HandleType< FixedArray > array, int new_length)
 
- Static Public Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
static void MoveElements (Isolate *isolate, Tagged< FixedArray > dst, int dst_index, Tagged< FixedArray > src, int src_index, int len, WriteBarrierMode mode=kDefaultMode)
 
static void CopyElements (Isolate *isolate, Tagged< FixedArray > dst, int dst_index, Tagged< FixedArray > src, int src_index, int len, WriteBarrierMode mode=kDefaultMode)
 
static constexpr int SizeFor (int capacity)
 
static constexpr int OffsetOfElementAt (int index)
 

Static Public Attributes

static constexpr int kMaxLength = FixedArray::kMaxCapacity
 
static constexpr int kMaxRegularLength = FixedArray::kMaxRegularCapacity
 
- Static Public Attributes inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
static constexpr bool kElementsAreMaybeObject
 
static constexpr int kElementSize
 
static constexpr int kMaxCapacity
 
static constexpr int kMaxRegularCapacity
 

Private Types

using Super = TaggedArrayBase<FixedArray, TaggedArrayShape>
 

Static Private Member Functions

static Handle< FixedArrayResize (Isolate *isolate, DirectHandle< FixedArray > xs, int new_capacity, AllocationType allocation=AllocationType::kYoung, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 

Additional Inherited Members

- Public Types inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
using Header
 
using Shape
 
- Protected Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
bool IsInBounds (int index) const
 
bool IsCowArray () const
 
 FLEXIBLE_ARRAY_MEMBER (ElementMemberT, objects)
 
- Static Protected Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
static Handle< FixedArrayAllocate (IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation=AllocationType::kYoung)
 
static constexpr int NewCapacityForIndex (int index, int old_capacity)
 

Detailed Description

Definition at line 219 of file fixed-array.h.

Member Typedef Documentation

◆ Super

Member Function Documentation

◆ CopyElements()

void v8::internal::FixedArray::CopyElements ( Isolate * isolate,
int dst_index,
Tagged< FixedArray > src,
int src_index,
int len,
WriteBarrierMode mode )
inline

Definition at line 420 of file fixed-array-inl.h.

Here is the caller graph for this function:

◆ FillWithHoles()

void v8::internal::FixedArray::FillWithHoles ( int from,
int to )
inline

Definition at line 408 of file fixed-array-inl.h.

Here is the call graph for this function:

◆ is_the_hole()

bool v8::internal::FixedArray::is_the_hole ( Isolate * isolate,
int index )
inline

Definition at line 396 of file fixed-array-inl.h.

◆ MoveElements()

void v8::internal::FixedArray::MoveElements ( Isolate * isolate,
int dst_index,
int src_index,
int len,
WriteBarrierMode mode )
inline

Definition at line 415 of file fixed-array-inl.h.

◆ New()

template<class IsolateT >
Handle< FixedArray > v8::internal::FixedArray::New ( IsolateT * isolate,
int capacity,
AllocationType allocation = AllocationType::kYoung )
inlinestatic

Definition at line 291 of file fixed-array-inl.h.

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

◆ Resize()

Handle< FixedArray > v8::internal::FixedArray::Resize ( Isolate * isolate,
DirectHandle< FixedArray > xs,
int new_capacity,
AllocationType allocation = AllocationType::kYoung,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inlinestaticprivate

Definition at line 427 of file fixed-array-inl.h.

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

◆ RightTrim()

void v8::internal::FixedArray::RightTrim ( Isolate * isolate,
int new_capacity )

Definition at line 48 of file fixed-array.cc.

Here is the call graph for this function:

◆ RightTrimOrEmpty()

template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
HandleType< FixedArray > v8::internal::FixedArray::RightTrimOrEmpty ( Isolate * isolate,
HandleType< FixedArray > array,
int new_length )
static

Definition at line 56 of file fixed-array.cc.

Here is the caller graph for this function:

◆ set_the_hole() [1/2]

void v8::internal::FixedArray::set_the_hole ( Isolate * isolate,
int index )
inline

Definition at line 400 of file fixed-array-inl.h.

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

◆ set_the_hole() [2/2]

void v8::internal::FixedArray::set_the_hole ( ReadOnlyRoots ro_roots,
int index )
inline

Definition at line 404 of file fixed-array-inl.h.

◆ SetAndGrow() [1/2]

template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
HandleType< FixedArray > v8::internal::FixedArray::SetAndGrow ( Isolate * isolate,
HandleType< FixedArray > array,
int index,
DirectHandle< Object > value )

Definition at line 24 of file fixed-array.cc.

Here is the call graph for this function:

◆ SetAndGrow() [2/2]

template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
static V8_EXPORT_PRIVATE HandleType< FixedArray > v8::internal::FixedArray::SetAndGrow ( Isolate * isolate,
HandleType< FixedArray > array,
int index,
DirectHandle< Object > value )
static
Here is the caller graph for this function:

Member Data Documentation

◆ kMaxLength

int v8::internal::FixedArray::kMaxLength = FixedArray::kMaxCapacity
staticconstexpr

Definition at line 272 of file fixed-array.h.

◆ kMaxRegularLength

int v8::internal::FixedArray::kMaxRegularLength = FixedArray::kMaxRegularCapacity
staticconstexpr

Definition at line 273 of file fixed-array.h.


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