diff options
author | qadeer <unknown> | 2014-02-10 10:13:53 -0800 |
---|---|---|
committer | qadeer <unknown> | 2014-02-10 10:13:53 -0800 |
commit | fd9a195a8ba5188a3325ec5ad0d5f62abf5c0a94 (patch) | |
tree | 958fef86dfb139ed9a83fd11fc1ebcaf9894d840 /Source/Concurrency/MoverCheck.cs | |
parent | a6642da2e55119f78539926112f368bfa9e88289 (diff) |
fixed a problem with the nonblocking check
Diffstat (limited to 'Source/Concurrency/MoverCheck.cs')
-rw-r--r-- | Source/Concurrency/MoverCheck.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/Concurrency/MoverCheck.cs b/Source/Concurrency/MoverCheck.cs index fc300444..cde18ba4 100644 --- a/Source/Concurrency/MoverCheck.cs +++ b/Source/Concurrency/MoverCheck.cs @@ -86,13 +86,19 @@ namespace Microsoft.Boogie moverChecking.CreateCommutativityChecker(program, second, first);
moverChecking.CreateGatePreservationChecker(program, first, second);
moverChecking.CreateFailurePreservationChecker(program, second, first);
- moverChecking.CreateNonBlockingChecker(program, first);
}
}
}
}
}
}
+ foreach (ActionInfo action in moverTypeChecker.procToActionInfo.Values)
+ {
+ if (action.IsLeftMover && action.hasAssumeCmd)
+ {
+ moverChecking.CreateNonBlockingChecker(program, action);
+ }
+ }
}
public sealed class MyDuplicator : Duplicator
@@ -562,7 +568,7 @@ namespace Microsoft.Boogie private void CreateFailurePreservationChecker(Program program, ActionInfo first, ActionInfo second)
{
- if (first.gateUsedGlobalVars.Intersect(second.modifiedGlobalVars).Count() == 0 && second.isNonBlocking)
+ if (first.gateUsedGlobalVars.Intersect(second.modifiedGlobalVars).Count() == 0)
return;
Tuple<ActionInfo, ActionInfo> actionPair = new Tuple<ActionInfo, ActionInfo>(first, second);
@@ -607,9 +613,6 @@ namespace Microsoft.Boogie private void CreateNonBlockingChecker(Program program, ActionInfo second)
{
- if (second.isNonBlocking)
- return;
-
List<Variable> inputs = new List<Variable>();
inputs.AddRange(second.thisInParams);
|