1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 14:47:35 +00:00

AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*)

Use this instead of uintptr_t throughout the codebase. This makes it
possible to pass a FlatPtr to something that has u32 and u64 overloads.
This commit is contained in:
Andreas Kling 2020-03-08 10:36:51 +01:00
parent b98d8ad5b0
commit b1058b33fb
36 changed files with 164 additions and 161 deletions

View file

@ -51,7 +51,7 @@ inline unsigned u64_hash(u64 key)
return pair_int_hash(first, last);
}
inline unsigned ptr_hash(uintptr_t ptr)
inline unsigned ptr_hash(FlatPtr ptr)
{
if constexpr(sizeof(ptr) == 8)
return u64_hash((u64)ptr);
@ -61,5 +61,5 @@ inline unsigned ptr_hash(uintptr_t ptr)
inline unsigned ptr_hash(const void* ptr)
{
return ptr_hash((uintptr_t)(ptr));
return ptr_hash((FlatPtr)(ptr));
}

View file

@ -28,6 +28,7 @@
#include <AK/IterationDecision.h>
#include <AK/Platform.h>
#include <AK/StdLibExtras.h>
#ifdef __serenity__
typedef unsigned char u8;
@ -89,6 +90,8 @@ typedef __PTRDIFF_TYPE__ __ptrdiff_t;
#endif
typedef Conditional<sizeof(void*) == 8, u64, u32>::Type FlatPtr;
constexpr unsigned KB = 1024;
constexpr unsigned MB = KB * KB;
constexpr unsigned GB = KB * KB * KB;