Skip to content

Commit e2b0929

Browse files
committed
Changed to use ZEND_BYTES_SWAP32/ZEND_BYTES_SWAP64
1 parent e6a4f08 commit e2b0929

File tree

1 file changed

+4
-36
lines changed

1 file changed

+4
-36
lines changed

Zend/zend_alloc.c

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -217,43 +217,11 @@ typedef zend_mm_bitset zend_mm_page_map[ZEND_MM_PAGE_MAP_LEN]; /* 64B */
217217

218218
#define ZEND_MM_BINS 30
219219

220-
#if defined(_MSC_VER)
221-
# if UINTPTR_MAX == UINT64_MAX
222-
# define BSWAPPTR(u) _byteswap_uint64(u)
223-
# else
224-
# define BSWAPPTR(u) _byteswap_ulong(u)
225-
# endif
220+
#if UINTPTR_MAX == UINT64_MAX
221+
# define BSWAPPTR(u) ZEND_BYTES_SWAP64(u)
226222
#else
227-
# if UINTPTR_MAX == UINT64_MAX
228-
# if __has_builtin(__builtin_bswap64)
229-
# define BSWAPPTR(u) __builtin_bswap64(u)
230-
# else
231-
static zend_always_inline uintptr_t BSWAPPTR(uintptr_t u)
232-
{
233-
return (((u & 0xff00000000000000ULL) >> 56)
234-
| ((u & 0x00ff000000000000ULL) >> 40)
235-
| ((u & 0x0000ff0000000000ULL) >> 24)
236-
| ((u & 0x000000ff00000000ULL) >> 8)
237-
| ((u & 0x00000000ff000000ULL) << 8)
238-
| ((u & 0x0000000000ff0000ULL) << 24)
239-
| ((u & 0x000000000000ff00ULL) << 40)
240-
| ((u & 0x00000000000000ffULL) << 56));
241-
}
242-
# endif /* __has_builtin(__builtin_bswap64) */
243-
# else /* UINTPTR_MAX == UINT64_MAX */
244-
# if __has_builtin(__builtin_bswap32)
245-
# define BSWAPPTR(u) __builtin_bswap32(u)
246-
# else
247-
static zend_always_inline uintptr_t BSWAPPTR(uintptr_t u)
248-
{
249-
return (((u & 0xff000000) >> 24)
250-
| ((u & 0x00ff0000) >> 8)
251-
| ((u & 0x0000ff00) << 8)
252-
| ((u & 0x000000ff) << 24));
253-
}
254-
# endif /* __has_builtin(__builtin_bswap32) */
255-
# endif /* UINTPTR_MAX == UINT64_MAX */
256-
#endif /* defined(_MSC_VER) */
223+
# define BSWAPPTR(u) ZEND_BYTES_SWAP32(u)
224+
#endif
257225

258226
typedef struct _zend_mm_page zend_mm_page;
259227
typedef struct _zend_mm_bin zend_mm_bin;

0 commit comments

Comments
 (0)