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

#include <register-allocator.h>

Collaboration diagram for v8::internal::compiler::DoubleEndedSplitVector< T >:

Public Types

using value_type = T
 
using iterator = T*
 
using const_iterator = const T*
 

Public Member Functions

 ASSERT_TRIVIALLY_COPYABLE (T)
 
size_t size () const
 
bool empty () const
 
size_t capacity () const
 
Tdata () const
 
void clear ()
 
Toperator[] (size_t position)
 
const Toperator[] (size_t position) const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
Tfront ()
 
const Tfront () const
 
Tback ()
 
const Tback () const
 
void push_front (Zone *zone, const T &value)
 
void pop_front ()
 
template<GrowthDirection direction = kFrontOrBack>
iterator insert (Zone *zone, const_iterator position, const T &value)
 
DoubleEndedSplitVector< TSplitAt (const_iterator split_begin_const)
 
void Append (Zone *zone, DoubleEndedSplitVector< T > other)
 

Private Member Functions

size_t space_at_front () const
 
size_t space_at_back () const
 
template<GrowthDirection direction>
V8_INLINE void EnsureOneMoreCapacityAt (Zone *zone)
 
template<GrowthDirection direction>
V8_NOINLINE V8_PRESERVE_MOST void GrowAt (Zone *zone, size_t new_minimum_capacity)
 

Private Attributes

Tstorage_begin_ = nullptr
 
Tdata_begin_ = nullptr
 
Tdata_end_ = nullptr
 
Tstorage_end_ = nullptr
 

Static Private Attributes

static constexpr size_t kMinCapacity = 2
 

Detailed Description

template<typename T>
class v8::internal::compiler::DoubleEndedSplitVector< T >

Definition at line 542 of file register-allocator.h.

Member Typedef Documentation

◆ const_iterator

template<typename T >
using v8::internal::compiler::DoubleEndedSplitVector< T >::const_iterator = const T*

Definition at line 546 of file register-allocator.h.

◆ iterator

template<typename T >
using v8::internal::compiler::DoubleEndedSplitVector< T >::iterator = T*

Definition at line 545 of file register-allocator.h.

◆ value_type

template<typename T >
using v8::internal::compiler::DoubleEndedSplitVector< T >::value_type = T

Definition at line 544 of file register-allocator.h.

Member Function Documentation

◆ Append()

template<typename T >
void v8::internal::compiler::DoubleEndedSplitVector< T >::Append ( Zone * zone,
DoubleEndedSplitVector< T > other )
inline

Definition at line 680 of file register-allocator.h.

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

◆ ASSERT_TRIVIALLY_COPYABLE()

template<typename T >
v8::internal::compiler::DoubleEndedSplitVector< T >::ASSERT_TRIVIALLY_COPYABLE ( T )

◆ back() [1/2]

template<typename T >
T & v8::internal::compiler::DoubleEndedSplitVector< T >::back ( )
inline

Definition at line 583 of file register-allocator.h.

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

◆ back() [2/2]

template<typename T >
const T & v8::internal::compiler::DoubleEndedSplitVector< T >::back ( ) const
inline

Definition at line 587 of file register-allocator.h.

Here is the call graph for this function:

◆ begin() [1/2]

template<typename T >
iterator v8::internal::compiler::DoubleEndedSplitVector< T >::begin ( )
inline

Definition at line 570 of file register-allocator.h.

Here is the caller graph for this function:

◆ begin() [2/2]

template<typename T >
const_iterator v8::internal::compiler::DoubleEndedSplitVector< T >::begin ( ) const
inline

Definition at line 571 of file register-allocator.h.

◆ capacity()

template<typename T >
size_t v8::internal::compiler::DoubleEndedSplitVector< T >::capacity ( ) const
inline

Definition at line 555 of file register-allocator.h.

Here is the caller graph for this function:

◆ clear()

template<typename T >
void v8::internal::compiler::DoubleEndedSplitVector< T >::clear ( )
inline

Definition at line 559 of file register-allocator.h.

◆ data()

template<typename T >
T * v8::internal::compiler::DoubleEndedSplitVector< T >::data ( ) const
inline

Definition at line 557 of file register-allocator.h.

◆ empty()

template<typename T >
bool v8::internal::compiler::DoubleEndedSplitVector< T >::empty ( ) const
inline

Definition at line 554 of file register-allocator.h.

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

◆ end() [1/2]

template<typename T >
iterator v8::internal::compiler::DoubleEndedSplitVector< T >::end ( )
inline

Definition at line 572 of file register-allocator.h.

Here is the caller graph for this function:

◆ end() [2/2]

template<typename T >
const_iterator v8::internal::compiler::DoubleEndedSplitVector< T >::end ( ) const
inline

Definition at line 573 of file register-allocator.h.

◆ EnsureOneMoreCapacityAt()

template<typename T >
template<GrowthDirection direction>
V8_INLINE void v8::internal::compiler::DoubleEndedSplitVector< T >::EnsureOneMoreCapacityAt ( Zone * zone)
inlineprivate

Definition at line 721 of file register-allocator.h.

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

◆ front() [1/2]

template<typename T >
T & v8::internal::compiler::DoubleEndedSplitVector< T >::front ( )
inline

Definition at line 575 of file register-allocator.h.

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

◆ front() [2/2]

template<typename T >
const T & v8::internal::compiler::DoubleEndedSplitVector< T >::front ( ) const
inline

Definition at line 579 of file register-allocator.h.

Here is the call graph for this function:

◆ GrowAt()

template<typename T >
template<GrowthDirection direction>
V8_NOINLINE V8_PRESERVE_MOST void v8::internal::compiler::DoubleEndedSplitVector< T >::GrowAt ( Zone * zone,
size_t new_minimum_capacity )
inlineprivate

Definition at line 734 of file register-allocator.h.

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

◆ insert()

template<typename T >
template<GrowthDirection direction = kFrontOrBack>
iterator v8::internal::compiler::DoubleEndedSplitVector< T >::insert ( Zone * zone,
const_iterator position,
const T & value )
inline

Definition at line 606 of file register-allocator.h.

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

◆ operator[]() [1/2]

template<typename T >
T & v8::internal::compiler::DoubleEndedSplitVector< T >::operator[] ( size_t position)
inline

Definition at line 561 of file register-allocator.h.

Here is the call graph for this function:

◆ operator[]() [2/2]

template<typename T >
const T & v8::internal::compiler::DoubleEndedSplitVector< T >::operator[] ( size_t position) const
inline

Definition at line 565 of file register-allocator.h.

Here is the call graph for this function:

◆ pop_front()

template<typename T >
void v8::internal::compiler::DoubleEndedSplitVector< T >::pop_front ( )
inline

Definition at line 597 of file register-allocator.h.

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

◆ push_front()

template<typename T >
void v8::internal::compiler::DoubleEndedSplitVector< T >::push_front ( Zone * zone,
const T & value )
inline

Definition at line 592 of file register-allocator.h.

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

◆ size()

template<typename T >
size_t v8::internal::compiler::DoubleEndedSplitVector< T >::size ( ) const
inline

Definition at line 553 of file register-allocator.h.

Here is the caller graph for this function:

◆ space_at_back()

template<typename T >
size_t v8::internal::compiler::DoubleEndedSplitVector< T >::space_at_back ( ) const
inlineprivate

Definition at line 718 of file register-allocator.h.

Here is the caller graph for this function:

◆ space_at_front()

template<typename T >
size_t v8::internal::compiler::DoubleEndedSplitVector< T >::space_at_front ( ) const
inlineprivate

Definition at line 717 of file register-allocator.h.

Here is the caller graph for this function:

◆ SplitAt()

template<typename T >
DoubleEndedSplitVector< T > v8::internal::compiler::DoubleEndedSplitVector< T >::SplitAt ( const_iterator split_begin_const)
inline

Definition at line 650 of file register-allocator.h.

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

Member Data Documentation

◆ data_begin_

template<typename T >
T* v8::internal::compiler::DoubleEndedSplitVector< T >::data_begin_ = nullptr
private

Definition at line 770 of file register-allocator.h.

◆ data_end_

template<typename T >
T* v8::internal::compiler::DoubleEndedSplitVector< T >::data_end_ = nullptr
private

Definition at line 771 of file register-allocator.h.

◆ kMinCapacity

template<typename T >
size_t v8::internal::compiler::DoubleEndedSplitVector< T >::kMinCapacity = 2
staticconstexprprivate

Definition at line 715 of file register-allocator.h.

◆ storage_begin_

template<typename T >
T* v8::internal::compiler::DoubleEndedSplitVector< T >::storage_begin_ = nullptr
private

Definition at line 769 of file register-allocator.h.

◆ storage_end_

template<typename T >
T* v8::internal::compiler::DoubleEndedSplitVector< T >::storage_end_ = nullptr
private

Definition at line 772 of file register-allocator.h.


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