- Implemented InterlockedBitTestAndReset, InterlockedBitTestAndSet, InterlockedExchangeAddSizeT.
- Rundown re-implementation:
* Added inlined functions for internal system use for quickest path.
* Correctly named all functions Exf instead of Ex.
* Removed PAGED_CODE(); macro where it shouldn't be used.
* Addded multiple ASSERTS for sanity checks.
* Used macros for win64/32 portability.
* Fixed the following bugs/features:
* ExfAcquireRundownProtection:
** Added specific code instead of calling the generic function. Rundown locks are
performance critical and a dedicated path is prefered.
* ExfAcquireRundownProtectionEx:
** Added a quick immediate check to see if the rundown is active.
* ExfReleaseRundownProtection:
** Added specific code instead of calling the generic function. Rundown locks are
performance critical and a dedicated path is prefered.
* ExfReleaseRundownProtectionEx:
** Simplified the loop code.
** Fixed a bug in signaling of the event during waitblock count removal
* ExfWaitForRundownProtectionRelease:
** Add quick case when we don't actually need a full wait.
** Simplified loop code.
* Added stubs for cache-aware implementation.
* Documented the functions.
svn path=/trunk/; revision=20435