- Timestamp:
- Jun 23, 2021, 5:19:38 PM (4 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b6f39aa
- Parents:
- 2b910f9 (diff), 1d71208 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- libcfa/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/locks.hfa
r2b910f9 r27434e9 174 174 }; 175 175 176 static inline void ?{}(fast_lock & this) { this.owner = 0p; } 177 176 178 static inline bool $try_lock(fast_lock & this, $thread * thrd) { 177 179 $thread * exp = 0p; -
libcfa/src/concurrency/ready_queue.cfa
r2b910f9 r27434e9 20 20 21 21 22 //#define USE_RELAXED_FIFO22 #define USE_RELAXED_FIFO 23 23 // #define USE_WORK_STEALING 24 #define USE_CPU_WORK_STEALING24 // #define USE_CPU_WORK_STEALING 25 25 26 26 #include "bits/defs.hfa" … … 760 760 for(i; lanes.count) { 761 761 unsigned long long tsc1 = ts(lanes.data[i]); 762 unsigned long long tsc2 = rdtscl() 762 unsigned long long tsc2 = rdtscl(); 763 763 lanes.tscs[i].tv = min(tsc1, tsc2); 764 764 } -
libcfa/src/containers/array.hfa
r2b910f9 r27434e9 137 137 // Base 138 138 forall( [Nq], Sq & | sized(Sq), Tbase & ) 139 static inline tag(arpk(Nq, Sq, Tbase, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(Tbase) ) {} 139 static inline tag(arpk(Nq, Sq, Tbase, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(Tbase) ) { 140 tag(arpk(Nq, Sq, Tbase, Tbase)) ret; 141 return ret; 142 } 140 143 141 144 // Rec 142 145 forall( [Nq], Sq & | sized(Sq), [N], S & | sized(S), recq &, recr &, Tbase & | { tag(recr) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(recq) ); } ) 143 static inline tag(arpk(N, S, recr, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(arpk(N, S, recq, Tbase)) ) {} 146 static inline tag(arpk(N, S, recr, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(arpk(N, S, recq, Tbase)) ) { 147 tag(arpk(N, S, recr, Tbase)) ret; 148 return ret; 149 } 144 150 145 151 // Wrapper
Note:
See TracChangeset
for help on using the changeset viewer.