diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-03-06 21:34:57 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-03-06 21:34:57 +0000 |
commit | 1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41 (patch) | |
tree | 209ab42fa9bc98774d5290d670af14886390d269 /c/src/exec/score/inline/heap.inl | |
parent | Removed prototyes for static inline rgutines and moved the comments into (diff) | |
download | rtems-1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41.tar.bz2 |
Removed prototyes for static inline routines and moved the comments into
the inline implementation. The impetus for this was twofold. First,
it is incorrect to have static inline prototypes when using the macro
implementation. Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.
Next we restricted visibility for the inline routines to inside the
executive itself EXCEPT for a handful of objects. This reduced the
number of include files included by rtems.h by 40 files and reduced
the lines in the include files seen by rtems.h by about 6000 lines.
In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation 10 morgana.
Diffstat (limited to 'c/src/exec/score/inline/heap.inl')
-rw-r--r-- | c/src/exec/score/inline/heap.inl | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/c/src/exec/score/inline/heap.inl b/c/src/exec/score/inline/heap.inl index 0d1b1231a7..6b4b1af74e 100644 --- a/c/src/exec/score/inline/heap.inl +++ b/c/src/exec/score/inline/heap.inl @@ -23,6 +23,9 @@ * * _Heap_Head * + * DESCRIPTION: + * + * This function returns the head of the specified heap. */ STATIC INLINE Heap_Block *_Heap_Head ( @@ -36,6 +39,9 @@ STATIC INLINE Heap_Block *_Heap_Head ( * * _Heap_Tail * + * DESCRIPTION: + * + * This function returns the tail of the specified heap. */ STATIC INLINE Heap_Block *_Heap_Tail ( @@ -49,6 +55,10 @@ STATIC INLINE Heap_Block *_Heap_Tail ( * * _Heap_Previous_block * + * DESCRIPTION: + * + * This function returns the address of the block which physically + * precedes the_block in memory. */ STATIC INLINE Heap_Block *_Heap_Previous_block ( @@ -65,6 +75,11 @@ STATIC INLINE Heap_Block *_Heap_Previous_block ( * * _Heap_Next_block * + * DESCRIPTION: + * + * This function returns the address of the block which physically + * follows the_block in memory. + * * NOTE: Next_block assumes that the block is free. */ @@ -82,6 +97,10 @@ STATIC INLINE Heap_Block *_Heap_Next_block ( * * _Heap_Block_at * + * DESCRIPTION: + * + * This function calculates and returns a block's location (address) + * in the heap based upad a base address and an offset. */ STATIC INLINE Heap_Block *_Heap_Block_at( @@ -96,6 +115,9 @@ STATIC INLINE Heap_Block *_Heap_Block_at( * * _Heap_User_block_at * + * DESCRIPTION: + * + * XXX */ STATIC INLINE Heap_Block *_Heap_User_block_at( @@ -112,6 +134,10 @@ STATIC INLINE Heap_Block *_Heap_User_block_at( * * _Heap_Is_previous_block_free * + * DESCRIPTION: + * + * This function returns TRUE if the previous block of the_block + * is free, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_previous_block_free ( @@ -125,6 +151,9 @@ STATIC INLINE boolean _Heap_Is_previous_block_free ( * * _Heap_Is_block_free * + * DESCRIPTION: + * + * This function returns TRUE if the block is free, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_free ( @@ -138,6 +167,10 @@ STATIC INLINE boolean _Heap_Is_block_free ( * * _Heap_Is_block_used * + * DESCRIPTION: + * + * This function returns TRUE if the block is currently allocated, + * and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_used ( @@ -151,6 +184,9 @@ STATIC INLINE boolean _Heap_Is_block_used ( * * _Heap_Block_size * + * DESCRIPTION: + * + * This function returns the size of the_block in bytes. */ STATIC INLINE unsigned32 _Heap_Block_size ( @@ -164,6 +200,10 @@ STATIC INLINE unsigned32 _Heap_Block_size ( * * _Heap_Start_of_user_area * + * DESCRIPTION: + * + * This function returns the starting address of the portion of the block + * which the user may access. */ STATIC INLINE void *_Heap_Start_of_user_area ( @@ -177,6 +217,10 @@ STATIC INLINE void *_Heap_Start_of_user_area ( * * _Heap_Is_block_in * + * DESCRIPTION: + * + * This function returns TRUE if the_block is within the memory area + * managed by the_heap, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_in ( @@ -191,6 +235,12 @@ STATIC INLINE boolean _Heap_Is_block_in ( * * _Heap_Is_page_size_valid * + * DESCRIPTION: + * + * This function validates a specified heap page size. If the page size + * is 0 or if lies outside a page size alignment boundary it is invalid + * and FALSE is returned. Otherwise, the page size is valid and TRUE is + * returned. */ STATIC INLINE boolean _Heap_Is_page_size_valid( @@ -205,6 +255,11 @@ STATIC INLINE boolean _Heap_Is_page_size_valid( * * _Heap_Build_flag * + * DESCRIPTION: + * + * This function returns the block flag composed of size and in_use_flag. + * The flag returned is suitable for use as a back or front flag in a + * heap block. */ STATIC INLINE unsigned32 _Heap_Build_flag ( |