Ignore:
Timestamp:
Aug 18, 2020, 4:31:19 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
8e9d567
Parents:
ef9988b (diff), f2384c9a (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' into new-ast

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel.cfa

    ref9988b r13d33a75  
    103103        // Do it here
    104104        kernelTLS.rand_seed ^= rdtscl();
     105        kernelTLS.ready_rng.fwd_seed = 25214903917_l64u * (rdtscl() ^ (uintptr_t)&runner);
     106        __tls_rand_advance_bck();
    105107
    106108        processor * this = runner.proc;
     
    532534                unsigned total   = this.total;
    533535                processor * proc = &this.list`first;
    534                 // Thread fence is unnecessary, but gcc-8 and older incorrectly reorder code without it
    535                 __atomic_thread_fence(__ATOMIC_SEQ_CST);
     536                // Compiler fence is unnecessary, but gcc-8 and older incorrectly reorder code without it
     537                asm volatile("": : :"memory");
    536538                if(l != __atomic_load_n(&this.lock, __ATOMIC_SEQ_CST)) { Pause(); continue; }
    537539                return [idle, total, proc];
Note: See TracChangeset for help on using the changeset viewer.