- assert ((((uintptr_t)&p_gc->refs) & (sizeof (void *) - 1)) == 0); /* alignment */
-
-#if defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
- refs = __sync_add_and_fetch (&p_gc->refs, 1);
-#elif defined (WIN64)
- refs = InterlockedIncrement64 (&p_gc->refs);
-#elif defined (WIN32)
- refs = InterlockedIncrement (&p_gc->refs);
-#elif defined(__APPLE__)
- refs = OSAtomicIncrement32Barrier((int*)&p_gc->refs);
-#else
- vlc_spin_lock (&p_gc->spin);
- refs = ++p_gc->refs;
- vlc_spin_unlock (&p_gc->spin);
-#endif