summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-01-09 22:35:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-01-09 22:35:10 +0000
commit5b33dc8076ed5afe512114ed45536cc85708c7de (patch)
tree0a774de76db7ba598aa21f3fb5775d9a84ad5b49 /cpukit/score
parent2008-01-09 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-5b33dc8076ed5afe512114ed45536cc85708c7de.tar.bz2
2008-01-09 Joel Sherrill <joel.sherrill@OARcorp.com>
* score/include/rtems/score/wkspace.h, score/inline/rtems/score/wkspace.inl, score/src/wkspace.c: Do not inline _Workspace_Free or _Workspace_Allocate since they are not always inlined and actually smaller overall as subroutines. They are not particularly time critical so inlining is not absolutely necessary.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/include/rtems/score/wkspace.h29
-rw-r--r--cpukit/score/inline/rtems/score/wkspace.inl28
-rw-r--r--cpukit/score/src/wkspace.c29
3 files changed, 52 insertions, 34 deletions
diff --git a/cpukit/score/include/rtems/score/wkspace.h b/cpukit/score/include/rtems/score/wkspace.h
index b692b914eb..b210000d41 100644
--- a/cpukit/score/include/rtems/score/wkspace.h
+++ b/cpukit/score/include/rtems/score/wkspace.h
@@ -55,6 +55,35 @@ void _Workspace_Handler_initialization(
size_t size
);
+/** @brief Allocate Memory from Workspace
+ *
+ * This routine returns the address of a block of memory of size
+ * bytes. If a block of the appropriate size cannot be allocated
+ * from the workspace, then NULL is returned.
+ *
+ * @param size is the requested size
+ *
+ * @return a pointer to the requested memory or NULL.
+ */
+void *_Workspace_Allocate(
+ size_t size
+);
+
+/** @brief Free Memory to the Workspace
+ *
+ * This function frees the specified block of memory. If the block
+ * belongs to the Workspace and can be successfully freed, then
+ * TRUE is returned. Otherwise FALSE is returned.
+ *
+ * @param block is the memory to free
+ *
+ * @return TRUE if the free was successful.
+ */
+
+boolean _Workspace_Free(
+ void *block
+);
+
/** @brief Workspace Allocate or Fail with Fatal Error
*
* This routine returns the address of a block of memory of @a size
diff --git a/cpukit/score/inline/rtems/score/wkspace.inl b/cpukit/score/inline/rtems/score/wkspace.inl
index d2c05db2e9..ff64baec7b 100644
--- a/cpukit/score/inline/rtems/score/wkspace.inl
+++ b/cpukit/score/inline/rtems/score/wkspace.inl
@@ -6,7 +6,7 @@
*/
/*
- * COPYRIGHT (c) 1989-2004.
+ * COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -24,32 +24,6 @@
* @{
*/
-/**
- * This routine returns the address of a block of memory of size
- * bytes. If a block of the appropriate size cannot be allocated
- * from the workspace, then NULL is returned.
- */
-
-RTEMS_INLINE_ROUTINE void *_Workspace_Allocate(
- size_t size
-)
-{
- return _Heap_Allocate( &_Workspace_Area, size );
-}
-
-/**
- * This function frees the specified block of memory. If the block
- * belongs to the Workspace and can be successfully freed, then
- * TRUE is returned. Otherwise FALSE is returned.
- */
-
-RTEMS_INLINE_ROUTINE boolean _Workspace_Free(
- void *block
-)
-{
- return _Heap_Free( &_Workspace_Area, block );
-}
-
/**@}*/
#endif
diff --git a/cpukit/score/src/wkspace.c b/cpukit/score/src/wkspace.c
index 953981c477..b02e8f7b64 100644
--- a/cpukit/score/src/wkspace.c
+++ b/cpukit/score/src/wkspace.c
@@ -22,11 +22,9 @@
#include <string.h> /* for memset */
-/*PAGE
- *
+/*
* _Workspace_Handler_initialization
*/
-
void _Workspace_Handler_initialization(
void *starting_address,
size_t size
@@ -59,12 +57,29 @@ void _Workspace_Handler_initialization(
);
}
-/*PAGE
- *
- * _Workspace_Allocate_or_fatal_error
- *
+/*
+ * _Workspace_Allocate
*/
+void *_Workspace_Allocate(
+ size_t size
+)
+{
+ return _Heap_Allocate( &_Workspace_Area, size );
+}
+/*
+ * _Workspace_Allocate
+ */
+boolean _Workspace_Free(
+ void *block
+)
+{
+ return _Heap_Free( &_Workspace_Area, block );
+}
+
+/*
+ * _Workspace_Allocate_or_fatal_error
+ */
void *_Workspace_Allocate_or_fatal_error(
size_t size
)