Modifications from Tony Bennett accepted to return aligned block.

This commit is contained in:
Joel Sherrill
1995-09-19 21:43:12 +00:00
parent 84ee59f575
commit 91a3554ded
9 changed files with 114 additions and 0 deletions

View File

@@ -278,6 +278,16 @@ STATIC INLINE Heap_Block *_Heap_Block_at(
unsigned32 offset
);
/*PAGE
*
* _Heap_User_Block_at
*
*/
STATIC INLINE Heap_Block *_Heap_User_Block_at(
void *base
);
/*
* _Heap_Is_previous_block_free
*

View File

@@ -278,6 +278,16 @@ STATIC INLINE Heap_Block *_Heap_Block_at(
unsigned32 offset
);
/*PAGE
*
* _Heap_User_Block_at
*
*/
STATIC INLINE Heap_Block *_Heap_User_Block_at(
void *base
);
/*
* _Heap_Is_previous_block_free
*

View File

@@ -92,6 +92,22 @@ STATIC INLINE Heap_Block *_Heap_Block_at(
return (Heap_Block *) _Addresses_Add_offset( (void *)base, offset );
}
/*PAGE
*
* _Heap_User_Block_at
*
*/
STATIC INLINE Heap_Block *_Heap_User_Block_at(
void *base
)
{
unsigned32 offset;
offset = *(((unsigned32 *) base) - 1);
return _Heap_Block_at( base, -offset + -HEAP_BLOCK_USED_OVERHEAD);
}
/*PAGE
*
* _Heap_Is_previous_block_free

View File

@@ -92,6 +92,22 @@ STATIC INLINE Heap_Block *_Heap_Block_at(
return (Heap_Block *) _Addresses_Add_offset( (void *)base, offset );
}
/*PAGE
*
* _Heap_User_Block_at
*
*/
STATIC INLINE Heap_Block *_Heap_User_Block_at(
void *base
)
{
unsigned32 offset;
offset = *(((unsigned32 *) base) - 1);
return _Heap_Block_at( base, -offset + -HEAP_BLOCK_USED_OVERHEAD);
}
/*PAGE
*
* _Heap_Is_previous_block_free

View File

@@ -68,6 +68,18 @@
( (Heap_Block *) \
_Addresses_Add_offset( (void *)(_base), (_offset) ) )
/*PAGE
*
* _Heap_User_Block_at
*
*/
#define _Heap_User_Block_at( _base ) \
_Heap_Block_at( \
(_base), \
-*(((unsigned32 *) (_base)) - 1) + -HEAP_BLOCK_USED_OVERHEAD \
)
/*PAGE
*
* _Heap_Is_previous_block_free

View File

@@ -68,6 +68,18 @@
( (Heap_Block *) \
_Addresses_Add_offset( (void *)(_base), (_offset) ) )
/*PAGE
*
* _Heap_User_Block_at
*
*/
#define _Heap_User_Block_at( _base ) \
_Heap_Block_at( \
(_base), \
-*(((unsigned32 *) (_base)) - 1) + -HEAP_BLOCK_USED_OVERHEAD \
)
/*PAGE
*
* _Heap_Is_previous_block_free