summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-05 09:53:04 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-06 13:36:11 +0100
commit878487b024578e887f27719887d7cada84db23bc (patch)
tree7ff556c29d98e61d3710fb18c3fc3a0260660f81 /cpukit/include/rtems/score
parentaltera-cyclone-v: tweak ingroup (diff)
downloadrtems-878487b024578e887f27719887d7cada84db23bc.tar.bz2
score: Optimize Objects_Information
Reduce structure internal padding. Group members used by _Objects_Get() together. Reduce size of some members. Format and simplify _Objects_Extend_information().
Diffstat (limited to 'cpukit/include/rtems/score')
-rw-r--r--cpukit/include/rtems/score/objectimpl.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/cpukit/include/rtems/score/objectimpl.h b/cpukit/include/rtems/score/objectimpl.h
index 1bef14b116..bf4d45df4a 100644
--- a/cpukit/include/rtems/score/objectimpl.h
+++ b/cpukit/include/rtems/score/objectimpl.h
@@ -120,36 +120,36 @@ typedef void ( *Objects_Thread_queue_Extract_callout )(
* manage each class of objects.
*/
typedef struct {
- /** This field indicates the API of this object class. */
- Objects_APIs the_api;
- /** This is the class of this object set. */
- uint16_t the_class;
/** This is the minimum valid id of this object class. */
Objects_Id minimum_id;
/** This is the maximum valid id of this object class. */
Objects_Id maximum_id;
+ /** This points to the table of local objects. */
+ Objects_Control **local_table;
/** This is the maximum number of objects in this class. */
Objects_Maximum maximum;
+ /** This is the number of objects on the Inactive list. */
+ Objects_Maximum inactive;
+ /** This is the number of objects in a block. */
+ Objects_Maximum allocation_size;
+ /** This is the maximum length of names. */
+ uint16_t name_length;
+ /** This field indicates the API of this object class. */
+ uint8_t the_api;
+ /** This is the class of this object set. */
+ uint8_t the_class;
/** This is true if names are strings. */
bool is_string;
/** This is the true if unlimited objects in this class. */
bool auto_extend;
- /** This is the number of objects in a block. */
- Objects_Maximum allocation_size;
/** This is the size in bytes of each object instance. */
size_t size;
- /** This points to the table of local objects. */
- Objects_Control **local_table;
/** This is the chain of inactive control blocks. */
Chain_Control Inactive;
- /** This is the number of objects on the Inactive list. */
- Objects_Maximum inactive;
/** This is the number of inactive objects per block. */
- uint32_t *inactive_per_block;
+ Objects_Maximum *inactive_per_block;
/** This is a table to the chain of inactive object memory blocks. */
- void **object_blocks;
- /** This is the maximum length of names. */
- uint16_t name_length;
+ Objects_Control **object_blocks;
#if defined(RTEMS_MULTIPROCESSING)
/** This is this object class' method called when extracting a thread. */
Objects_Thread_queue_Extract_callout extract;