|
|
@@ -28,7 +28,6 @@
|
|
|
/* errors */
|
|
|
#define _GDM__PRIVATE_HEAP_ALLOC_ERR 127
|
|
|
#define _GDM__GLOBAL_HEAP_ALLOC_ERR 128
|
|
|
-
|
|
|
/*
|
|
|
* technical heap macros
|
|
|
*/
|
|
|
@@ -127,7 +126,7 @@
|
|
|
} \
|
|
|
} \
|
|
|
{ \
|
|
|
- union { _Region_ uint64_t u64Zero; \
|
|
|
+ union { uint64_t u64Zero; \
|
|
|
_Region_ _Type_ * typePtr; } Memory; \
|
|
|
Memory.u64Zero=0ul; \
|
|
|
(_Ptr_)=Memory.typePtr; \
|
|
|
@@ -163,7 +162,6 @@
|
|
|
free##__GDM_FREE_SUBST_MAC_Region
|
|
|
#define __GDM_print_state_SUBST(__GDM_PRINT_STATE_SUBST_MAC_Region) \
|
|
|
Print##__GDM_PRINT_STATE_SUBST_MAC_Region##_HeapState
|
|
|
-
|
|
|
/*
|
|
|
* usable heap macros
|
|
|
*/
|
|
|
@@ -190,6 +188,8 @@
|
|
|
__GD__MemHeader.u64Ptr[__GDM__MHI_CURR]=0ul; \
|
|
|
__GD__MemHeader.u64Ptr[__GDM__MHI_NEXT]=0ul; \
|
|
|
}
|
|
|
+#define _GDM__NULL(__GDM_NULL_MAC_Region) \
|
|
|
+ ((uint64_t) __GD__ ## __GDM_NULL_MAC_Region ## _Heap_u8Ptr)
|
|
|
#define _GDM_heap_PROTO(__GDM_HEAP_PROTO_MAC_Region) \
|
|
|
__GDM_HEAP_PROTO_MAC_Region uint8_t* const \
|
|
|
__GD__##__GDM_HEAP_PROTO_MAC_Region##_Heap_u8Ptr
|
|
|
@@ -205,6 +205,8 @@
|
|
|
__GD_CAST_MACROS_CastUnion.srcPtr=(__GDM_CAST_MACROS_srcPtr); \
|
|
|
(__GDM_CAST_MACROS_dstPtr)=__GD_CAST_MACROS_CastUnion.dstPtr; \
|
|
|
}
|
|
|
+#define _GDM_is_ptr_NULL(__OCLH_ISNULL_MAC_Region,__OCLH_ISNULL_MAC_Ptr) \
|
|
|
+ (((uint64_t) (__OCLH_ISNULL_MAC_Ptr))==_GDM__NULL(__OCLH_ISNULL_MAC_Region))
|
|
|
#define _GDM_malloc(__GDM_MALLOC_MAC_Region, __GDM_MALLOC_MAC_Type, \
|
|
|
__GDM_MALLOC_MAC_Ptr, __GDM_MALLOC_MAC_Size) \
|
|
|
{ \
|
|
|
@@ -214,7 +216,6 @@
|
|
|
((__GD__##__GDM_MALLOC_MAC_Region##_Heap_u8Ptr), \
|
|
|
(__GDM_MALLOC_MAC_Size))); \
|
|
|
}
|
|
|
-
|
|
|
#define _GDM_free(__GDM_MALLOC_MAC_Region, \
|
|
|
__GDM_MALLOC_MAC_Type, __GDM_MALLOC_MAC_Ptr) \
|
|
|
{ \
|
|
|
@@ -250,7 +251,7 @@ __private uint8_t* malloc__private(__private uint8_t* const pu8HeapPtr,
|
|
|
pu8Res, u64Size,
|
|
|
_GDM__MEM_ALIGN_BYTES,
|
|
|
pu8HeapPtr,
|
|
|
- _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
+ _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
__GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
return(pu8Res);
|
|
|
}
|
|
|
@@ -261,7 +262,7 @@ __global uint8_t* malloc__global(__global uint8_t* const pu8HeapPtr,
|
|
|
pu8Res, u64Size,
|
|
|
_GDM__MEM_ALIGN_BYTES,
|
|
|
pu8HeapPtr,
|
|
|
- _GDM__GLOBAL_EXCL_MEM_HEAP_SZ_BYTES,
|
|
|
+ _GDM__GLOBAL_EXCL_MEM_HEAP_SZ_BYTES,
|
|
|
__GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
return(pu8Res);
|
|
|
}
|
|
|
@@ -270,8 +271,8 @@ void free__private(__private uint8_t* const pu8HeapPtr,
|
|
|
if(*ppu8Ptr) {
|
|
|
__GDM_STRICTLY_TECHNICAL_common_free_MACROS(__private, uint8_t,
|
|
|
*ppu8Ptr, pu8HeapPtr,
|
|
|
- _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
- __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
+ _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
+ __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
@@ -280,21 +281,21 @@ void free__global(__global uint8_t* const pu8HeapPtr,
|
|
|
if(*ppu8Ptr) {
|
|
|
__GDM_STRICTLY_TECHNICAL_common_free_MACROS(__global, uint8_t,
|
|
|
*ppu8Ptr, pu8HeapPtr,
|
|
|
- _GDM__GLOBAL_EXCL_MEM_HEAP_SZ_BYTES,
|
|
|
- __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
+ _GDM__GLOBAL_EXCL_MEM_HEAP_SZ_BYTES,
|
|
|
+ __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
int32_t Print__private_HeapState(__private const uint8_t* const pu8HeapPtr) {
|
|
|
__GDM_STRICTLY_TECHNICAL_print_heap_state_MACROS(__private, pu8HeapPtr,
|
|
|
- _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
- __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
+ _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
+ __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
return(0);
|
|
|
}
|
|
|
int32_t Print__global_HeapState(__global const uint8_t* const pu8HeapPtr) {
|
|
|
__GDM_STRICTLY_TECHNICAL_print_heap_state_MACROS(__global, pu8HeapPtr,
|
|
|
- _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
- __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
+ _GDM__PRIVATE_MEM_HEAP_SZ_BYTES,
|
|
|
+ __GDM__HEAP_HEADER_SZ_BYTES);
|
|
|
return(0);
|
|
|
}
|
|
|
|