svf-tools 1.0.439 → 1.0.442
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitignore +1 -0
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +11 -8
- package/SVF-doxygen/html/html/ExeState_8h_source.html +21 -19
- package/SVF-doxygen/html/html/classSVF_1_1ExeState-members.html +16 -14
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +153 -67
- package/SVF-doxygen/html/html/functions_e.html +4 -1
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func_e.html +5 -2
- package/SVF-doxygen/html/html/functions_func_l.html +4 -1
- package/SVF-doxygen/html/html/functions_l.html +11 -8
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +9 -7
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +10 -12
- package/SVF-doxygen/html/html/functions_t.html +7 -5
- package/SVF-doxygen/html/html/functions_type_l.html +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +3 -3
- package/SVF-doxygen/html/html/search/all_5.js +1 -0
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +4 -3
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_4.js +1 -0
- package/SVF-doxygen/html/html/search/functions_a.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +5 -5
- package/include/Util/ExeState.h +6 -1
- package/lib/Util/ExeState.cpp +21 -33
- package/package.json +1 -1
|
@@ -67,6 +67,7 @@ $(function() {
|
|
|
67
67
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
68
68
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
69
69
|
<a href="#pro-attribs">Protected Attributes</a> |
|
|
70
|
+
<a href="#pri-methods">Private Member Functions</a> |
|
|
70
71
|
<a href="classSVF_1_1ExeState-members.html">List of all members</a> </div>
|
|
71
72
|
<div class="headertitle">
|
|
72
73
|
<div class="title">SVF::ExeState Class Reference</div> </div>
|
|
@@ -79,14 +80,14 @@ $(function() {
|
|
|
79
80
|
Public Types</h2></td></tr>
|
|
80
81
|
<tr class="memitem:afc4aad166cd39a6cfbd8e9b897104f3f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>, <a class="el" href="classSVF_1_1Z3Expr.html">Z3Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a></td></tr>
|
|
81
82
|
<tr class="separator:afc4aad166cd39a6cfbd8e9b897104f3f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
82
|
-
<tr class="memitem:
|
|
83
|
-
<tr class="separator:
|
|
83
|
+
<tr class="memitem:a887d6f9108cbbe7dca68dea67f70c392"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a></td></tr>
|
|
84
|
+
<tr class="separator:a887d6f9108cbbe7dca68dea67f70c392"><td class="memSeparator" colspan="2"> </td></tr>
|
|
84
85
|
</table><table class="memberdecls">
|
|
85
86
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
86
87
|
Public Member Functions</h2></td></tr>
|
|
87
88
|
<tr class="memitem:a83ce58a2551d511448d0224a96ca1bd7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a83ce58a2551d511448d0224a96ca1bd7">ExeState</a> ()</td></tr>
|
|
88
89
|
<tr class="separator:a83ce58a2551d511448d0224a96ca1bd7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
89
|
-
<tr class="memitem:a02e0a7dd5e66255be3838fa10e3e1cab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a02e0a7dd5e66255be3838fa10e3e1cab">ExeState</a> (const <a class="el" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &_pc, <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> &_varToValMap, <a class="el" href="classSVF_1_1ExeState.html#
|
|
90
|
+
<tr class="memitem:a02e0a7dd5e66255be3838fa10e3e1cab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a02e0a7dd5e66255be3838fa10e3e1cab">ExeState</a> (const <a class="el" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &_pc, <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> &_varToValMap, <a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a> &_locToValMap)</td></tr>
|
|
90
91
|
<tr class="separator:a02e0a7dd5e66255be3838fa10e3e1cab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
91
92
|
<tr class="memitem:a62bef487b31f2a4ca27b4e9b183bdef5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a62bef487b31f2a4ca27b4e9b183bdef5">ExeState</a> (const <a class="el" href="classSVF_1_1ExeState.html">ExeState</a> &rhs)</td></tr>
|
|
92
93
|
<tr class="separator:a62bef487b31f2a4ca27b4e9b183bdef5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -107,7 +108,7 @@ Public Member Functions</h2></td></tr>
|
|
|
107
108
|
<tr class="separator:ac7a74f57945b7f076a5cfe9435fd34e8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
108
109
|
<tr class="memitem:abf1237f5e4661a2da6e479f147957b18"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a> () const</td></tr>
|
|
109
110
|
<tr class="separator:abf1237f5e4661a2da6e479f147957b18"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
|
-
<tr class="memitem:a4ee40de7eca22ac055b52360e0101623"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ExeState.html#
|
|
111
|
+
<tr class="memitem:a4ee40de7eca22ac055b52360e0101623"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a> () const</td></tr>
|
|
111
112
|
<tr class="separator:a4ee40de7eca22ac055b52360e0101623"><td class="memSeparator" colspan="2"> </td></tr>
|
|
112
113
|
<tr class="memitem:a00bd54e2dc70a8547581008e27790eb8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1Z3Expr.html">Z3Expr</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a> () const</td></tr>
|
|
113
114
|
<tr class="separator:a00bd54e2dc70a8547581008e27790eb8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -157,23 +158,30 @@ Protected Member Functions</h2></td></tr>
|
|
|
157
158
|
Protected Attributes</h2></td></tr>
|
|
158
159
|
<tr class="memitem:a32a5c65de2656ecfd2e33100a44dc02f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a></td></tr>
|
|
159
160
|
<tr class="separator:a32a5c65de2656ecfd2e33100a44dc02f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
|
-
<tr class="memitem:a55464ae666ae16656ad8903894ec14da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#
|
|
161
|
+
<tr class="memitem:a55464ae666ae16656ad8903894ec14da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a></td></tr>
|
|
161
162
|
<tr class="separator:a55464ae666ae16656ad8903894ec14da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
162
163
|
<tr class="memitem:a7a9c5c2275246a43414503f6822073b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1Z3Expr.html">Z3Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a></td></tr>
|
|
163
164
|
<tr class="separator:a7a9c5c2275246a43414503f6822073b1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
165
|
+
</table><table class="memberdecls">
|
|
166
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
|
167
|
+
Private Member Functions</h2></td></tr>
|
|
168
|
+
<tr class="memitem:a8447b7c20dd6bb724270026f55cbdece"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a> (const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> &lhs, const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> &rhs) const</td></tr>
|
|
169
|
+
<tr class="separator:a8447b7c20dd6bb724270026f55cbdece"><td class="memSeparator" colspan="2"> </td></tr>
|
|
170
|
+
<tr class="memitem:a29c29c85982ffafd4c496e293a80eeeb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a> (const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> &lhs, const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> &rhs) const</td></tr>
|
|
171
|
+
<tr class="separator:a29c29c85982ffafd4c496e293a80eeeb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
164
172
|
</table>
|
|
165
173
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
166
174
|
<div class="textblock">
|
|
167
175
|
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00039">39</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
168
176
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
169
|
-
<a id="
|
|
170
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
177
|
+
<a id="a887d6f9108cbbe7dca68dea67f70c392"></a>
|
|
178
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a887d6f9108cbbe7dca68dea67f70c392">◆ </a></span>LocToValMap</h2>
|
|
171
179
|
|
|
172
180
|
<div class="memitem">
|
|
173
181
|
<div class="memproto">
|
|
174
182
|
<table class="memname">
|
|
175
183
|
<tr>
|
|
176
|
-
<td class="memname">typedef <a class="el" href="
|
|
184
|
+
<td class="memname">typedef <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> <a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">SVF::ExeState::LocToValMap</a></td>
|
|
177
185
|
</tr>
|
|
178
186
|
</table>
|
|
179
187
|
</div><div class="memdoc">
|
|
@@ -224,7 +232,7 @@ Protected Attributes</h2></td></tr>
|
|
|
224
232
|
|
|
225
233
|
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00050">50</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
226
234
|
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> : <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>(<a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().bool_val(<span class="keyword">true</span>)) {}</div><div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
|
|
227
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
235
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00078">ExeState.h:78</a></div></div>
|
|
228
236
|
</div><!-- fragment -->
|
|
229
237
|
</div>
|
|
230
238
|
</div>
|
|
@@ -252,7 +260,7 @@ Protected Attributes</h2></td></tr>
|
|
|
252
260
|
<tr>
|
|
253
261
|
<td class="paramkey"></td>
|
|
254
262
|
<td></td>
|
|
255
|
-
<td class="paramtype"><a class="el" href="classSVF_1_1ExeState.html#
|
|
263
|
+
<td class="paramtype"><a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a> & </td>
|
|
256
264
|
<td class="paramname"><em>_locToValMap</em> </td>
|
|
257
265
|
</tr>
|
|
258
266
|
<tr>
|
|
@@ -332,6 +340,44 @@ Protected Attributes</h2></td></tr>
|
|
|
332
340
|
</div>
|
|
333
341
|
</div>
|
|
334
342
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
343
|
+
<a id="a8447b7c20dd6bb724270026f55cbdece"></a>
|
|
344
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8447b7c20dd6bb724270026f55cbdece">◆ </a></span>eqVarToValMap()</h2>
|
|
345
|
+
|
|
346
|
+
<div class="memitem">
|
|
347
|
+
<div class="memproto">
|
|
348
|
+
<table class="mlabels">
|
|
349
|
+
<tr>
|
|
350
|
+
<td class="mlabels-left">
|
|
351
|
+
<table class="memname">
|
|
352
|
+
<tr>
|
|
353
|
+
<td class="memname">bool ExeState::eqVarToValMap </td>
|
|
354
|
+
<td>(</td>
|
|
355
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> & </td>
|
|
356
|
+
<td class="paramname"><em>lhs</em>, </td>
|
|
357
|
+
</tr>
|
|
358
|
+
<tr>
|
|
359
|
+
<td class="paramkey"></td>
|
|
360
|
+
<td></td>
|
|
361
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> & </td>
|
|
362
|
+
<td class="paramname"><em>rhs</em> </td>
|
|
363
|
+
</tr>
|
|
364
|
+
<tr>
|
|
365
|
+
<td></td>
|
|
366
|
+
<td>)</td>
|
|
367
|
+
<td></td><td> const</td>
|
|
368
|
+
</tr>
|
|
369
|
+
</table>
|
|
370
|
+
</td>
|
|
371
|
+
<td class="mlabels-right">
|
|
372
|
+
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
373
|
+
</tr>
|
|
374
|
+
</table>
|
|
375
|
+
</div><div class="memdoc">
|
|
376
|
+
|
|
377
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00168">168</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
378
|
+
<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">if</span>(lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &item: lhs) {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">auto</span> it = rhs.find(item.first);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// return false if SVFVar not exists in rhs or z3Expr not equal</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">if</span> (it == rhs.end() || !eq(item.second, it->second))</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div></div><!-- fragment -->
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
335
381
|
<a id="ac7a74f57945b7f076a5cfe9435fd34e8"></a>
|
|
336
382
|
<h2 class="memtitle"><span class="permalink"><a href="#ac7a74f57945b7f076a5cfe9435fd34e8">◆ </a></span>getContext()</h2>
|
|
337
383
|
|
|
@@ -355,8 +401,8 @@ Protected Attributes</h2></td></tr>
|
|
|
355
401
|
</table>
|
|
356
402
|
</div><div class="memdoc">
|
|
357
403
|
|
|
358
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
359
|
-
<div class="fragment"><div class="line"><a name="
|
|
404
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00078">78</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
405
|
+
<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a1441f8e559aab4a051fff45a8c0665db">Z3Expr::getContext</a>();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a1441f8e559aab4a051fff45a8c0665db"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a1441f8e559aab4a051fff45a8c0665db">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00075">Z3Expr.h:75</a></div></div>
|
|
360
406
|
</div><!-- fragment -->
|
|
361
407
|
</div>
|
|
362
408
|
</div>
|
|
@@ -386,8 +432,8 @@ Protected Attributes</h2></td></tr>
|
|
|
386
432
|
|
|
387
433
|
<p>Return the internal index if idx is an address otherwise return the value of idx. </p>
|
|
388
434
|
|
|
389
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
390
|
-
<div class="fragment"><div class="line"><a name="
|
|
435
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00128">128</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
436
|
+
<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> (idx & <a class="code" href="ExeState_8h.html#aec682540f2c8aa9deb79f610e4399411">FlippedAddressMask</a>);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="ttc" id="ExeState_8h_html_aec682540f2c8aa9deb79f610e4399411"><div class="ttname"><a href="ExeState_8h.html#aec682540f2c8aa9deb79f610e4399411">FlippedAddressMask</a></div><div class="ttdeci">#define FlippedAddressMask</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00037">ExeState.h:37</a></div></div>
|
|
391
437
|
</div><!-- fragment -->
|
|
392
438
|
</div>
|
|
393
439
|
</div>
|
|
@@ -401,7 +447,7 @@ Protected Attributes</h2></td></tr>
|
|
|
401
447
|
<td class="mlabels-left">
|
|
402
448
|
<table class="memname">
|
|
403
449
|
<tr>
|
|
404
|
-
<td class="memname">const <a class="el" href="classSVF_1_1ExeState.html#
|
|
450
|
+
<td class="memname">const <a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a>& SVF::ExeState::getLocToVal </td>
|
|
405
451
|
<td>(</td>
|
|
406
452
|
<td class="paramname"></td><td>)</td>
|
|
407
453
|
<td> const</td>
|
|
@@ -414,8 +460,8 @@ Protected Attributes</h2></td></tr>
|
|
|
414
460
|
</table>
|
|
415
461
|
</div><div class="memdoc">
|
|
416
462
|
|
|
417
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
418
|
-
<div class="fragment"><div class="line"><a name="
|
|
463
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00086">86</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
464
|
+
<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
419
465
|
</div><!-- fragment -->
|
|
420
466
|
</div>
|
|
421
467
|
</div>
|
|
@@ -442,8 +488,8 @@ Protected Attributes</h2></td></tr>
|
|
|
442
488
|
</table>
|
|
443
489
|
</div><div class="memdoc">
|
|
444
490
|
|
|
445
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
446
|
-
<div class="fragment"><div class="line"><a name="
|
|
491
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00090">90</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
492
|
+
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
|
|
447
493
|
</div><!-- fragment -->
|
|
448
494
|
</div>
|
|
449
495
|
</div>
|
|
@@ -470,8 +516,8 @@ Protected Attributes</h2></td></tr>
|
|
|
470
516
|
</table>
|
|
471
517
|
</div><div class="memdoc">
|
|
472
518
|
|
|
473
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
474
|
-
<div class="fragment"><div class="line"><a name="
|
|
519
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00082">82</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
520
|
+
<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00045">ExeState.h:45</a></div></div>
|
|
475
521
|
</div><!-- fragment -->
|
|
476
522
|
</div>
|
|
477
523
|
</div>
|
|
@@ -501,8 +547,8 @@ Protected Attributes</h2></td></tr>
|
|
|
501
547
|
|
|
502
548
|
<p>The physical address starts with 0x7f...... + idx. </p>
|
|
503
549
|
|
|
504
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
505
|
-
<div class="fragment"><div class="line"><a name="
|
|
550
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00118">118</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
551
|
+
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> <a class="code" href="ExeState_8h.html#a9c5bf91d8f58ded0fd8f57c04f26b56f">AddressMask</a> + idx;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="ttc" id="ExeState_8h_html_a9c5bf91d8f58ded0fd8f57c04f26b56f"><div class="ttname"><a href="ExeState_8h.html#a9c5bf91d8f58ded0fd8f57c04f26b56f">AddressMask</a></div><div class="ttdeci">#define AddressMask</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00036">ExeState.h:36</a></div></div>
|
|
506
552
|
</div><!-- fragment -->
|
|
507
553
|
</div>
|
|
508
554
|
</div>
|
|
@@ -542,7 +588,7 @@ Protected Attributes</h2></td></tr>
|
|
|
542
588
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
|
|
543
589
|
<div class="ttc" id="classSVF_1_1ExeState_html_af4018e9053baa373b590230bc53b7ccb"><div class="ttname"><a href="classSVF_1_1ExeState.html#af4018e9053baa373b590230bc53b7ccb">SVF::ExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, Z3Expr &e)</div><div class="ttdoc">Init Z3Expr for ObjVar. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00070">ExeState.cpp:70</a></div></div>
|
|
544
590
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_a9aa800372d57db519d484cc32ea1c5dc"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">SVF::Z3Expr::nullExpr</a></div><div class="ttdeci">static z3::expr nullExpr()</div><div class="ttdoc">null expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00089">Z3Expr.h:89</a></div></div>
|
|
545
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
591
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00128">ExeState.h:128</a></div></div>
|
|
546
592
|
<div class="ttc" id="classSVF_1_1ExeState_html_a7b3013578baac3ce73bc544569c3dbbf"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7b3013578baac3ce73bc544569c3dbbf">SVF::ExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, Z3Expr &e)</div><div class="ttdoc">Init Z3Expr for ValVar. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00042">ExeState.cpp:42</a></div></div>
|
|
547
593
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00387">GenericGraph.h:387</a></div></div>
|
|
548
594
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
@@ -588,9 +634,9 @@ Protected Attributes</h2></td></tr>
|
|
|
588
634
|
|
|
589
635
|
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00070">70</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
590
636
|
<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  std::string str;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  rawstr << <span class="stringliteral">"ObjVar"</span> << objVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span> (objVar-><a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>()) {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-><a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16">isConstantData</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>()) {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *consInt = SVFUtil::dyn_cast<ConstantInt>(obj-><a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>())) {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">if</span> (consInt == llvm::ConstantInt::getTrue(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#ac1a9d20d62066ec4e181fad223669e32">getContext</a>())) {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(1);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (consInt == llvm::ConstantInt::getFalse(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>()))</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(consInt->getSExtValue());</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::ConstantFP *consFP = SVFUtil::dyn_cast<llvm::ConstantFP>(obj-><a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(static_cast<u32_t>(consFP->getValue().convertToFloat()));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ConstantPointerNull>(obj-><a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<GlobalVariable>(obj-><a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ConstantAggregate>(obj-><a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"implement this part"</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  std::cerr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(obj-><a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"what other types of values we have?"</span>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<DummyObjVar>(objVar) &&</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="stringliteral">"it should either be a blackhole or constant dummy if this obj has no value?"</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00392">SymbolTableInfo.h:392</a></div></div>
|
|
591
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_af97d422306089e69c2910c6084475c51"><div class="ttname"><a href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">u32_t getVirtualMemAddress(u32_t idx) const</div><div class="ttdoc">The physical address starts with 0x7f...... + idx. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
637
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_af97d422306089e69c2910c6084475c51"><div class="ttname"><a href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">u32_t getVirtualMemAddress(u32_t idx) const</div><div class="ttdoc">The physical address starts with 0x7f...... + idx. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00118">ExeState.h:118</a></div></div>
|
|
592
638
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
593
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
639
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00078">ExeState.h:78</a></div></div>
|
|
594
640
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ac1a9d20d62066ec4e181fad223669e32"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ac1a9d20d62066ec4e181fad223669e32">SVF::LLVMModuleSet::getContext</a></div><div class="ttdeci">LLVMContext & getContext() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00198">LLVMModule.h:198</a></div></div>
|
|
595
641
|
<div class="ttc" id="classSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00727">SymbolTableInfo.cpp:727</a></div></div>
|
|
596
642
|
<div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
|
|
@@ -644,7 +690,7 @@ Protected Attributes</h2></td></tr>
|
|
|
644
690
|
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00042">42</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
645
691
|
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  std::string str;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  rawstr << <span class="stringliteral">"ValVar"</span> << valVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *type = valVar-><a class="code" href="classSVF_1_1SVFVar.html#adaaf24b8b6ec06476cea112533c24066">getType</a>()) {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span> (type->isIntegerTy() || type->isFloatingPointTy() || type->isPointerTy() || type->isFunctionTy()</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  || type->isStructTy() || type->isArrayTy() || type->isVoidTy() || type->isLabelTy() || type->isMetadataTy())</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_const(rawstr.str().c_str());</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(valVar-><a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()) << <span class="stringliteral">"\n"</span> << <span class="stringliteral">" type: "</span> << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">type2String</a>(type) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"what other types we have"</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">if</span> (svfir-><a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_const(rawstr.str().c_str());</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<DummyValVar>(valVar) && <span class="stringliteral">"not a DummValVar if it has no type?"</span>);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div><div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
|
|
646
692
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
647
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
693
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context & getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00078">ExeState.h:78</a></div></div>
|
|
648
694
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
|
|
649
695
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a817a63e8330530cb18e077556f7ce518"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">SVF::SVFUtil::type2String</a></div><div class="ttdeci">const std::string type2String(const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00436">LLVMUtil.cpp:436</a></div></div>
|
|
650
696
|
<div class="ttc" id="classSVF_1_1IRGraph_html_a3de9a2a565c303f68a90c32dc59febd5"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">SVF::IRGraph::getNullPtr</a></div><div class="ttdeci">NodeID getNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00156">IRGraph.h:156</a></div></div>
|
|
@@ -684,11 +730,49 @@ Protected Attributes</h2></td></tr>
|
|
|
684
730
|
|
|
685
731
|
<p>Check bit value of val start with 0x7F000000, filter by 0xFF000000. </p>
|
|
686
732
|
|
|
687
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
688
|
-
<div class="fragment"><div class="line"><a name="
|
|
733
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00123">123</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
734
|
+
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> (val & 0xff000000) == <a class="code" href="ExeState_8h.html#a9c5bf91d8f58ded0fd8f57c04f26b56f">AddressMask</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="ttc" id="ExeState_8h_html_a9c5bf91d8f58ded0fd8f57c04f26b56f"><div class="ttname"><a href="ExeState_8h.html#a9c5bf91d8f58ded0fd8f57c04f26b56f">AddressMask</a></div><div class="ttdeci">#define AddressMask</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00036">ExeState.h:36</a></div></div>
|
|
689
735
|
</div><!-- fragment -->
|
|
690
736
|
</div>
|
|
691
737
|
</div>
|
|
738
|
+
<a id="a29c29c85982ffafd4c496e293a80eeeb"></a>
|
|
739
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a29c29c85982ffafd4c496e293a80eeeb">◆ </a></span>lessThanVarToValMap()</h2>
|
|
740
|
+
|
|
741
|
+
<div class="memitem">
|
|
742
|
+
<div class="memproto">
|
|
743
|
+
<table class="mlabels">
|
|
744
|
+
<tr>
|
|
745
|
+
<td class="mlabels-left">
|
|
746
|
+
<table class="memname">
|
|
747
|
+
<tr>
|
|
748
|
+
<td class="memname">bool ExeState::lessThanVarToValMap </td>
|
|
749
|
+
<td>(</td>
|
|
750
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> & </td>
|
|
751
|
+
<td class="paramname"><em>lhs</em>, </td>
|
|
752
|
+
</tr>
|
|
753
|
+
<tr>
|
|
754
|
+
<td class="paramkey"></td>
|
|
755
|
+
<td></td>
|
|
756
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1ExeState.html#afc4aad166cd39a6cfbd8e9b897104f3f">VarToValMap</a> & </td>
|
|
757
|
+
<td class="paramname"><em>rhs</em> </td>
|
|
758
|
+
</tr>
|
|
759
|
+
<tr>
|
|
760
|
+
<td></td>
|
|
761
|
+
<td>)</td>
|
|
762
|
+
<td></td><td> const</td>
|
|
763
|
+
</tr>
|
|
764
|
+
</table>
|
|
765
|
+
</td>
|
|
766
|
+
<td class="mlabels-right">
|
|
767
|
+
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
768
|
+
</tr>
|
|
769
|
+
</table>
|
|
770
|
+
</div><div class="memdoc">
|
|
771
|
+
|
|
772
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00179">179</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
773
|
+
<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">if</span>(lhs.size() != rhs.size()) <span class="keywordflow">return</span> lhs.size() < rhs.size();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &item: lhs) {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keyword">auto</span> it = rhs.find(item.first);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="comment">// lhs > rhs if SVFVar not exists in rhs</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">if</span> (it == rhs.end())</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="comment">// judge from expr id</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">if</span> (!eq(item.second, it->second))</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> item.second.id() < it->second.id();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div></div><!-- fragment -->
|
|
774
|
+
</div>
|
|
775
|
+
</div>
|
|
692
776
|
<a id="a80bd7f3746198459bbcb59274cebc013"></a>
|
|
693
777
|
<h2 class="memtitle"><span class="permalink"><a href="#a80bd7f3746198459bbcb59274cebc013">◆ </a></span>load() <span class="overload">[1/2]</span></h2>
|
|
694
778
|
|
|
@@ -714,15 +798,15 @@ Protected Attributes</h2></td></tr>
|
|
|
714
798
|
</dl>
|
|
715
799
|
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
|
|
716
800
|
|
|
717
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#
|
|
718
|
-
<div class="fragment"><div class="line"><a name="
|
|
719
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a80bd7f3746198459bbcb59274cebc013"><div class="ttname"><a href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">SVF::ExeState::load</a></div><div class="ttdeci">Z3Expr & load(const Z3Expr &loc)</div><div class="ttdoc">Load value at location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#
|
|
801
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00209">209</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
802
|
+
<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() && <span class="stringliteral">"location must be numeral"</span>);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(loc);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(virAddr) && <span class="stringliteral">"Pointer operand is not a physical address?"</span>);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(virAddr);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(objId) == objId && <span class="stringliteral">"SVFVar idx overflow > 0x7f000000?"</span>);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">load</a>(objId);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00102">Z3Expr.h:102</a></div></div>
|
|
803
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a80bd7f3746198459bbcb59274cebc013"><div class="ttname"><a href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">SVF::ExeState::load</a></div><div class="ttdeci">Z3Expr & load(const Z3Expr &loc)</div><div class="ttdoc">Load value at location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00209">ExeState.cpp:209</a></div></div>
|
|
720
804
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
721
805
|
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00082">SVFBasicTypes.h:82</a></div></div>
|
|
722
806
|
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00081">SVFBasicTypes.h:81</a></div></div>
|
|
723
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
724
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
725
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
807
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00133">ExeState.h:133</a></div></div>
|
|
808
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00123">ExeState.h:123</a></div></div>
|
|
809
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00128">ExeState.h:128</a></div></div>
|
|
726
810
|
</div><!-- fragment -->
|
|
727
811
|
</div>
|
|
728
812
|
</div>
|
|
@@ -750,8 +834,8 @@ Protected Attributes</h2></td></tr>
|
|
|
750
834
|
</table>
|
|
751
835
|
</div><div class="memdoc">
|
|
752
836
|
|
|
753
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
754
|
-
<div class="fragment"><div class="line"><a name="
|
|
837
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00149">149</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
838
|
+
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>[objId];</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
755
839
|
</div><!-- fragment -->
|
|
756
840
|
</div>
|
|
757
841
|
</div>
|
|
@@ -810,13 +894,14 @@ Protected Attributes</h2></td></tr>
|
|
|
810
894
|
</dl>
|
|
811
895
|
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
|
|
812
896
|
|
|
813
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#
|
|
814
|
-
<div class="fragment"><div class="line"><a name="
|
|
897
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00159">159</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
898
|
+
<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="comment">// judge from path constraint</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">if</span> (!eq(<a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>()))</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>.<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>() < rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>().<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) || <a class="code" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>()))</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap & getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00086">ExeState.h:86</a></div></div>
|
|
815
899
|
<div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
|
|
816
900
|
<div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00045">ExeState.h:45</a></div></div>
|
|
817
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
818
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
901
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00090">ExeState.h:90</a></div></div>
|
|
902
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00082">ExeState.h:82</a></div></div>
|
|
819
903
|
<div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
904
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a29c29c85982ffafd4c496e293a80eeeb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">SVF::ExeState::lessThanVarToValMap</a></div><div class="ttdeci">bool lessThanVarToValMap(const VarToValMap &lhs, const VarToValMap &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00179">ExeState.cpp:179</a></div></div>
|
|
820
905
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_acdb4fbb53f19bac033e79cfe96ce82ca"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">SVF::Z3Expr::id</a></div><div class="ttdeci">u32_t id() const</div><div class="ttdoc">get id </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00094">Z3Expr.h:94</a></div></div>
|
|
821
906
|
</div><!-- fragment -->
|
|
822
907
|
</div>
|
|
@@ -838,11 +923,11 @@ Protected Attributes</h2></td></tr>
|
|
|
838
923
|
</div><div class="memdoc">
|
|
839
924
|
|
|
840
925
|
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00135">135</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
841
|
-
<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">if</span> (*<span class="keyword">this</span> != rhs) {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap & getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
926
|
+
<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">if</span> (*<span class="keyword">this</span> != rhs) {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap & getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00086">ExeState.h:86</a></div></div>
|
|
842
927
|
<div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
|
|
843
928
|
<div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00045">ExeState.h:45</a></div></div>
|
|
844
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
845
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
929
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00090">ExeState.h:90</a></div></div>
|
|
930
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00082">ExeState.h:82</a></div></div>
|
|
846
931
|
<div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
847
932
|
</div><!-- fragment -->
|
|
848
933
|
</div>
|
|
@@ -873,12 +958,13 @@ Protected Attributes</h2></td></tr>
|
|
|
873
958
|
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
|
|
874
959
|
|
|
875
960
|
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00149">149</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
876
|
-
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="
|
|
961
|
+
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> eq(<a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>()) && <a class="code" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) &&</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>());</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap & getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00086">ExeState.h:86</a></div></div>
|
|
877
962
|
<div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
|
|
878
963
|
<div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00045">ExeState.h:45</a></div></div>
|
|
879
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
880
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
964
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00090">ExeState.h:90</a></div></div>
|
|
965
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00082">ExeState.h:82</a></div></div>
|
|
881
966
|
<div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
967
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a8447b7c20dd6bb724270026f55cbdece"><div class="ttname"><a href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">SVF::ExeState::eqVarToValMap</a></div><div class="ttdeci">bool eqVarToValMap(const VarToValMap &lhs, const VarToValMap &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00168">ExeState.cpp:168</a></div></div>
|
|
882
968
|
</div><!-- fragment -->
|
|
883
969
|
</div>
|
|
884
970
|
</div>
|
|
@@ -906,8 +992,8 @@ Protected Attributes</h2></td></tr>
|
|
|
906
992
|
</table>
|
|
907
993
|
</div><div class="memdoc">
|
|
908
994
|
|
|
909
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
910
|
-
<div class="fragment"><div class="line"><a name="
|
|
995
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00098">98</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
996
|
+
<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">getZ3Expr</a>(varId);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_ab52debe3aae77d1efd5de4d220dbed2f"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">SVF::ExeState::getZ3Expr</a></div><div class="ttdeci">Z3Expr & getZ3Expr(u32_t varId)</div><div class="ttdoc">Return Z3 expression based on SVFVar ID. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00116">ExeState.cpp:116</a></div></div>
|
|
911
997
|
</div><!-- fragment -->
|
|
912
998
|
</div>
|
|
913
999
|
</div>
|
|
@@ -929,13 +1015,13 @@ Protected Attributes</h2></td></tr>
|
|
|
929
1015
|
<p>Print values of all expressions. </p>
|
|
930
1016
|
<p>Print values of all expressions </p>
|
|
931
1017
|
|
|
932
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#
|
|
933
|
-
<div class="fragment"><div class="line"><a name="
|
|
1018
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00221">221</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
1019
|
+
<div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  std::cout.flags(std::ios::left);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  std::cout << <span class="stringliteral">"-----------Var and Value-----------\n"</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &item: <a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) {</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  std::stringstream exprName;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  exprName << <span class="stringliteral">"Var"</span> << item.first;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  std::cout << std::setw(25) << exprName.str();</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &sim = item.second.<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() && <a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(<a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(sim))) {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  std::cout << <span class="stringliteral">"\t Value: "</span> << std::hex << <span class="stringliteral">"0x"</span> << <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(sim) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  std::cout << <span class="stringliteral">"\t Value: "</span> << std::dec << sim << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  std::cout << <span class="stringliteral">"-----------------------------------------\n"</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00102">Z3Expr.h:102</a></div></div>
|
|
934
1020
|
<div class="ttc" id="classSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00037">Z3Expr.h:37</a></div></div>
|
|
935
1021
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_afb3478316592a395c6d473791b5a0981"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">SVF::Z3Expr::simplify</a></div><div class="ttdeci">Z3Expr simplify() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00110">Z3Expr.h:110</a></div></div>
|
|
936
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
937
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
938
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
1022
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00082">ExeState.h:82</a></div></div>
|
|
1023
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00133">ExeState.h:133</a></div></div>
|
|
1024
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00123">ExeState.h:123</a></div></div>
|
|
939
1025
|
</div><!-- fragment -->
|
|
940
1026
|
</div>
|
|
941
1027
|
</div>
|
|
@@ -963,8 +1049,8 @@ Protected Attributes</h2></td></tr>
|
|
|
963
1049
|
</table>
|
|
964
1050
|
</div><div class="memdoc">
|
|
965
1051
|
|
|
966
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
967
|
-
<div class="fragment"><div class="line"><a name="
|
|
1052
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00094">94</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
1053
|
+
<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a> = pc.<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
|
|
968
1054
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_afb3478316592a395c6d473791b5a0981"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">SVF::Z3Expr::simplify</a></div><div class="ttdeci">Z3Expr simplify() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00110">Z3Expr.h:110</a></div></div>
|
|
969
1055
|
</div><!-- fragment -->
|
|
970
1056
|
</div>
|
|
@@ -1004,14 +1090,14 @@ Protected Attributes</h2></td></tr>
|
|
|
1004
1090
|
</dd>
|
|
1005
1091
|
</dl>
|
|
1006
1092
|
|
|
1007
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#
|
|
1008
|
-
<div class="fragment"><div class="line"><a name="
|
|
1093
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00197">197</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
|
|
1094
|
+
<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() && <span class="stringliteral">"location must be numeral"</span>);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(loc);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(virAddr) && <span class="stringliteral">"Pointer operand is not a physical address?"</span>);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">store</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(virAddr), value);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00102">Z3Expr.h:102</a></div></div>
|
|
1009
1095
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1010
1096
|
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00082">SVFBasicTypes.h:82</a></div></div>
|
|
1011
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a08db85e0e599d17b54743feb03a7717a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">SVF::ExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &loc, const Z3Expr &value)</div><div class="ttdoc">Store value to location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#
|
|
1012
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
1013
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
1014
|
-
<div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#
|
|
1097
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a08db85e0e599d17b54743feb03a7717a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">SVF::ExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &loc, const Z3Expr &value)</div><div class="ttdoc">Store value to location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00197">ExeState.cpp:197</a></div></div>
|
|
1098
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00133">ExeState.h:133</a></div></div>
|
|
1099
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00123">ExeState.h:123</a></div></div>
|
|
1100
|
+
<div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00128">ExeState.h:128</a></div></div>
|
|
1015
1101
|
</div><!-- fragment -->
|
|
1016
1102
|
</div>
|
|
1017
1103
|
</div>
|
|
@@ -1049,8 +1135,8 @@ Protected Attributes</h2></td></tr>
|
|
|
1049
1135
|
</table>
|
|
1050
1136
|
</div><div class="memdoc">
|
|
1051
1137
|
|
|
1052
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
1053
|
-
<div class="fragment"><div class="line"><a name="
|
|
1138
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00145">145</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
1139
|
+
<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>[objId] = z3Expr.simplify();</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00046">ExeState.h:46</a></div></div>
|
|
1054
1140
|
</div><!-- fragment -->
|
|
1055
1141
|
</div>
|
|
1056
1142
|
</div>
|
|
@@ -1080,8 +1166,8 @@ Protected Attributes</h2></td></tr>
|
|
|
1080
1166
|
|
|
1081
1167
|
<p>Return int value from an expression if it is a numeral, otherwise return an approximate value. </p>
|
|
1082
1168
|
|
|
1083
|
-
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#
|
|
1084
|
-
<div class="fragment"><div class="line"><a name="
|
|
1169
|
+
<p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00133">133</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
|
|
1170
|
+
<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(e.is_numeral() && <span class="stringliteral">"not numeral?"</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> e.get_numeral_int64();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1085
1171
|
</div><!-- fragment -->
|
|
1086
1172
|
</div>
|
|
1087
1173
|
</div>
|
|
@@ -1096,7 +1182,7 @@ Protected Attributes</h2></td></tr>
|
|
|
1096
1182
|
<td class="mlabels-left">
|
|
1097
1183
|
<table class="memname">
|
|
1098
1184
|
<tr>
|
|
1099
|
-
<td class="memname"><a class="el" href="classSVF_1_1ExeState.html#
|
|
1185
|
+
<td class="memname"><a class="el" href="classSVF_1_1ExeState.html#a887d6f9108cbbe7dca68dea67f70c392">LocToValMap</a> SVF::ExeState::locToVal</td>
|
|
1100
1186
|
</tr>
|
|
1101
1187
|
</table>
|
|
1102
1188
|
</td>
|