Ignore:
Timestamp:
Nov 6, 2023, 5:52:04 PM (14 months ago)
Author:
caparson <caparson@…>
Branches:
master
Children:
6b419ce
Parents:
0d41b2e
Message:

removed fences for ARM that are likely not needed, insertion of fences into waituntil codegen TBD

File:
1 edited

Legend:

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

    r0d41b2e rfe293bf  
    2828    unlock( lock );
    2929    park();
    30     #if defined(__ARM_ARCH)
    31     __atomic_thread_fence( __ATOMIC_SEQ_CST );
    32     #endif
    3330    return sn.extra == 0p;
    3431}
     
    133130static inline void __cons_handoff( channel(T) & chan, T & elem ) with(chan) {
    134131    memcpy( cons`first.extra, (void *)&elem, sizeof(T) ); // do waiting consumer work
    135     #if defined(__ARM_ARCH)
    136     __atomic_thread_fence( __ATOMIC_SEQ_CST );
    137     #endif
    138132    wake_one( cons );
    139133}
     
    142136static inline void __prods_handoff( channel(T) & chan, T & retval ) with(chan) {
    143137    memcpy( (void *)&retval, prods`first.extra, sizeof(T) );
    144     #if defined(__ARM_ARCH)
    145     __atomic_thread_fence( __ATOMIC_SEQ_CST );
    146     #endif
    147138    wake_one( prods );
    148139}
Note: See TracChangeset for help on using the changeset viewer.