Ignore:
Timestamp:
May 5, 2021, 2:42:18 PM (4 years ago)
Author:
Michael Brooks <mlbrooks@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
ce9ed84
Parents:
a5db488 (diff), b9376fe (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

File:
1 edited

Legend:

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

    ra5db488 r7f54356  
    5353// Push a thread onto this lane
    5454// returns true of lane was empty before push, false otherwise
    55 void push( __intrusive_lane_t & this, $thread * node ) {
     55static inline void push( __intrusive_lane_t & this, $thread * node ) {
    5656        /* paranoid */ verify( node->link.next == 0p );
    5757        /* paranoid */ verify( node->link.ts   == 0  );
     
    7777// returns popped
    7878// returns true of lane was empty before push, false otherwise
    79 $thread * pop( __intrusive_lane_t & this ) {
     79static inline [* $thread, unsigned long long] pop( __intrusive_lane_t & this ) {
    8080        /* paranoid */ verify( this.anchor.next != 0p );
    8181        /* paranoid */ verify( this.anchor.ts   != 0  );
    8282
    8383        // Get the relevant nodes locally
     84        unsigned long long ts = this.anchor.ts;
    8485        $thread * node = this.anchor.next;
    8586        this.anchor.next = node->link.next;
     
    9495        /* paranoid */ verify( node->link.next == 0p );
    9596        /* paranoid */ verify( node->link.ts   == 0  );
    96         return node;
     97        return [node, ts];
    9798}
    9899
Note: See TracChangeset for help on using the changeset viewer.