OROCHI
 
Loading...
Searching...
No Matches
GxMemory Class Reference

メモリークラス More...

#include <GxMemory.h>

Public Types

定義
enum class  TYPE { VIRTUAL , UNKNOWN , MAX }
 割り当てメモリ種別 More...
 
enum  ALIGNMENT {
  _4 = GxMath::VALUE_4 , _8 = GxMath::VALUE_8 , _16 = GxMath::VALUE_16 , _32 = GxMath::VALUE_32 ,
  _64 = GxMath::VALUE_64 , _128 = GxMath::VALUE_128 , _256 = GxMath::VALUE_256 , _512 = GxMath::VALUE_512 ,
  _1K = GxMath::VALUE_1K , _2K = GxMath::VALUE_2K , _4K = GxMath::VALUE_4K , _8K = GxMath::VALUE_8K ,
  _16K = GxMath::VALUE_16K , _32K = GxMath::VALUE_32K , _64K = GxMath::VALUE_64K , _128K = GxMath::VALUE_128K ,
  _256K = GxMath::VALUE_256K , _512K = GxMath::VALUE_512K , _1M = GxMath::VALUE_1M
}
 メモリアライメント定義 More...
 

Static Public Member Functions

操作
static void * allocateMemory (TYPE type, size_t size, ALIGNMENT alignment=ALIGNMENT::_16)
 メモリ確保
 
static void freeMemory (TYPE type, void *pAddress)
 メモリ解放
 
static u64 getAvailableSize (void)
 利用可能サイズ取得 (実装されているプラットフォームのみ。使用できないプラットフォームでは0を返却)
 
static void memsetFast (void *pDst, u32 value, size_t size)
 高速メモリセット (非アライメント)
 
static void memsetFast4 (void *pDst, u32 value, size_t size)
 高速メモリセット (4byteアライメント)
 
static void memsetFast16 (void *pDst, u32 value, size_t size)
 高速メモリセット (16byteアライメント)
 
static void memcpyFast (void *pDst, const void *pSrc, size_t size)
 高速メモリコピー (非アライメント)
 
static void memcpyFast4 (void *pDst, const void *pSrc, size_t size)
 高速メモリコピー (4byteアライメント)
 
static void memcpyFast16 (void *pDst, const void *pSrc, size_t size)
 高速メモリコピー (16byteアライメント)
 
static s32 memcmpFast (const void *pPtr1, const void *pPtr2, size_t size)
 高速メモリ比較 (非アライメント)
 
static s32 memcmpFast4 (const void *pPtr1, const void *pPtr2, size_t size)
 高速メモリ比較 (4byteアライメント)
 
static s32 memcmpFast16 (const void *pPtr1, const void *pPtr2, size_t size)
 高速メモリ比較 (16byteアライメント)
 

Detailed Description

メモリークラス

Member Enumeration Documentation

◆ ALIGNMENT

メモリアライメント定義

Enumerator
_4 

4byteアライメント

_8 

8byteアライメント

_16 

16byteアライメント

_32 

32byteアライメント

_64 

64byteアライメント

_128 

128byteアライメント

_256 

256byteアライメント

_512 

512byteアライメント

_1K 

1Kbyteアライメント

_2K 

2Kbyteアライメント

_4K 

4Kbyteアライメント

_8K 

8Kbyteアライメント

_16K 

16Kbyteアライメント

_32K 

32Kbyteアライメント

_64K 

64Kbyteアライメント

_128K 

128Kbyteアライメント

_256K 

256Kbyteアライメント

_512K 

512Kbyteアライメント

_1M 

1Mbyteアライメント

◆ TYPE

enum class GxMemory::TYPE
strong

割り当てメモリ種別

Enumerator
VIRTUAL 

仮想メモリ空間

UNKNOWN 

未定義

MAX 

定義数

Member Function Documentation

◆ allocateMemory()

void * GxMemory::allocateMemory ( TYPE type,
size_t size,
ALIGNMENT alignment = ALIGNMENT::_16 )
static

メモリ確保

Parameters
type[in] アロケータ種別
size[in] 確保サイズ
alignment[in] アライメント数値
Returns
確保メモリアドレス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeMemory()

void GxMemory::freeMemory ( TYPE type,
void * pAddress )
static

メモリ解放

Parameters
type[in] アロケータ種別
pAddress[in] 解放メモリアドレス
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAvailableSize()

u64 GxMemory::getAvailableSize ( void )
static

利用可能サイズ取得 (実装されているプラットフォームのみ。使用できないプラットフォームでは0を返却)

Returns
利用可能サイズ (byte)
Note
物理メモリサイズでの計測

_PS4

Here is the caller graph for this function:

◆ memcmpFast()

s32 GxMemory::memcmpFast ( const void * pPtr1,
const void * pPtr2,
size_t size )
static

高速メモリ比較 (非アライメント)

Parameters
pPtr1[in] 比較ポインタ1
pPtr2[in] 比較ポインタ2
size[in] 比較サイズ
Returns
memcmpと同じ (0:一致)

◆ memcmpFast16()

s32 GxMemory::memcmpFast16 ( const void * pPtr1,
const void * pPtr2,
size_t size )
static

高速メモリ比較 (16byteアライメント)

Parameters
pPtr1[in] 比較ポインタ1 (※16byteアライメント必須)
pPtr2[in] 比較ポインタ2 (※16byteアライメント必須)
size[in] 比較サイズ
Returns
memcmpと同じ (0:一致)

◆ memcmpFast4()

s32 GxMemory::memcmpFast4 ( const void * pPtr1,
const void * pPtr2,
size_t size )
static

高速メモリ比較 (4byteアライメント)

Parameters
pPtr1[in] 比較ポインタ1 (※4byteアライメント必須)
pPtr2[in] 比較ポインタ2 (※4byteアライメント必須)
size[in] 比較サイズ
Returns
memcmpと同じ (0:一致)

◆ memcpyFast()

void GxMemory::memcpyFast ( void * pDst,
const void * pSrc,
size_t size )
static

高速メモリコピー (非アライメント)

Parameters
pDst[out] コピー先ポインタ
pSrc[in] コピー元ポインタ

autotoc_md1

Parameters
size[in] サイズ

◆ memcpyFast16()

void GxMemory::memcpyFast16 ( void * pDst,
const void * pSrc,
size_t size )
static

高速メモリコピー (16byteアライメント)

Parameters
pDst[out] コピー先ポインタ (※16byteアライメント必須)
pSrc[in] コピー元ポインタ (※16byteアライメント必須)
size[in] サイズ

◆ memcpyFast4()

void GxMemory::memcpyFast4 ( void * pDst,
const void * pSrc,
size_t size )
static

高速メモリコピー (4byteアライメント)

Parameters
pDst[out] コピー先ポインタ (※4byteアライメント必須)
pSrc[in] コピー元ポインタ (※4byteアライメント必須)
size[in] サイズ

◆ memsetFast()

void GxMemory::memsetFast ( void * pDst,
u32 value,
size_t size )
static

高速メモリセット (非アライメント)

Parameters
pDst[out] セット先ポインタ
value[in] 書き込み数値
size[in] サイズ

◆ memsetFast16()

void GxMemory::memsetFast16 ( void * pDst,
u32 value,
size_t size )
static

高速メモリセット (16byteアライメント)

Parameters
pDst[out] セット先ポインタ (※16byteアライメント必須)
value[in] 書き込み数値
size[in] サイズ

◆ memsetFast4()

void GxMemory::memsetFast4 ( void * pDst,
u32 value,
size_t size )
static

高速メモリセット (4byteアライメント)

Parameters
pDst[out] セット先ポインタ (※4byteアライメント必須)
value[in] 書き込み数値
size[in] サイズ

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