Changeset 27434e9 for libcfa


Ignore:
Timestamp:
Jun 23, 2021, 5:19:38 PM (4 years ago)
Author:
m3zulfiq <m3zulfiq@…>
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.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
libcfa/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/locks.hfa

    r2b910f9 r27434e9  
    174174};
    175175
     176static inline void ?{}(fast_lock & this) { this.owner = 0p; }
     177
    176178static inline bool $try_lock(fast_lock & this, $thread * thrd) {
    177179    $thread * exp = 0p;
  • libcfa/src/concurrency/ready_queue.cfa

    r2b910f9 r27434e9  
    2020
    2121
    22 // #define USE_RELAXED_FIFO
     22#define USE_RELAXED_FIFO
    2323// #define USE_WORK_STEALING
    24 #define USE_CPU_WORK_STEALING
     24// #define USE_CPU_WORK_STEALING
    2525
    2626#include "bits/defs.hfa"
     
    760760                for(i; lanes.count) {
    761761                        unsigned long long tsc1 = ts(lanes.data[i]);
    762                         unsigned long long tsc2 = rdtscl()
     762                        unsigned long long tsc2 = rdtscl();
    763763                        lanes.tscs[i].tv = min(tsc1, tsc2);
    764764                }
  • libcfa/src/containers/array.hfa

    r2b910f9 r27434e9  
    137137// Base
    138138forall( [Nq], Sq & | sized(Sq), Tbase & )
    139 static inline tag(arpk(Nq, Sq, Tbase, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(Tbase) ) {}
     139static 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}
    140143
    141144// Rec
    142145forall( [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)) ) {}
     146static 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}
    144150
    145151// Wrapper
Note: See TracChangeset for help on using the changeset viewer.