]> git.sur5r.net Git - freertos/commitdiff
Improve efficiency of memory allocation when the memory block is already aligned...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 25 Jun 2013 12:20:29 +0000 (12:20 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 25 Jun 2013 12:20:29 +0000 (12:20 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1947 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Source/portable/MemMang/heap_2.c
FreeRTOS/Source/portable/MemMang/heap_4.c

index c86306f1b40626cd7994640a5b9f94a52727d759..06eb5fbfb209ce70f7ed9513bff23f5446ff436d 100644 (file)
@@ -113,7 +113,7 @@ typedef struct A_BLOCK_LINK
 } xBlockLink;\r
 \r
 \r
-static const unsigned short  heapSTRUCT_SIZE   = ( sizeof( xBlockLink ) + portBYTE_ALIGNMENT - ( sizeof( xBlockLink ) % portBYTE_ALIGNMENT ) );\r
+static const unsigned short heapSTRUCT_SIZE    = ( ( sizeof ( xBlockLink ) + ( portBYTE_ALIGNMENT - 1 ) ) & ~portBYTE_ALIGNMENT_MASK );\r
 #define heapMINIMUM_BLOCK_SIZE ( ( size_t ) ( heapSTRUCT_SIZE * 2 ) )\r
 \r
 /* Create a couple of list links to mark the start and end of the list. */\r
index d41c171c3a1fe10335625b3810ec44b3c35b1d97..2babb203f8d339025b019ea70f824c07c277e2f2 100644 (file)
@@ -129,7 +129,7 @@ static void prvHeapInit( void );
 \r
 /* The size of the structure placed at the beginning of each allocated memory\r
 block must by correctly byte aligned. */\r
-static const unsigned short heapSTRUCT_SIZE    = ( sizeof( xBlockLink ) + portBYTE_ALIGNMENT - ( sizeof( xBlockLink ) % portBYTE_ALIGNMENT ) );\r
+static const unsigned short heapSTRUCT_SIZE    = ( ( sizeof ( xBlockLink ) + ( portBYTE_ALIGNMENT - 1 ) ) & ~portBYTE_ALIGNMENT_MASK );\r
 \r
 /* Ensure the pxEnd pointer will end up on the correct byte alignment. */\r
 static const size_t xTotalHeapSize = ( ( size_t ) configADJUSTED_HEAP_SIZE ) & ( ( size_t ) ~portBYTE_ALIGNMENT_MASK );\r