Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel/fwd.hfa

    rdd46fd3 r3fcb5921  
    4646                        } preemption_state;
    4747
    48                         PRNG_STATE_T random_state;
    49 
     48                        #if defined(__SIZEOF_INT128__)
     49                                __uint128_t rand_seed;
     50                        #else
     51                                uint64_t rand_seed;
     52                        #endif
    5053                        struct {
    5154                                uint64_t fwd_seed;
     
    5457
    5558                        struct __stats_t        * volatile this_stats;
     59
    5660
    5761                        #ifdef __CFA_WITH_VERIFY__
     
    7276                #define publicTLS_get( member ) ((typeof(__cfaabi_tls.member))__cfatls_get( __builtin_offsetof(KernelThreadData, member) ))
    7377
    74                 static inline
    75                         #ifdef __x86_64__                                                       // 64-bit architecture
    76                         uint64_t
    77                         #else                                                                           // 32-bit architecture
    78                         uint32_t
    79                         #endif // __x86_64__
    80                 __tls_rand() {
    81                         return PRNG_NAME( kernelTLS().random_state );
     78                static inline uint64_t __tls_rand() {
     79                        return
     80                        #if defined(__SIZEOF_INT128__)
     81                                lehmer64( kernelTLS().rand_seed );
     82                        #else
     83                                xorshift_13_7_17( kernelTLS().rand_seed );
     84                        #endif
    8285                }
    8386
     
    117120
    118121                // Yield: yield N times
    119                 static inline void yield( size_t times ) {
     122                static inline void yield( unsigned times ) {
    120123                        for( times ) {
    121124                                yield();
Note: See TracChangeset for help on using the changeset viewer.