summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/include/rtems/score/heap.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-03-06 21:34:57 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-03-06 21:34:57 +0000
commit1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41 (patch)
tree209ab42fa9bc98774d5290d670af14886390d269 /c/src/exec/score/include/rtems/score/heap.h
parentRemoved prototyes for static inline rgutines and moved the comments into (diff)
downloadrtems-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/include/rtems/score/heap.h')
-rw-r--r--c/src/exec/score/include/rtems/score/heap.h184
1 files changed, 2 insertions, 182 deletions
diff --git a/c/src/exec/score/include/rtems/score/heap.h b/c/src/exec/score/include/rtems/score/heap.h
index dd50a0de8a..c1a0650d0a 100644
--- a/c/src/exec/score/include/rtems/score/heap.h
+++ b/c/src/exec/score/include/rtems/score/heap.h
@@ -214,189 +214,9 @@ void _Heap_Walk(
boolean do_dump
);
-/*
- * _Heap_Head
- *
- * DESCRIPTION:
- *
- * This function returns the head of the specified heap.
- */
-
-STATIC INLINE Heap_Block *_Heap_Head (
- Heap_Control *the_heap
-);
-
-/*
- * _Heap_Tail
- *
- * DESCRIPTION:
- *
- * This function returns the tail of the specified heap.
- */
-
-STATIC INLINE Heap_Block *_Heap_Tail (
- Heap_Control *the_heap
-);
-
-/*
- * _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 (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Next_block
- *
- * DESCRIPTION:
- *
- * This function returns the address of the block which physically
- * follows the_block in memory.
- */
-
-STATIC INLINE Heap_Block *_Heap_Next_block (
- Heap_Block *the_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(
- void *base,
- unsigned32 offset
-);
-
-/*PAGE
- *
- * _Heap_User_block_at
- *
- */
-
-STATIC INLINE Heap_Block *_Heap_User_block_at(
- void *base
-);
-
-/*
- * _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 (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Is_block_free
- *
- * DESCRIPTION:
- *
- * This function returns TRUE if the block is free, and FALSE otherwise.
- */
-
-STATIC INLINE boolean _Heap_Is_block_free (
- Heap_Block *the_block
-);
-
-/*
- * _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 (
- Heap_Block *the_block
-);
-
-/*
- * _Heap_Block_size
- *
- * DESCRIPTION:
- *
- * This function returns the size of the_block in bytes.
- */
-
-STATIC INLINE unsigned32 _Heap_Block_size (
- Heap_Block *the_block
-);
-
-/*
- * _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 (
- Heap_Block *the_block
-);
-
-/*
- * _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 (
- Heap_Control *the_heap,
- Heap_Block *the_block
-);
-
-
-/*
- * _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(
- unsigned32 page_size
-);
-
-/*
- * _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 (
- unsigned32 size,
- unsigned32 in_use_flag
-);
-
+#ifndef __RTEMS_APPLICATION__
#include <rtems/score/heap.inl>
+#endif
#ifdef __cplusplus
}