Remove MEM_HEAP_PTR_64 macro
MEM_HEAP_PTR_64 is duplicating existing information: stdint.h, which header is already used by the project, defines various _MAX macros for upper limits of integer types. The comparison of UINTPTR_MAX and UINT32_MAX can give the same info as encoded in MEM_HEAP_PTR_64. The stdint.h-based approach has the benefit that jerry can support any 64-bit architecture without the need for editing the build system. (With the existing approach, CMakeLists has to know about every 64-bit architecture to work properly.) Thus, removing the extraneous macro from the code. The patch also changes the mem_pools_chunk_t struct, as it turned out that the struct does not have to be padded to MEM_POOL_CHUNK_SIZE. (The padding also depended on MEM_HEAP_PTR_64.) It is enough if the size of the struct is smaller than (or equal to) MEM_POOL_CHUNK_SIZE. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
@@ -103,7 +103,7 @@ typedef struct
|
||||
uint32_t size; /* Size of region */
|
||||
} mem_heap_free_t;
|
||||
|
||||
#ifdef MEM_HEAP_PTR_64
|
||||
#if UINTPTR_MAX > UINT32_MAX
|
||||
#define MEM_HEAP_GET_OFFSET_FROM_ADDR(p) ((uint32_t) ((uint8_t *) (p) - (uint8_t *) mem_heap.area))
|
||||
#define MEM_HEAP_GET_ADDR_FROM_OFFSET(u) ((mem_heap_free_t *) &mem_heap.area[u])
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user