You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2021/07/04 21:53:54 UTC

[incubator-nuttx] 02/05: arch/sim: Remove host_malloc and host_calloc

This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit f240b2e63182eaab3e50166478235824081a423f
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Jun 27 02:43:04 2021 +0800

    arch/sim: Remove host_malloc and host_calloc
    
    use host_realloc instead
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 arch/sim/src/sim/up_heap.c       | 19 ++++++++++---------
 arch/sim/src/sim/up_hostmemory.c | 30 ++++++++++--------------------
 arch/sim/src/sim/up_internal.h   |  5 ++---
 3 files changed, 22 insertions(+), 32 deletions(-)

diff --git a/arch/sim/src/sim/up_heap.c b/arch/sim/src/sim/up_heap.c
index 5d3da3e..1963952 100644
--- a/arch/sim/src/sim/up_heap.c
+++ b/arch/sim/src/sim/up_heap.c
@@ -144,7 +144,7 @@ void mm_initialize(FAR struct mm_heap_s *heap, FAR const char *name,
 {
   FAR struct mm_heap_impl_s *impl;
 
-  impl = host_malloc(sizeof(struct mm_heap_impl_s));
+  impl = host_memalign(sizeof(FAR void *), sizeof(*impl));
   DEBUGASSERT(impl);
 
   memset(impl, 0, sizeof(struct mm_heap_impl_s));
@@ -194,10 +194,7 @@ void mm_addregion(FAR struct mm_heap_s *heap, FAR void *heapstart,
 
 FAR void *mm_malloc(FAR struct mm_heap_s *heap, size_t size)
 {
-  /* Firstly, free mm_delaylist */
-
-  mm_free_delaylist(heap);
-  return host_malloc(size);
+  return mm_realloc(heap, NULL, size);
 }
 
 /****************************************************************************
@@ -236,8 +233,6 @@ FAR void mm_free(FAR struct mm_heap_s *heap, FAR void *mem)
     {
       host_free(mem);
     }
-
-  return;
 }
 
 /****************************************************************************
@@ -280,8 +275,14 @@ FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
 
 FAR void *mm_calloc(FAR struct mm_heap_s *heap, size_t n, size_t elem_size)
 {
-  mm_free_delaylist(heap);
-  return host_calloc(n, elem_size);
+  size_t size = n * elem_size;
+
+  if (size < elem_size)
+    {
+      return NULL;
+    }
+
+  return mm_zalloc(heap, size);
 }
 
 /****************************************************************************
diff --git a/arch/sim/src/sim/up_hostmemory.c b/arch/sim/src/sim/up_hostmemory.c
index 03537be..88bc3d1 100644
--- a/arch/sim/src/sim/up_hostmemory.c
+++ b/arch/sim/src/sim/up_hostmemory.c
@@ -118,26 +118,6 @@ void host_free_shmem(void *mem)
   munmap(mem, 0);
 }
 
-void *host_malloc(size_t size)
-{
-  return malloc(size);
-}
-
-void host_free(void *mem)
-{
-  free(mem);
-}
-
-void *host_realloc(void *oldmem, size_t size)
-{
-  return realloc(oldmem, size);
-}
-
-void *host_calloc(size_t n, size_t elem_size)
-{
-  return calloc(n , elem_size);
-}
-
 void *host_memalign(size_t alignment, size_t size)
 {
   void *p;
@@ -151,3 +131,13 @@ void *host_memalign(size_t alignment, size_t size)
 
   return p;
 }
+
+void host_free(void *mem)
+{
+  free(mem);
+}
+
+void *host_realloc(void *oldmem, size_t size)
+{
+  return realloc(oldmem, size);
+}
diff --git a/arch/sim/src/sim/up_internal.h b/arch/sim/src/sim/up_internal.h
index 43dbede..4ad4d0f 100644
--- a/arch/sim/src/sim/up_internal.h
+++ b/arch/sim/src/sim/up_internal.h
@@ -143,11 +143,10 @@ void host_abort(int status);
 void *host_alloc_heap(size_t sz);
 void *host_alloc_shmem(const char *name, size_t size, int master);
 void  host_free_shmem(void *mem);
-void *host_malloc(size_t size);
+
+void *host_memalign(size_t alignment, size_t size);
 void host_free(void *mem);
 void *host_realloc(void *oldmem, size_t size);
-void *host_calloc(size_t n, size_t elem_size);
-void *host_memalign(size_t alignment, size_t size);
 
 /* up_hosttime.c ************************************************************/