Ignore:
Timestamp:
Oct 8, 2022, 4:29:32 PM (19 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master
Children:
301071a, affb51b
Parents:
b2ddaf3
Message:

add attribute always_inline to many CFA-library cover-routines to force inlining

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/time.hfa

    rb2ddaf3 r95bda0a  
    1010// Created On       : Wed Mar 14 23:18:57 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Apr 21 06:32:31 2021
    13 // Update Count     : 667
     12// Last Modified On : Sat Oct  8 09:07:48 2022
     13// Update Count     : 668
    1414//
    1515
     
    2727//######################### Duration #########################
    2828
    29 static inline {
     29static inline __attribute__((always_inline)) {
    3030        void ?{}( Duration & dur, timeval t ) with( dur ) { tn = (int64_t)t.tv_sec * TIMEGRAN + t.tv_usec * 1000; }
    3131        void ?{}( Duration & dur, timespec t ) with( dur ) { tn = (int64_t)t.tv_sec * TIMEGRAN + t.tv_nsec; }
     
    115115//######################### C timeval #########################
    116116
    117 static inline {
     117static inline __attribute__((always_inline)) {
    118118        void ?{}( timeval & t ) {}
    119119        void ?{}( timeval & t, time_t sec, suseconds_t usec ) { t.tv_sec = sec; t.tv_usec = usec; }
     
    130130//######################### C timespec #########################
    131131
    132 static inline {
     132static inline __attribute__((always_inline)) {
    133133        void ?{}( timespec & t ) {}
    134134        void ?{}( timespec & t, time_t sec, __syscall_slong_t nsec ) { t.tv_sec = sec; t.tv_nsec = nsec; }
     
    145145//######################### C itimerval #########################
    146146
    147 static inline {
     147static inline __attribute__((always_inline)) {
    148148        void ?{}( itimerval & itv, Duration alarm ) with( itv ) {
    149149                // itimerval contains durations but but uses time data-structure timeval.
     
    162162
    163163void ?{}( Time & time, int year, int month = 1, int day = 1, int hour = 0, int min = 0, int sec = 0, int64_t nsec = 0 );
    164 static inline {
     164static inline __attribute__((always_inline)) {
    165165        void ?{}( Time & time, timeval t ) with( time ) { tn = (int64_t)t.tv_sec * TIMEGRAN + t.tv_usec * 1000; }
    166166        void ?{}( Time & time, timespec t ) with( time ) { tn = (int64_t)t.tv_sec * TIMEGRAN + t.tv_nsec; }
     
    194194
    195195char * yy_mm_dd( Time time, char * buf );
    196 static inline char * ?`ymd( Time time, char * buf ) {   // short form
     196static inline __attribute__((always_inline)) char * ?`ymd( Time time, char * buf ) {    // short form
    197197        return yy_mm_dd( time, buf );
    198198} // ymd
    199199
    200200char * mm_dd_yy( Time time, char * buf );
    201 static inline char * ?`mdy( Time time, char * buf ) {   // short form
     201static inline __attribute__((always_inline)) char * ?`mdy( Time time, char * buf ) {    // short form
    202202        return mm_dd_yy( time, buf );
    203203} // mdy
    204204
    205205char * dd_mm_yy( Time time, char * buf );
    206 static inline char * ?`dmy( Time time, char * buf ) {   // short form
     206static inline __attribute__((always_inline)) char * ?`dmy( Time time, char * buf ) {    // short form
    207207        return dd_mm_yy( time, buf );;
    208208} // dmy
     
    212212//------------------------- timeval (cont) -------------------------
    213213
    214 static inline void ?{}( timeval & t, Time time ) with( t, time ) {
     214static inline __attribute__((always_inline)) void ?{}( timeval & t, Time time ) with( t, time ) {
    215215        tv_sec = tn / TIMEGRAN;                                                         // seconds
    216216        tv_usec = tn % TIMEGRAN / (TIMEGRAN / 1_000_000LL);     // microseconds
     
    219219//------------------------- timespec (cont) -------------------------
    220220
    221 static inline void ?{}( timespec & t, Time time ) with( t, time ) {
     221static inline __attribute__((always_inline)) void ?{}( timespec & t, Time time ) with( t, time ) {
    222222        tv_sec = tn / TIMEGRAN;                                                         // seconds
    223223        tv_nsec = tn % TIMEGRAN;                                                        // nanoseconds
Note: See TracChangeset for help on using the changeset viewer.