Commit Graph

334 Commits

Author SHA1 Message Date
Michael Walker
49a903c6e3 Add newtype for preemption bounds and fair bounds 2015-11-17 19:29:35 +00:00
Michael Walker
b6ceaede99 Abort SCT execution early if there are no decisions in bound. Closes #28. 2015-11-17 19:16:19 +00:00
Michael Walker
68ef26727b Give schedulers the trace so far 2015-11-17 19:16:13 +00:00
Michael Walker
d1643bb360 Enable building with Stackage lts-2 2015-11-17 19:15:56 +00:00
Michael Walker
f3be1d12ab Replace type synonyms with newtypes. Closes #29. 2015-11-17 19:15:52 +00:00
Michael Walker
c6a702f725 Use ThreadId in definition of Conc, not Int 2015-11-17 18:03:03 +00:00
Michael Walker
3d3119ffd6 Expand test suite 2015-11-16 02:48:54 +00:00
Michael Walker
bc04990dbd Fix off-by-one in adding backtracking points 2015-11-16 02:46:22 +00:00
Michael Walker
17ddc217c4 Unsynchronised reads and writes ARE dependent 2015-11-16 02:45:53 +00:00
Michael Walker
4081a6d7d7 Fix error with stepCommit argument order 2015-11-16 01:49:35 +00:00
Michael Walker
74dce99d71 Make stepModRefCas strict in the new value 2015-11-15 16:53:10 +00:00
Michael Walker
64057590db Merge branch 'primops-simp'. Closes #20.
This only implements the atomic-primops operations which deal with CRefs,
as handling relaxed memory in the presence of MutVar#s is really hard.
2015-11-15 15:45:12 +00:00
Michael Walker
343e097f83 Implement casCRef and modifyCRefCAS 2015-11-15 15:42:45 +00:00
Michael Walker
12f0a118ef Store threads in an IntMap 2015-11-15 15:42:45 +00:00
Michael Walker
af1985747d Implement readForCAS 2015-11-15 15:42:45 +00:00
Michael Walker
8d3be1cd19 Add modifyCRefCAS_ 2015-11-15 15:42:45 +00:00
Michael Walker
5d3e84ac76 Move lookahead to Deterministic.Internal.Common 2015-11-15 15:42:45 +00:00
Michael Walker
b20f254c29 Add a primitive for peekTicket 2015-11-15 15:42:45 +00:00
Michael Walker
62c2b38867 Add primitives for readForCAS, casCRef, and modifyCRefCAS 2015-11-15 15:42:45 +00:00
Michael Walker
e8bbb191ed Add compare-and-swap primitives to MonadConc 2015-11-15 15:42:45 +00:00
Michael Walker
385d67a842 Remvoe Par comparison from MonadConc description 2015-11-15 15:42:37 +00:00
Michael Walker
b1ee473068 Clarify default memory model 2015-11-15 15:39:07 +00:00
Michael Walker
39b0ae8a45 Fix comment on memory behaviour of CRefs 2015-11-14 01:15:09 +00:00
Michael Walker
24faa57f29 Only show representative failures in autocheck 2015-11-12 14:56:32 +00:00
Michael Walker
41b1368f0b Remove explicit nubby functions 2015-11-12 14:53:37 +00:00
Michael Walker
e9b417684a Improve nubbyness 2015-11-12 14:52:58 +00:00
Michael Walker
6c60343432 Add nubby variants of alwaysTrue, alwaysTrue2, and somewhereTrue 2015-11-12 14:15:47 +00:00
Michael Walker
5ded895254 Rename CVar operations for consistency with CRefs 2015-11-11 14:57:12 +00:00
Michael Walker
fc293b7436 Handle removing the todo point in 'grow', not 'next' 2015-11-10 17:07:50 +00:00
Michael Walker
3321038070 Helper functions for exceptions 2015-11-08 22:04:07 +00:00
Michael Walker
30f15b4df8 Add helper functions around dealing with CVars 2015-11-07 20:28:45 +00:00
Michael Walker
e7c6bf6737 Factor out implementation of stepCommit 2015-11-07 19:41:06 +00:00
Michael Walker
06a63dcc33 Merge Conc and ConcIO implementations 2015-11-07 18:07:10 +00:00
Michael Walker
5f78dc5b99 Remove the 't' type parameter from STMIO and ConcIO 2015-11-07 17:19:40 +00:00
Michael Walker
0f72df77c4 Define Conc and ConcIO with STMST and STMIO, not STMLike 2015-11-07 17:13:38 +00:00
Michael Walker
1b9ca8bfb7 Simplify implementation of Conc and ConcIO 2015-11-05 23:36:30 +00:00
Michael Walker
e1b0e29baf Rename CVar primitives for clarity. 2015-11-05 23:09:01 +00:00
Michael Walker
eb5add3d41 Simplify creation of CVars and CRefs 2015-11-05 23:01:13 +00:00
Michael Walker
27c3741371 Simplify implementation of STM 2015-11-05 22:28:46 +00:00
Michael Walker
67bcf996a8 Add default definitions of fork and forkOn 2015-11-05 16:09:13 +00:00
Michael Walker
aa0202a5af Add failing bound thread signifiers. Closes #22. 2015-11-03 19:53:48 +00:00
Michael Walker
772aba80d0 Make TSO the default memory model. Closes #24. 2015-11-03 19:53:47 +00:00
Michael Walker
5c80220309 Fix for GHC <7.10 2015-11-03 19:53:45 +00:00
Michael Walker
a16a25c631 Fix willBlock, extend lookahead of willBlockSafely 2015-11-03 19:15:07 +00:00
Michael Walker
4572eba19e Improve async docs. Closes #19. 2015-11-03 00:21:47 +00:00
Michael Walker
6321e42265 Enable withasync_wait2 test 2015-11-03 00:21:33 +00:00
Michael Walker
7b511cdbc7 Handle yields properly in pbInitialise 2015-11-03 00:00:29 +00:00
Michael Walker
ea926ba407 Add a forkOnWithUnmask operation to MonadConc 2015-11-02 22:43:22 +00:00
Michael Walker
0b5a0f0235 Enable async_cancel test in async-dejafu 2015-11-01 15:46:30 +00:00
Michael Walker
88d33e88ef Fix a alwaysTrue2 missing out a failure 2015-11-01 15:46:30 +00:00