mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-27 00:04:35 +00:00
Force inline LZ4 read/write functions.
This commit is contained in:
parent
28d749982a
commit
78c2f68649
@ -231,12 +231,12 @@ static unsigned LZ4_isLittleEndian(void)
|
|||||||
#if defined(LZ4_FORCE_MEMORY_ACCESS) && (LZ4_FORCE_MEMORY_ACCESS==2)
|
#if defined(LZ4_FORCE_MEMORY_ACCESS) && (LZ4_FORCE_MEMORY_ACCESS==2)
|
||||||
/* lie to the compiler about data alignment; use with caution */
|
/* lie to the compiler about data alignment; use with caution */
|
||||||
|
|
||||||
static U16 LZ4_read16(const void* memPtr) { return *(const U16*) memPtr; }
|
LZ4_FORCE_INLINE U16 LZ4_read16(const void* memPtr) { return *(const U16*) memPtr; }
|
||||||
static U32 LZ4_read32(const void* memPtr) { return *(const U32*) memPtr; }
|
LZ4_FORCE_INLINE U32 LZ4_read32(const void* memPtr) { return *(const U32*) memPtr; }
|
||||||
static reg_t LZ4_read_ARCH(const void* memPtr) { return *(const reg_t*) memPtr; }
|
LZ4_FORCE_INLINE reg_t LZ4_read_ARCH(const void* memPtr) { return *(const reg_t*) memPtr; }
|
||||||
|
|
||||||
static void LZ4_write16(void* memPtr, U16 value) { *(U16*)memPtr = value; }
|
LZ4_FORCE_INLINE void LZ4_write16(void* memPtr, U16 value) { *(U16*)memPtr = value; }
|
||||||
static void LZ4_write32(void* memPtr, U32 value) { *(U32*)memPtr = value; }
|
LZ4_FORCE_INLINE void LZ4_write32(void* memPtr, U32 value) { *(U32*)memPtr = value; }
|
||||||
|
|
||||||
#elif defined(LZ4_FORCE_MEMORY_ACCESS) && (LZ4_FORCE_MEMORY_ACCESS==1)
|
#elif defined(LZ4_FORCE_MEMORY_ACCESS) && (LZ4_FORCE_MEMORY_ACCESS==1)
|
||||||
|
|
||||||
@ -244,36 +244,36 @@ static void LZ4_write32(void* memPtr, U32 value) { *(U32*)memPtr = value; }
|
|||||||
/* currently only defined for gcc and icc */
|
/* currently only defined for gcc and icc */
|
||||||
typedef union { U16 u16; U32 u32; reg_t uArch; } __attribute__((packed)) unalign;
|
typedef union { U16 u16; U32 u32; reg_t uArch; } __attribute__((packed)) unalign;
|
||||||
|
|
||||||
static U16 LZ4_read16(const void* ptr) { return ((const unalign*)ptr)->u16; }
|
LZ4_FORCE_INLINE U16 LZ4_read16(const void* ptr) { return ((const unalign*)ptr)->u16; }
|
||||||
static U32 LZ4_read32(const void* ptr) { return ((const unalign*)ptr)->u32; }
|
LZ4_FORCE_INLINE U32 LZ4_read32(const void* ptr) { return ((const unalign*)ptr)->u32; }
|
||||||
static reg_t LZ4_read_ARCH(const void* ptr) { return ((const unalign*)ptr)->uArch; }
|
LZ4_FORCE_INLINE reg_t LZ4_read_ARCH(const void* ptr) { return ((const unalign*)ptr)->uArch; }
|
||||||
|
|
||||||
static void LZ4_write16(void* memPtr, U16 value) { ((unalign*)memPtr)->u16 = value; }
|
LZ4_FORCE_INLINE void LZ4_write16(void* memPtr, U16 value) { ((unalign*)memPtr)->u16 = value; }
|
||||||
static void LZ4_write32(void* memPtr, U32 value) { ((unalign*)memPtr)->u32 = value; }
|
LZ4_FORCE_INLINE void LZ4_write32(void* memPtr, U32 value) { ((unalign*)memPtr)->u32 = value; }
|
||||||
|
|
||||||
#else /* safe and portable access using memcpy() */
|
#else /* safe and portable access using memcpy() */
|
||||||
|
|
||||||
static U16 LZ4_read16(const void* memPtr)
|
LZ4_FORCE_INLINE U16 LZ4_read16(const void* memPtr)
|
||||||
{
|
{
|
||||||
U16 val; memcpy(&val, memPtr, sizeof(val)); return val;
|
U16 val; memcpy(&val, memPtr, sizeof(val)); return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static U32 LZ4_read32(const void* memPtr)
|
LZ4_FORCE_INLINE U32 LZ4_read32(const void* memPtr)
|
||||||
{
|
{
|
||||||
U32 val; memcpy(&val, memPtr, sizeof(val)); return val;
|
U32 val; memcpy(&val, memPtr, sizeof(val)); return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static reg_t LZ4_read_ARCH(const void* memPtr)
|
LZ4_FORCE_INLINE reg_t LZ4_read_ARCH(const void* memPtr)
|
||||||
{
|
{
|
||||||
reg_t val; memcpy(&val, memPtr, sizeof(val)); return val;
|
reg_t val; memcpy(&val, memPtr, sizeof(val)); return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LZ4_write16(void* memPtr, U16 value)
|
LZ4_FORCE_INLINE void LZ4_write16(void* memPtr, U16 value)
|
||||||
{
|
{
|
||||||
memcpy(memPtr, &value, sizeof(value));
|
memcpy(memPtr, &value, sizeof(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LZ4_write32(void* memPtr, U32 value)
|
LZ4_FORCE_INLINE void LZ4_write32(void* memPtr, U32 value)
|
||||||
{
|
{
|
||||||
memcpy(memPtr, &value, sizeof(value));
|
memcpy(memPtr, &value, sizeof(value));
|
||||||
}
|
}
|
||||||
@ -281,7 +281,7 @@ static void LZ4_write32(void* memPtr, U32 value)
|
|||||||
#endif /* LZ4_FORCE_MEMORY_ACCESS */
|
#endif /* LZ4_FORCE_MEMORY_ACCESS */
|
||||||
|
|
||||||
|
|
||||||
static U16 LZ4_readLE16(const void* memPtr)
|
LZ4_FORCE_INLINE U16 LZ4_readLE16(const void* memPtr)
|
||||||
{
|
{
|
||||||
if (LZ4_isLittleEndian()) {
|
if (LZ4_isLittleEndian()) {
|
||||||
return LZ4_read16(memPtr);
|
return LZ4_read16(memPtr);
|
||||||
@ -291,7 +291,7 @@ static U16 LZ4_readLE16(const void* memPtr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LZ4_writeLE16(void* memPtr, U16 value)
|
LZ4_FORCE_INLINE void LZ4_writeLE16(void* memPtr, U16 value)
|
||||||
{
|
{
|
||||||
if (LZ4_isLittleEndian()) {
|
if (LZ4_isLittleEndian()) {
|
||||||
LZ4_write16(memPtr, value);
|
LZ4_write16(memPtr, value);
|
||||||
|
Loading…
Reference in New Issue
Block a user