<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Concurrency__RacerDDomain (infer.Concurrency__RacerDDomain)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» Concurrency__RacerDDomain</nav><h1>Module <code>Concurrency__RacerDDomain</code></h1></header><divclass="spec module"id="module-AccessExpression"><ahref="#module-AccessExpression"class="anchor"></a><code><spanclass="keyword">module</span> AccessExpression = <ahref="../Absint/HilExp/index.html#module-AccessExpression">Absint.HilExp.AccessExpression</a></code></div><divclass="spec module"id="module-F"><ahref="#module-F"class="anchor"></a><code><spanclass="keyword">module</span> F = Stdlib.Format</code></div><dl><dtclass="spec value"id="val-apply_to_first_actual"><ahref="#val-apply_to_first_actual"class="anchor"></a><code><spanclass="keyword">val</span> apply_to_first_actual : <span><ahref="../Absint/HilExp/index.html#type-t">Absint.HilExp.t</a> list</span><span>-></span><spanclass="type-var">'a</span><span>-></span><span>f:<span>(<ahref="../Absint/HilExp/index.html#type-access_expression">Absint.HilExp.access_expression</a><span>-></span><spanclass="type-var">'a</span>)</span></span><span>-></span><spanclass="type-var">'a</span></code></dt><dtclass="spec value"id="val-pp_exp"><ahref="#val-pp_exp"class="anchor"></a><code><spanclass="keyword">val</span> pp_exp : <ahref="index.html#module-F">F</a>.formatter <span>-></span><ahref="../Absint__HilExp/AccessExpression/index.html#type-t">AccessExpression.t</a><span>-></span> unit</code></dt><dd><p>language sensitive pretty-printer</p></dd></dl><divclass="spec module"id="module-Access"><ahref="#module-Access"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Access/index.html">Access</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec module"id="module-LockDomain"><ahref="#module-LockDomain"class="anchor"></a><code><spanclass="keyword">module</span><ahref="LockDomain/index.html">LockDomain</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></dt><dd><p>Overapproximation of number of times the lock has been acquired</p></dd></dl><dl><dtclass="spec module"id="module-ThreadsDomain"><ahref="#module-ThreadsDomain"class="anchor"></a><code><spanclass="keyword">module</span><ahref="ThreadsDomain/index.html">ThreadsDomain</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></dt><dd><p>Abstraction of threads that may run in parallel with the current thread. NoThread < AnyThreadExceptSelf < AnyThread</p></dd></dl><divclass="spec module"id="module-OwnershipAbstractValue"><ahref="#module-OwnershipAbstractValue"class="anchor"></a><code><spanclass="keyword">module</span><ahref="OwnershipAbstractValue/index.html">OwnershipAbstractValue</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec module"id="module-AccessSnapshot"><ahref="#module-AccessSnapshot"class="anchor"></a><code><spanclass="keyword">module</span><ahref="AccessSnapshot/index.html">AccessSnapshot</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></dt><dd><p>snapshot of the relevant state at the time of a heap access: concurrent thread(s), lock(s) held, ownership precondition</p></dd></dl><divclass="spec module"id="module-AccessDomain"><ahref="#module-AccessDomain"class="anchor"></a><code><spanclass="keyword">module</span> AccessDomain : <ahref="../Absint/AbstractDomain/index.html#module-type-FiniteSetS">Absint.AbstractDomain.FiniteSetS</a><spanclass="keyword">with</span><spancl