![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
Go to the source code of this file.
Classes | |
| struct | __TBB_machine_load_store< T, S > |
| struct | __TBB_machine_load_store< T, 8 > |
Defines | |
| #define | __TBB_AtomicAND(P, V) __TBB_machine_AND(P,V) |
| #define | __TBB_AtomicOR(P, V) __TBB_machine_OR(P,V) |
| #define | __TBB_BIG_ENDIAN 0 |
| #define | __TBB_CompareAndSwap1(P, V, C) __TBB_machine_cmpswp1(P,V,C) |
| #define | __TBB_CompareAndSwap2(P, V, C) __TBB_machine_cmpswp2(P,V,C) |
| #define | __TBB_CompareAndSwap4(P, V, C) __TBB_machine_cmpswp4(P,V,C) |
| #define | __TBB_CompareAndSwap8(P, V, C) __TBB_machine_cmpswp8(P,V,C) |
| #define | __TBB_CompareAndSwapW(P, V, C) __TBB_machine_cmpswpW(P,V,C) |
| #define | __TBB_DEFINE_ATOMICS(S, T, U, A, C) |
| #define | __TBB_FetchAndAdd1(P, V) __TBB_machine_fetchadd1(P,V) |
| #define | __TBB_FetchAndAdd2(P, V) __TBB_machine_fetchadd2(P,V) |
| #define | __TBB_FetchAndAdd4(P, V) __TBB_machine_fetchadd4(P,V) |
| #define | __TBB_FetchAndAdd8(P, V) __TBB_machine_fetchadd8(P,V) |
| #define | __TBB_FetchAndAddW(P, V) __TBB_machine_fetchaddW(P,V) |
| #define | __TBB_FetchAndStore1(P, V) __TBB_machine_fetchstore1(P,V) |
| #define | __TBB_FetchAndStore2(P, V) __TBB_machine_fetchstore2(P,V) |
| #define | __TBB_FetchAndStore4(P, V) __TBB_machine_fetchstore4(P,V) |
| #define | __TBB_FetchAndStore8(P, V) __TBB_machine_fetchstore8(P,V) |
| #define | __TBB_FetchAndStoreW(P, V) __TBB_machine_fetchstoreW(P,V) |
| #define | __TBB_Load8(P) __TBB_machine_load8(P) |
| #define | __TBB_load_with_acquire(L) __TBB_machine_load_with_acquire((L)) |
| #define | __TBB_Log2(V) __TBB_machine_lg(V) |
| #define | __TBB_Pause(V) __TBB_machine_pause(V) |
| #define | __TBB_Store8(P, V) __TBB_machine_store8(P,V) |
| #define | __TBB_store_with_release(L, V) __TBB_machine_store_with_release((L),(V)) |
| #define | __TBB_WORDSIZE 4 |
| #define | __TBB_Yield() SwitchToThread() |
Functions | |
| __declspec (dllimport) int __stdcall SwitchToThread(void) | |
| static void | __TBB_machine_AND (volatile void *operand, __int32 addend) |
| static __int8 | __TBB_machine_cmpswp1 (volatile void *ptr, __int8 value, __int8 comparand) |
| static __int16 | __TBB_machine_cmpswp2 (volatile void *ptr, __int16 value, __int16 comparand) |
| static __int32 | __TBB_machine_cmpswp4 (volatile void *ptr, __int32 value, __int32 comparand) |
| __int64 __TBB_EXPORTED_FUNC | __TBB_machine_cmpswp8 (volatile void *ptr, __int64 value, __int64 comparand) |
| static ptrdiff_t | __TBB_machine_cmpswpW (volatile void *ptr, ptrdiff_t value, ptrdiff_t comparand) |
| static __int8 | __TBB_machine_fetchadd1 (volatile void *ptr, __int8 addend) |
| static __int16 | __TBB_machine_fetchadd2 (volatile void *ptr, __int16 addend) |
| static __int32 | __TBB_machine_fetchadd4 (volatile void *ptr, __int32 addend) |
| __int64 __TBB_EXPORTED_FUNC | __TBB_machine_fetchadd8 (volatile void *ptr, __int64 addend) |
| static ptrdiff_t | __TBB_machine_fetchaddW (volatile void *ptr, ptrdiff_t addend) |
| static __int8 | __TBB_machine_fetchstore1 (volatile void *ptr, __int8 value) |
| static __int16 | __TBB_machine_fetchstore2 (volatile void *ptr, __int16 value) |
| static __int32 | __TBB_machine_fetchstore4 (volatile void *ptr, __int32 value) |
| __int64 __TBB_EXPORTED_FUNC | __TBB_machine_fetchstore8 (volatile void *ptr, __int64 value) |
| static ptrdiff_t | __TBB_machine_fetchstoreW (volatile void *ptr, ptrdiff_t value) |
| static __int32 | __TBB_machine_lg (unsigned __int64 i) |
| __int64 __TBB_EXPORTED_FUNC | __TBB_machine_load8 (const volatile void *ptr) |
| template<typename T > | |
| T | __TBB_machine_load_with_acquire (const volatile T &location) |
| static void | __TBB_machine_OR (volatile void *operand, __int32 addend) |
| static void | __TBB_machine_pause (__int32 delay) |
| void __TBB_EXPORTED_FUNC | __TBB_machine_store8 (volatile void *ptr, __int64 value) |
| template<typename T , typename V > | |
| void | __TBB_machine_store_with_release (T &location, V value) |
| void | __TBB_machine_store_with_release (size_t &location, size_t value) |
| Overload that exists solely to avoid /Wp64 warnings. | |
| void | __TBB_rel_acq_fence () |
Definition at line 219 of file Include/tbb/machine/windows_ia32.h.
Definition at line 218 of file Include/tbb/machine/windows_ia32.h.
| #define __TBB_BIG_ENDIAN 0 |
Definition at line 46 of file Include/tbb/machine/windows_ia32.h.
Definition at line 197 of file Include/tbb/machine/windows_ia32.h.
Definition at line 198 of file Include/tbb/machine/windows_ia32.h.
Definition at line 199 of file Include/tbb/machine/windows_ia32.h.
Definition at line 200 of file Include/tbb/machine/windows_ia32.h.
Definition at line 201 of file Include/tbb/machine/windows_ia32.h.
Definition at line 105 of file Include/tbb/machine/windows_ia32.h.
Definition at line 203 of file Include/tbb/machine/windows_ia32.h.
Definition at line 204 of file Include/tbb/machine/windows_ia32.h.
Definition at line 205 of file Include/tbb/machine/windows_ia32.h.
Definition at line 206 of file Include/tbb/machine/windows_ia32.h.
Definition at line 207 of file Include/tbb/machine/windows_ia32.h.
Definition at line 209 of file Include/tbb/machine/windows_ia32.h.
Definition at line 210 of file Include/tbb/machine/windows_ia32.h.
Definition at line 211 of file Include/tbb/machine/windows_ia32.h.
Definition at line 212 of file Include/tbb/machine/windows_ia32.h.
Definition at line 213 of file Include/tbb/machine/windows_ia32.h.
| #define __TBB_Load8 | ( | P | ) | __TBB_machine_load8(P) |
Definition at line 217 of file Include/tbb/machine/windows_ia32.h.
Definition at line 102 of file Include/tbb/machine/windows_ia32.h.
Definition at line 225 of file Include/tbb/machine/windows_ia32.h.
Definition at line 224 of file Include/tbb/machine/windows_ia32.h.
Definition at line 216 of file Include/tbb/machine/windows_ia32.h.
Definition at line 103 of file Include/tbb/machine/windows_ia32.h.
| #define __TBB_WORDSIZE 4 |
Definition at line 45 of file Include/tbb/machine/windows_ia32.h.
| #define __TBB_Yield | ( | ) | SwitchToThread() |
Definition at line 223 of file Include/tbb/machine/windows_ia32.h.
| __declspec | ( | dllimport | ) |
| static void __TBB_machine_AND | ( | volatile void * | operand, |
| __int32 | addend | ||
| ) | [inline, static] |
Definition at line 176 of file Include/tbb/machine/windows_ia32.h.
{
__asm
{
mov eax, addend
mov edx, [operand]
lock and [edx], eax
}
}
| static __int8 __TBB_machine_cmpswp1 | ( | volatile void * | ptr, |
| __int8 | value, | ||
| __int8 | comparand | ||
| ) | [inline, static] |
Definition at line 152 of file Include/tbb/machine/windows_ia32.h.
{
| static __int16 __TBB_machine_cmpswp2 | ( | volatile void * | ptr, |
| __int16 | value, | ||
| __int16 | comparand | ||
| ) | [inline, static] |
Definition at line 153 of file Include/tbb/machine/windows_ia32.h.
{
| static __int32 __TBB_machine_cmpswp4 | ( | volatile void * | ptr, |
| __int32 | value, | ||
| __int32 | comparand | ||
| ) | [inline, static] |
Definition at line 154 of file Include/tbb/machine/windows_ia32.h.
{
| __int64 __TBB_EXPORTED_FUNC __TBB_machine_cmpswp8 | ( | volatile void * | ptr, |
| __int64 | value, | ||
| __int64 | comparand | ||
| ) | [inline] |
Definition at line 55 of file Include/tbb/machine/mac_ppc.h.
{
int64_t result;
__asm__ __volatile__("sync\n"
"0: ldarx %0,0,%2\n\t" /* load w/ reservation */
"cmpd %0,%4\n\t" /* compare against comparand */
"bne- 1f\n\t" /* exit if not same */
"stdcx. %3,0,%2\n\t" /* store new_value */
"bne- 0b\n" /* retry if reservation lost */
"1: sync" /* the exit */
: "=&b"(result), "=m"(* (int64_t*) ptr)
: "r"(ptr), "r"(value), "r"(comparand), "m"(* (int64_t*) ptr)
: "cr0");
return result;
}
| static ptrdiff_t __TBB_machine_cmpswpW | ( | volatile void * | ptr, |
| ptrdiff_t | value, | ||
| ptrdiff_t | comparand | ||
| ) | [inline, static] |
Definition at line 155 of file Include/tbb/machine/windows_ia32.h.
{
| static __int8 __TBB_machine_fetchadd1 | ( | volatile void * | ptr, |
| __int8 | addend | ||
| ) | [inline, static] |
Definition at line 152 of file Include/tbb/machine/windows_ia32.h.
{
| static __int16 __TBB_machine_fetchadd2 | ( | volatile void * | ptr, |
| __int16 | addend | ||
| ) | [inline, static] |
Definition at line 153 of file Include/tbb/machine/windows_ia32.h.
{
| static __int32 __TBB_machine_fetchadd4 | ( | volatile void * | ptr, |
| __int32 | addend | ||
| ) | [inline, static] |
Definition at line 154 of file Include/tbb/machine/windows_ia32.h.
{
| __int64 __TBB_EXPORTED_FUNC __TBB_machine_fetchadd8 | ( | volatile void * | ptr, |
| __int64 | addend | ||
| ) |
| static ptrdiff_t __TBB_machine_fetchaddW | ( | volatile void * | ptr, |
| ptrdiff_t | addend | ||
| ) | [inline, static] |
Definition at line 155 of file Include/tbb/machine/windows_ia32.h.
{
| static __int8 __TBB_machine_fetchstore1 | ( | volatile void * | ptr, |
| __int8 | value | ||
| ) | [inline, static] |
Definition at line 152 of file Include/tbb/machine/windows_ia32.h.
{
| static __int16 __TBB_machine_fetchstore2 | ( | volatile void * | ptr, |
| __int16 | value | ||
| ) | [inline, static] |
Definition at line 153 of file Include/tbb/machine/windows_ia32.h.
{
| static __int32 __TBB_machine_fetchstore4 | ( | volatile void * | ptr, |
| __int32 | value | ||
| ) | [inline, static] |
Definition at line 154 of file Include/tbb/machine/windows_ia32.h.
{
| __int64 __TBB_EXPORTED_FUNC __TBB_machine_fetchstore8 | ( | volatile void * | ptr, |
| __int64 | value | ||
| ) |
| static ptrdiff_t __TBB_machine_fetchstoreW | ( | volatile void * | ptr, |
| ptrdiff_t | value | ||
| ) | [inline, static] |
Definition at line 155 of file Include/tbb/machine/windows_ia32.h.
{
| static __int32 __TBB_machine_lg | ( | unsigned __int64 | i | ) | [inline, static] |
Definition at line 157 of file Include/tbb/machine/windows_ia32.h.
{
unsigned __int32 j;
__asm
{
bsr eax, i
mov j, eax
}
return j;
}
| __int64 __TBB_EXPORTED_FUNC __TBB_machine_load8 | ( | const volatile void * | ptr | ) |
Definition at line 88 of file Include/tbb/machine/windows_ia32.h.
{
return __TBB_machine_load_store<T,sizeof(T)>::load_with_acquire(location);
}
| static void __TBB_machine_OR | ( | volatile void * | operand, |
| __int32 | addend | ||
| ) | [inline, static] |
Definition at line 167 of file Include/tbb/machine/windows_ia32.h.
{
__asm
{
mov eax, addend
mov edx, [operand]
lock or [edx], eax
}
}
| static void __TBB_machine_pause | ( | __int32 | delay | ) | [inline, static] |
Definition at line 185 of file Include/tbb/machine/windows_ia32.h.
{
_asm
{
mov eax, delay
L1:
pause
add eax, -1
jne L1
}
return;
}
| void __TBB_EXPORTED_FUNC __TBB_machine_store8 | ( | volatile void * | ptr, |
| __int64 | value | ||
| ) |
| void __TBB_machine_store_with_release | ( | T & | location, |
| V | value | ||
| ) | [inline] |
Definition at line 93 of file Include/tbb/machine/windows_ia32.h.
{
__TBB_machine_load_store<T,sizeof(T)>::store_with_release(location,value);
}
| void __TBB_machine_store_with_release | ( | size_t & | location, |
| size_t | value | ||
| ) | [inline] |
Definition at line 98 of file Include/tbb/machine/windows_ia32.h.
| void __TBB_rel_acq_fence | ( | ) | [inline] |
Definition at line 43 of file Include/tbb/machine/windows_ia32.h.
{ __asm { __asm mfence } }
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.