├── Engine ├── Atomic.cs ├── AtomicInt.cs ├── AtomicLong.cs ├── CLR │ ├── CLRAtomic.cs │ ├── CLRAtomicInt.cs │ ├── CLRAtomicLong.cs │ ├── Live │ │ ├── LiveAtomic.cs │ │ ├── LiveAtomicInt.cs │ │ ├── LiveAtomicLong.cs │ │ └── RealMonitor.cs │ ├── MonitorInstance.cs │ ├── RInterlocked.cs │ ├── RMonitor.cs │ ├── RUnordered.cs │ └── RVolatile.cs ├── Engine.csproj ├── EngineException.cs ├── EventLog.cs ├── ExecutionEvent.cs ├── Fence.cs ├── IRelaTest.cs ├── LiveRelaEngine.cs ├── MemoryModel │ ├── AccessData.cs │ ├── AccessDataPool.cs │ ├── AccessHistory.cs │ ├── ILookback.cs │ ├── InternalAtomic.cs │ ├── InternalRaceChecked.cs │ ├── ShadowThread.cs │ └── VectorClock.cs ├── MemoryOrder.cs ├── RaceChecked.cs ├── RelaEngine.cs ├── Scheduling │ ├── Exhaustive │ │ ├── Choice.cs │ │ ├── PriorityRelation.cs │ │ ├── SchedulingStrategy.cs │ │ └── ThreadSet.cs │ ├── ExhaustiveScheduler.cs │ ├── IScheduler.cs │ └── NaiveRandomScheduler.cs ├── TestEnvironment.cs ├── TestFailedException.cs ├── TestRunner.cs └── TestThreads.cs ├── Examples ├── AsymmetricPetersen.cs ├── BoundedSPSCQueue.cs ├── CLR │ ├── AsymmetricLock.cs │ ├── COWList.cs │ ├── DCLReadIndicator.cs │ ├── IPIReadWriteLock.cs │ ├── IncorrectLeftRight.cs │ ├── LeftRight.cs │ ├── SafeAsymmetricLock.cs │ ├── SingleCounterReadIndicator.cs │ └── StarvationLeftRight.cs ├── Deadlock.cs ├── EntryPoint │ ├── Options.cs │ └── RunExamples.cs ├── Examples.csproj ├── IRelaExample.cs ├── LiveLock.cs ├── LostWakeUp.cs ├── MichaelScottQueue.cs ├── MinimalIPI.cs ├── Petersen.cs ├── RelaxedModificationOrder.cs ├── SimpleAcquireRelease.cs ├── SimpleConfig.cs ├── SimpleTransitive.cs ├── StoreLoad.cs ├── TotalOrder.cs ├── TransitiveLastSeen.cs └── TreiberStack.cs ├── LICENSE ├── README.md ├── RelaSharp.sln └── TODO.txt /Engine/Atomic.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Atomic.cs -------------------------------------------------------------------------------- /Engine/AtomicInt.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/AtomicInt.cs -------------------------------------------------------------------------------- /Engine/AtomicLong.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/AtomicLong.cs -------------------------------------------------------------------------------- /Engine/CLR/CLRAtomic.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/CLRAtomic.cs -------------------------------------------------------------------------------- /Engine/CLR/CLRAtomicInt.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/CLRAtomicInt.cs -------------------------------------------------------------------------------- /Engine/CLR/CLRAtomicLong.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/CLRAtomicLong.cs -------------------------------------------------------------------------------- /Engine/CLR/Live/LiveAtomic.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/Live/LiveAtomic.cs -------------------------------------------------------------------------------- /Engine/CLR/Live/LiveAtomicInt.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/Live/LiveAtomicInt.cs -------------------------------------------------------------------------------- /Engine/CLR/Live/LiveAtomicLong.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/Live/LiveAtomicLong.cs -------------------------------------------------------------------------------- /Engine/CLR/Live/RealMonitor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/Live/RealMonitor.cs -------------------------------------------------------------------------------- /Engine/CLR/MonitorInstance.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/MonitorInstance.cs -------------------------------------------------------------------------------- /Engine/CLR/RInterlocked.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/RInterlocked.cs -------------------------------------------------------------------------------- /Engine/CLR/RMonitor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/RMonitor.cs -------------------------------------------------------------------------------- /Engine/CLR/RUnordered.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/RUnordered.cs -------------------------------------------------------------------------------- /Engine/CLR/RVolatile.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/CLR/RVolatile.cs -------------------------------------------------------------------------------- /Engine/Engine.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Engine.csproj -------------------------------------------------------------------------------- /Engine/EngineException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/EngineException.cs -------------------------------------------------------------------------------- /Engine/EventLog.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/EventLog.cs -------------------------------------------------------------------------------- /Engine/ExecutionEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/ExecutionEvent.cs -------------------------------------------------------------------------------- /Engine/Fence.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Fence.cs -------------------------------------------------------------------------------- /Engine/IRelaTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/IRelaTest.cs -------------------------------------------------------------------------------- /Engine/LiveRelaEngine.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/LiveRelaEngine.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/AccessData.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/AccessData.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/AccessDataPool.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/AccessDataPool.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/AccessHistory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/AccessHistory.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/ILookback.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/ILookback.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/InternalAtomic.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/InternalAtomic.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/InternalRaceChecked.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/InternalRaceChecked.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/ShadowThread.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/ShadowThread.cs -------------------------------------------------------------------------------- /Engine/MemoryModel/VectorClock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryModel/VectorClock.cs -------------------------------------------------------------------------------- /Engine/MemoryOrder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/MemoryOrder.cs -------------------------------------------------------------------------------- /Engine/RaceChecked.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/RaceChecked.cs -------------------------------------------------------------------------------- /Engine/RelaEngine.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/RelaEngine.cs -------------------------------------------------------------------------------- /Engine/Scheduling/Exhaustive/Choice.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/Exhaustive/Choice.cs -------------------------------------------------------------------------------- /Engine/Scheduling/Exhaustive/PriorityRelation.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/Exhaustive/PriorityRelation.cs -------------------------------------------------------------------------------- /Engine/Scheduling/Exhaustive/SchedulingStrategy.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/Exhaustive/SchedulingStrategy.cs -------------------------------------------------------------------------------- /Engine/Scheduling/Exhaustive/ThreadSet.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/Exhaustive/ThreadSet.cs -------------------------------------------------------------------------------- /Engine/Scheduling/ExhaustiveScheduler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/ExhaustiveScheduler.cs -------------------------------------------------------------------------------- /Engine/Scheduling/IScheduler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/IScheduler.cs -------------------------------------------------------------------------------- /Engine/Scheduling/NaiveRandomScheduler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/Scheduling/NaiveRandomScheduler.cs -------------------------------------------------------------------------------- /Engine/TestEnvironment.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/TestEnvironment.cs -------------------------------------------------------------------------------- /Engine/TestFailedException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/TestFailedException.cs -------------------------------------------------------------------------------- /Engine/TestRunner.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/TestRunner.cs -------------------------------------------------------------------------------- /Engine/TestThreads.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Engine/TestThreads.cs -------------------------------------------------------------------------------- /Examples/AsymmetricPetersen.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/AsymmetricPetersen.cs -------------------------------------------------------------------------------- /Examples/BoundedSPSCQueue.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/BoundedSPSCQueue.cs -------------------------------------------------------------------------------- /Examples/CLR/AsymmetricLock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/AsymmetricLock.cs -------------------------------------------------------------------------------- /Examples/CLR/COWList.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/COWList.cs -------------------------------------------------------------------------------- /Examples/CLR/DCLReadIndicator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/DCLReadIndicator.cs -------------------------------------------------------------------------------- /Examples/CLR/IPIReadWriteLock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/IPIReadWriteLock.cs -------------------------------------------------------------------------------- /Examples/CLR/IncorrectLeftRight.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/IncorrectLeftRight.cs -------------------------------------------------------------------------------- /Examples/CLR/LeftRight.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/LeftRight.cs -------------------------------------------------------------------------------- /Examples/CLR/SafeAsymmetricLock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/SafeAsymmetricLock.cs -------------------------------------------------------------------------------- /Examples/CLR/SingleCounterReadIndicator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/SingleCounterReadIndicator.cs -------------------------------------------------------------------------------- /Examples/CLR/StarvationLeftRight.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/CLR/StarvationLeftRight.cs -------------------------------------------------------------------------------- /Examples/Deadlock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/Deadlock.cs -------------------------------------------------------------------------------- /Examples/EntryPoint/Options.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/EntryPoint/Options.cs -------------------------------------------------------------------------------- /Examples/EntryPoint/RunExamples.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/EntryPoint/RunExamples.cs -------------------------------------------------------------------------------- /Examples/Examples.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/Examples.csproj -------------------------------------------------------------------------------- /Examples/IRelaExample.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/IRelaExample.cs -------------------------------------------------------------------------------- /Examples/LiveLock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/LiveLock.cs -------------------------------------------------------------------------------- /Examples/LostWakeUp.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/LostWakeUp.cs -------------------------------------------------------------------------------- /Examples/MichaelScottQueue.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/MichaelScottQueue.cs -------------------------------------------------------------------------------- /Examples/MinimalIPI.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/MinimalIPI.cs -------------------------------------------------------------------------------- /Examples/Petersen.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/Petersen.cs -------------------------------------------------------------------------------- /Examples/RelaxedModificationOrder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/RelaxedModificationOrder.cs -------------------------------------------------------------------------------- /Examples/SimpleAcquireRelease.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/SimpleAcquireRelease.cs -------------------------------------------------------------------------------- /Examples/SimpleConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/SimpleConfig.cs -------------------------------------------------------------------------------- /Examples/SimpleTransitive.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/SimpleTransitive.cs -------------------------------------------------------------------------------- /Examples/StoreLoad.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/StoreLoad.cs -------------------------------------------------------------------------------- /Examples/TotalOrder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/TotalOrder.cs -------------------------------------------------------------------------------- /Examples/TransitiveLastSeen.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/TransitiveLastSeen.cs -------------------------------------------------------------------------------- /Examples/TreiberStack.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/Examples/TreiberStack.cs -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/README.md -------------------------------------------------------------------------------- /RelaSharp.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/RelaSharp.sln -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicknash/RelaSharp/HEAD/TODO.txt --------------------------------------------------------------------------------