|
SYS_FORCE_INLINE bool | isConstant () const |
| This is always valid to call. More...
|
|
SYS_FORCE_INLINE bool | isConstantZero () const |
| This is only valid to call if the type doesn't fit inline. More...
|
|
SYS_FORCE_INLINE bool | isConstantAndZeroSafe () const |
|
SYS_FORCE_INLINE bool | isRefd (exint tuplebytes) const |
|
SYS_FORCE_INLINE bool | isShared () const |
|
SYS_FORCE_INLINE void | incRef () |
|
SYS_FORCE_INLINE void | decRef () |
|
SYS_FORCE_INLINE exint | getRefCount () const |
|
SYS_FORCE_INLINE void | alloc (UT_PageOff nelements, exint tuplesize=TSIZE) |
|
void | realloc (UT_PageOff sizetocopy, UT_PageOff newpagecapacity, exint tuplesize=TSIZE) |
|
SYS_FORCE_INLINE bool | decRefIffShared (exint tuplesize=TSIZE) |
|
SYS_FORCE_INLINE NotVoidType * | getFirstPtr () |
| Returns the data pointer, if not a constant page. More...
|
|
SYS_FORCE_INLINE const
NotVoidType * | getFirstPtr () const |
| Returns the data pointer, if not a constant page. More...
|
|
SYS_FORCE_INLINE void * | getFirstPtrVoid () |
| Returns the data pointer, if not a constant page. More...
|
|
SYS_FORCE_INLINE const void * | getFirstPtrVoid () const |
| Returns the data pointer, if not a constant page. More...
|
|
SYS_FORCE_INLINE void * | getFirstPtrVoidUnsafe () |
|
SYS_FORCE_INLINE const void * | getFirstPtrVoidUnsafe () const |
|
SYS_FORCE_INLINE NotVoidType * | getInlinePtr (exint tuplesize) |
| Returns the data pointer, if an inline constant page. More...
|
|
SYS_FORCE_INLINE const
NotVoidType * | getInlinePtr (exint tuplesize) const |
| Returns the data pointer, if an inline constant page. More...
|
|
SYS_FORCE_INLINE NotVoidType * | getMaskedPtr () |
|
SYS_FORCE_INLINE const
NotVoidType * | getMaskedPtr () const |
|
SYS_FORCE_INLINE void * | getMaskedPtrVoid () |
|
SYS_FORCE_INLINE const void * | getMaskedPtrVoid () const |
|
SYS_FORCE_INLINE void | initZero () |
|
SYS_FORCE_INLINE void | setConstantBit () |
|
void | tryCompressPage (UT_PageOff pagesize, exint tuplesize=TSIZE) |
|
SYS_FORCE_INLINE int64 | getMemoryUsage (exint tuplebytes) const |
|
template<typename DEST_DATA_T > |
SYS_FORCE_INLINE const
UT_PageArray< DEST_DATA_T,
TSIZE, TABLEHARDENED,
PAGESHARDENED, THEPAGEBITS,
IDX_T >::PageTableEntry * | castType () const |
|
template<typename DEST_DATA_T > |
SYS_FORCE_INLINE UT_PageArray
< DEST_DATA_T, TSIZE,
TABLEHARDENED, PAGESHARDENED,
THEPAGEBITS, IDX_T >
::PageTableEntry * | castType () |
|
SYS_FORCE_INLINE bool | operator== (const ThisType &that) const |
| NOTE: This just does a shallow comparison. More...
|
|
SYS_FORCE_INLINE bool | operator!= (const ThisType &that) const |
| NOTE: This just does a shallow comparison. More...
|
|
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
class UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTableEntry
Definition at line 2290 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
NOTE: This should only be called when there's an actual allocated page to decRef, i.e. !isConstant() || (!typeFitsInline(tuplesize) && !isConstantZero()).
Definition at line 2356 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if not a constant page.
Definition at line 2448 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if not a constant page.
Definition at line 2458 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if not a constant page.
Definition at line 2468 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if not a constant page.
Definition at line 2477 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, or whatever's in its place with bit 0 set to 1 if it's something constant. If it's constant, it might not be a flagged pointer.
Definition at line 2488 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, or whatever's in its place with bit 0 set to 1 if it's something constant. If it's constant, it might not be a flagged pointer.
Definition at line 2497 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if an inline constant page.
Definition at line 2504 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if an inline constant page.
Definition at line 2513 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if a non-inline constant page. Returns nullptr for a zero constant page.
Definition at line 2523 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if a non-inline constant page. Returns nullptr for a zero constant page.
Definition at line 2534 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if a non-inline constant page. Returns nullptr for a zero constant page.
Definition at line 2545 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Returns the data pointer, if a non-inline constant page. Returns nullptr for a zero constant page.
Definition at line 2555 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
NOTE: This always excludes sizeof(*this), and is only valid for non-small pages, (okay if constant).
Definition at line 2623 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
NOTE: This should only be called when there's an actual allocated page, i.e. !isConstant() || (!typeFitsInline(tuplesize) && !isConstantZero()).
Definition at line 2373 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
NOTE: This should only be called when there's an actual allocated page to decRef, i.e. !isConstant() || (!typeFitsInline(tuplesize) && !isConstantZero()).
Definition at line 2349 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
Initializes a page to constant zero, assuming that it hasn't been initialized yet.
Definition at line 2565 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE bool UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTableEntry::isConstantAndZeroSafe |
( |
| ) |
const |
|
inline |
This is always valid to call, and will return true iff this is either inline and all zero or using the constant zero optimization.
Definition at line 2310 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE bool UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTableEntry::isConstantZero |
( |
| ) |
const |
|
inline |
This is only valid to call if the type doesn't fit inline.
Definition at line 2303 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
This is always valid to call, but be aware that the parameter is the number of bytes in a tuple, not the number of components in a tuple.
Definition at line 2327 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
NOTE: This should only be called when there's an actual allocated page, i.e. !isConstant() || (!typeFitsInline(tuplesize) && !isConstantZero()).
Definition at line 2341 of file UT_PageArray.h.
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
static SYS_FORCE_INLINE bool UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTableEntry::typeFitsInline |
( |
exint |
tuplesize = TSIZE | ) |
|
|
inlinestatic |
This is only valid to call when DATA_T is non-void.
Definition at line 2316 of file UT_PageArray.h.