Ignore:
Timestamp:
Nov 5, 2018, 8:53:04 AM (12 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
9bb39516
Parents:
d7c51da
git-author:
Sebastian Huber <sebastian.huber@…> (11/05/18 08:53:04)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/06/18 12:36:11)
Message:

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().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/include/rtems/score/objectimpl.h

    rd7c51da r878487b0  
    121121 */
    122122typedef struct {
    123   /** This field indicates the API of this object class. */
    124   Objects_APIs      the_api;
    125   /** This is the class of this object set. */
    126   uint16_t          the_class;
    127123  /** This is the minimum valid id of this object class. */
    128124  Objects_Id        minimum_id;
    129125  /** This is the maximum valid id of this object class. */
    130126  Objects_Id        maximum_id;
     127  /** This points to the table of local objects. */
     128  Objects_Control **local_table;
    131129  /** This is the maximum number of objects in this class. */
    132130  Objects_Maximum   maximum;
     131  /** This is the number of objects on the Inactive list. */
     132  Objects_Maximum   inactive;
     133  /** This is the number of objects in a block. */
     134  Objects_Maximum   allocation_size;
     135  /** This is the maximum length of names. */
     136  uint16_t          name_length;
     137  /** This field indicates the API of this object class. */
     138  uint8_t           the_api;
     139  /** This is the class of this object set. */
     140  uint8_t           the_class;
    133141  /** This is true if names are strings. */
    134142  bool              is_string;
    135143  /** This is the true if unlimited objects in this class. */
    136144  bool              auto_extend;
    137   /** This is the number of objects in a block. */
    138   Objects_Maximum   allocation_size;
    139145  /** This is the size in bytes of each object instance. */
    140146  size_t            size;
    141   /** This points to the table of local objects. */
    142   Objects_Control **local_table;
    143147  /** This is the chain of inactive control blocks. */
    144148  Chain_Control     Inactive;
    145   /** This is the number of objects on the Inactive list. */
    146   Objects_Maximum   inactive;
    147149  /** This is the number of inactive objects per block. */
    148   uint32_t         *inactive_per_block;
     150  Objects_Maximum  *inactive_per_block;
    149151  /** This is a table to the chain of inactive object memory blocks. */
    150   void            **object_blocks;
    151   /** This is the maximum length of names. */
    152   uint16_t          name_length;
     152  Objects_Control **object_blocks;
    153153  #if defined(RTEMS_MULTIPROCESSING)
    154154    /** This is this object class' method called when extracting a thread. */
Note: See TracChangeset for help on using the changeset viewer.