The _AcquireSpinLock intrinsic has the following declaration:
void _AcquireSpinLock(long *);
This intrinsic function takes a single argument, a pointer to a longword-aligned memory spinlock. The intrinsic repeatedly attempts to acquire the spinlock in a compute-intensive manner, and with an infinite number of retries allowed. This intrinsic contains required memory barriers.