@@ -4,12 +4,13 @@ struct TURBO{UNROLL,OPS,ARF,AM,LPSYM,LBV,FLBV} <: Function end
4
4
# hopefully shouldn't add much to compile time.
5
5
6
6
function (:: TURBO{UNROLL,OPS,ARF,AM,LPSYM,LBV,FLBV} )(p:: Ptr{UInt} ) where {UNROLL,OPS,ARF,AM,LPSYM,K,LBV,FLBV<: Tuple{Vararg{Any,K}} }
7
- (_, _vargs) = ThreadingUtilities. load (p, FLBV, 2 * sizeof (UInt))
7
+ (_, _vargs) = ThreadingUtilities. load (p, FLBV, 2 * sizeof (UInt))
8
8
# Main.VARGS[Threads.threadid()] = first(_vargs)
9
9
# Threads.threadid() == 2 && Core.println(typeof(_vargs))
10
- ret = _turbo_! (Val {UNROLL} (), Val {OPS} (), Val {ARF} (), Val {AM} (), Val {LPSYM} (), Val {LBV} (), _vargs... )
11
- ThreadingUtilities. store! (p, ret, Int (register_size ()))
12
- nothing
10
+ ret = _turbo_! (Val {UNROLL} (), Val {OPS} (), Val {ARF} (), Val {AM} (), Val {LPSYM} (), Val {LBV} (), _vargs... )
11
+ ThreadingUtilities. store! (p, ret, Int (register_size ()))
12
+ ThreadingUtilities. _atomic_store! (p, ThreadingUtilities. SPIN)
13
+ nothing
13
14
end
14
15
@generated function Base. pointer (:: TURBO{UNROLL,OPS,ARF,AM,LPSYM,LBV,FLBV} ) where {UNROLL,OPS,ARF,AM,LPSYM,K,LBV,FLBV<: Tuple{Vararg{Any,K}} }
15
16
f = TURBO {UNROLL,OPS,ARF,AM,LPSYM,LBV,FLBV} ()
0 commit comments