You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vmprofiler/doxygen/html/namespacevm_1_1lifters.html

977 lines
76 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::lifters Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1lifters.html">lifters</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">vm::lifters Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad6d45fc87d11eea76019f1159069eb6d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">lifter_callback_t</a> = std::function&lt; void(vtil::basic_block *, <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *) &gt;</td></tr>
<tr class="separator:ad6d45fc87d11eea76019f1159069eb6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0e3f407f89e62897a46763b3de93fa9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">lifter_t</a> = std::pair&lt; <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a>, <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">lifter_callback_t</a> &gt;</td></tr>
<tr class="separator:ae0e3f407f89e62897a46763b3de93fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:acb5a26d705669f85de67543eb131738b"><td class="memItemLeft" align="right" valign="top">constexpr vtil::register_desc&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a> (uint8_t context_offset, uint8_t size)</td></tr>
<tr class="separator:acb5a26d705669f85de67543eb131738b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a8f85b8d616456ffaf0699e34643aa5a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a8f85b8d616456ffaf0699e34643aa5a9">lregq</a></td></tr>
<tr class="separator:a8f85b8d616456ffaf0699e34643aa5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44522dea5997a2c5d4f743bee1ea4084"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a44522dea5997a2c5d4f743bee1ea4084">lregdw</a></td></tr>
<tr class="separator:a44522dea5997a2c5d4f743bee1ea4084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0491abd30c8c9f167a5573fedc83326c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a0491abd30c8c9f167a5573fedc83326c">addq</a></td></tr>
<tr class="separator:a0491abd30c8c9f167a5573fedc83326c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7332fe92bc5b62d3a1eadc3be1650286"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a7332fe92bc5b62d3a1eadc3be1650286">adddw</a></td></tr>
<tr class="separator:a7332fe92bc5b62d3a1eadc3be1650286"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15434e7a31a2d0839b9fc423879576b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a15434e7a31a2d0839b9fc423879576b9">addw</a></td></tr>
<tr class="separator:a15434e7a31a2d0839b9fc423879576b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad71cc0003e40f40512d4f755bf128f75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ad71cc0003e40f40512d4f755bf128f75">sregq</a></td></tr>
<tr class="separator:ad71cc0003e40f40512d4f755bf128f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed6bccf37fd06d306357cc231dc85d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a1ed6bccf37fd06d306357cc231dc85d8">sregdw</a></td></tr>
<tr class="separator:a1ed6bccf37fd06d306357cc231dc85d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab4b15f694be1f476b6336cc0b4cbf83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#aab4b15f694be1f476b6336cc0b4cbf83">sregw</a></td></tr>
<tr class="separator:aab4b15f694be1f476b6336cc0b4cbf83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6024fb9a51be812a67b061962b4a9073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a6024fb9a51be812a67b061962b4a9073">lconstq</a></td></tr>
<tr class="separator:a6024fb9a51be812a67b061962b4a9073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a542f3b5caa1095dd8025c9fa33a54140"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a542f3b5caa1095dd8025c9fa33a54140">lconstdw</a></td></tr>
<tr class="separator:a542f3b5caa1095dd8025c9fa33a54140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf386a124868fdac0799765abc41318c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#adf386a124868fdac0799765abc41318c">lconstw</a></td></tr>
<tr class="separator:adf386a124868fdac0799765abc41318c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1b69c3029b02505fd5c3b888d9a2f53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ae1b69c3029b02505fd5c3b888d9a2f53">lconstbzxw</a></td></tr>
<tr class="separator:ae1b69c3029b02505fd5c3b888d9a2f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72d98a11da4c9e39ec2b5b2afd22e70c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a72d98a11da4c9e39ec2b5b2afd22e70c">lconstbsxdw</a></td></tr>
<tr class="separator:a72d98a11da4c9e39ec2b5b2afd22e70c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c2ff30b47ff5f62aae07043f6e54c07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a9c2ff30b47ff5f62aae07043f6e54c07">lconstbsxq</a></td></tr>
<tr class="separator:a9c2ff30b47ff5f62aae07043f6e54c07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9e2ac54515ca216d4eaa5afc84e2001"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#af9e2ac54515ca216d4eaa5afc84e2001">lconstdwsxq</a></td></tr>
<tr class="separator:af9e2ac54515ca216d4eaa5afc84e2001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17c37df162f730e307de53489b5112da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a17c37df162f730e307de53489b5112da">lconstwsxq</a></td></tr>
<tr class="separator:a17c37df162f730e307de53489b5112da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0037d3980a52839a609d1af3401e93d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a0037d3980a52839a609d1af3401e93d3">lconstwsxdw</a></td></tr>
<tr class="separator:a0037d3980a52839a609d1af3401e93d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9693c38a1eb8ff1d4849e93929e3debf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a9693c38a1eb8ff1d4849e93929e3debf">nandq</a></td></tr>
<tr class="separator:a9693c38a1eb8ff1d4849e93929e3debf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf0e6ca49b7789e313686478c3590bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a9cf0e6ca49b7789e313686478c3590bb">nanddw</a></td></tr>
<tr class="separator:a9cf0e6ca49b7789e313686478c3590bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3ae8152bf358b6ab2e705624de1b7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ac3ae8152bf358b6ab2e705624de1b7c3">nandw</a></td></tr>
<tr class="separator:ac3ae8152bf358b6ab2e705624de1b7c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dd33a06403bf5e6cc5b0f833e88508a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a4dd33a06403bf5e6cc5b0f833e88508a">readq</a></td></tr>
<tr class="separator:a4dd33a06403bf5e6cc5b0f833e88508a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e05b6d05c703d4ea79ed6dca1466708"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a1e05b6d05c703d4ea79ed6dca1466708">readdw</a></td></tr>
<tr class="separator:a1e05b6d05c703d4ea79ed6dca1466708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b37dec0f1b7182f3aefbfe6a102096b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a5b37dec0f1b7182f3aefbfe6a102096b">readw</a></td></tr>
<tr class="separator:a5b37dec0f1b7182f3aefbfe6a102096b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af33473ca92a8e1ab2e1a965b7520110d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#af33473ca92a8e1ab2e1a965b7520110d">shrq</a></td></tr>
<tr class="separator:af33473ca92a8e1ab2e1a965b7520110d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a129e17bac76f26029ea048d5f459fd8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a129e17bac76f26029ea048d5f459fd8e">shrw</a></td></tr>
<tr class="separator:a129e17bac76f26029ea048d5f459fd8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cebba7ce499bc0606117613599fa5d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a5cebba7ce499bc0606117613599fa5d8">jmp</a></td></tr>
<tr class="separator:a5cebba7ce499bc0606117613599fa5d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d8d8c92bc0e93b2301aa101600f0f5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a8d8d8c92bc0e93b2301aa101600f0f5e">vmexit</a></td></tr>
<tr class="separator:a8d8d8c92bc0e93b2301aa101600f0f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedbb6765771fc1b8dcea94891bf23684"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#aedbb6765771fc1b8dcea94891bf23684">pushvsp</a></td></tr>
<tr class="separator:aedbb6765771fc1b8dcea94891bf23684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a345873c127b0bf9225051ce8453bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a34a345873c127b0bf9225051ce8453bf">lrflags</a></td></tr>
<tr class="separator:a34a345873c127b0bf9225051ce8453bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad481b2cb4df18abe8727e942bae7d00c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ad481b2cb4df18abe8727e942bae7d00c">lvsp</a></td></tr>
<tr class="separator:ad481b2cb4df18abe8727e942bae7d00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74eecbae2fe9125108fed0a717c4d1fd"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a74eecbae2fe9125108fed0a717c4d1fd">all</a></td></tr>
<tr class="separator:a74eecbae2fe9125108fed0a717c4d1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ad6d45fc87d11eea76019f1159069eb6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6d45fc87d11eea76019f1159069eb6d">&#9670;&nbsp;</a></span>lifter_callback_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">vm::lifters::lifter_callback_t</a> = typedef std::function&lt; void( vtil::basic_block *, <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* ) &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae0e3f407f89e62897a46763b3de93fa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0e3f407f89e62897a46763b3de93fa9">&#9670;&nbsp;</a></span>lifter_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> = typedef std::pair&lt; <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a>, <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">lifter_callback_t</a> &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="acb5a26d705669f85de67543eb131738b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb5a26d705669f85de67543eb131738b">&#9670;&nbsp;</a></span>make_virtual_register()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr vtil::register_desc vm::lifters::make_virtual_register </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>context_offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a7332fe92bc5b62d3a1eadc3be1650286"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7332fe92bc5b62d3a1eadc3be1650286">&#9670;&nbsp;</a></span>adddw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::adddw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler::ADDDW</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 32, 32 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;add( t1, t0 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler::ADDDW</a></div><div class="ttdeci">@ ADDDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:51</div></div>
<div class="ttc" id="astructvm_1_1instrs_1_1virt__instr__t_html"><div class="ttname"><a href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a></div><div class="ttdef"><b>Definition:</b> vmp2.hpp:150</div></div>
<div class="ttc" id="astructvmp2_1_1v3_1_1code__block__t_html"><div class="ttname"><a href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a></div><div class="ttdef"><b>Definition:</b> vmp2.hpp:217</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0491abd30c8c9f167a5573fedc83326c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0491abd30c8c9f167a5573fedc83326c">&#9670;&nbsp;</a></span>addq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::addq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler::ADDQ</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 64 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;add( t1, t0 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler::ADDQ</a></div><div class="ttdeci">@ ADDQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:50</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a15434e7a31a2d0839b9fc423879576b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15434e7a31a2d0839b9fc423879576b9">&#9670;&nbsp;</a></span>addw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::addw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler::ADDW</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 16, 16 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;add( t1, t0 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler::ADDW</a></div><div class="ttdeci">@ ADDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:52</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a74eecbae2fe9125108fed0a717c4d1fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74eecbae2fe9125108fed0a717c4d1fd">&#9670;&nbsp;</a></span>all</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> * &gt; vm::lifters::all</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5cebba7ce499bc0606117613599fa5d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cebba7ce499bc0606117613599fa5d8">&#9670;&nbsp;</a></span>jmp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::jmp</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler::JMP</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keywordflow">if</span> ( code_blk-&gt;jcc.has_jcc )</div>
<div class="line"> {</div>
<div class="line"> </div>
<div class="line"> blk-&gt;js( vtil::REG_FLAGS.select( 1, 11 ), code_blk-&gt;jcc.block_addr[ 0 ] - vinstr-&gt;trace_data.regs.r13,</div>
<div class="line"> code_blk-&gt;jcc.block_addr[ 1 ] - vinstr-&gt;trace_data.regs.r13 );</div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span></div>
<div class="line"> blk-&gt;jmp( vinstr-&gt;trace_data.vsp.qword[ 0 ] - vinstr-&gt;trace_data.regs.r13 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler::JMP</a></div><div class="ttdeci">@ JMP</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:20</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a72d98a11da4c9e39ec2b5b2afd22e70c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72d98a11da4c9e39ec2b5b2afd22e70c">&#9670;&nbsp;</a></span>lconstbsxdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstbsxdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler::LCONSTBSXDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 32 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler::LCONSTBSXDW</a></div><div class="ttdeci">@ LCONSTBSXDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:34</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9c2ff30b47ff5f62aae07043f6e54c07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c2ff30b47ff5f62aae07043f6e54c07">&#9670;&nbsp;</a></span>lconstbsxq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstbsxq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler::LCONSTBSXQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler::LCONSTBSXQ</a></div><div class="ttdeci">@ LCONSTBSXQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:33</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae1b69c3029b02505fd5c3b888d9a2f53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1b69c3029b02505fd5c3b888d9a2f53">&#9670;&nbsp;</a></span>lconstbzxw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstbzxw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler::LCONSTBZXW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 16 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler::LCONSTBZXW</a></div><div class="ttdeci">@ LCONSTBZXW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:32</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a542f3b5caa1095dd8025c9fa33a54140"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a542f3b5caa1095dd8025c9fa33a54140">&#9670;&nbsp;</a></span>lconstdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler::LCONSTDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 32 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler::LCONSTDW</a></div><div class="ttdeci">@ LCONSTDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:38</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af9e2ac54515ca216d4eaa5afc84e2001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9e2ac54515ca216d4eaa5afc84e2001">&#9670;&nbsp;</a></span>lconstdwsxq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstdwsxq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler::LCONSTDWSXQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler::LCONSTDWSXQ</a></div><div class="ttdeci">@ LCONSTDWSXQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:35</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a6024fb9a51be812a67b061962b4a9073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6024fb9a51be812a67b061962b4a9073">&#9670;&nbsp;</a></span>lconstq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler::LCONSTQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler::LCONSTQ</a></div><div class="ttdeci">@ LCONSTQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:31</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="adf386a124868fdac0799765abc41318c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf386a124868fdac0799765abc41318c">&#9670;&nbsp;</a></span>lconstw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler::LCONSTW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 16 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler::LCONSTW</a></div><div class="ttdeci">@ LCONSTW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:39</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0037d3980a52839a609d1af3401e93d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0037d3980a52839a609d1af3401e93d3">&#9670;&nbsp;</a></span>lconstwsxdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstwsxdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler::LCONSTWSXDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 32 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler::LCONSTWSXDW</a></div><div class="ttdeci">@ LCONSTWSXDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:37</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a17c37df162f730e307de53489b5112da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17c37df162f730e307de53489b5112da">&#9670;&nbsp;</a></span>lconstwsxq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstwsxq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler::LCONSTWSXQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler::LCONSTWSXQ</a></div><div class="ttdeci">@ LCONSTWSXQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:36</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a44522dea5997a2c5d4f743bee1ea4084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44522dea5997a2c5d4f743bee1ea4084">&#9670;&nbsp;</a></span>lregdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lregdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler::LREGDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 4 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler::LREGDW</a></div><div class="ttdeci">@ LREGDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:29</div></div>
<div class="ttc" id="anamespacevm_1_1lifters_html_acb5a26d705669f85de67543eb131738b"><div class="ttname"><a href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">vm::lifters::make_virtual_register</a></div><div class="ttdeci">constexpr vtil::register_desc make_virtual_register(uint8_t context_offset, uint8_t size)</div><div class="ttdef"><b>Definition:</b> vmlifters.hpp:12</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8f85b8d616456ffaf0699e34643aa5a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f85b8d616456ffaf0699e34643aa5a9">&#9670;&nbsp;</a></span>lregq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lregq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler::LREGQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 8 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler::LREGQ</a></div><div class="ttdeci">@ LREGQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:28</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a34a345873c127b0bf9225051ce8453bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a345873c127b0bf9225051ce8453bf">&#9670;&nbsp;</a></span>lrflags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lrflags</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler::LRFLAGS</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr,</div>
<div class="line"> <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) { blk-&gt;push( vtil::REG_FLAGS ); } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler::LRFLAGS</a></div><div class="ttdeci">@ LRFLAGS</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:15</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad481b2cb4df18abe8727e942bae7d00c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad481b2cb4df18abe8727e942bae7d00c">&#9670;&nbsp;</a></span>lvsp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lvsp</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler::LVSP</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr,</div>
<div class="line"> <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) { blk-&gt;pop( vtil::REG_SP ); } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler::LVSP</a></div><div class="ttdeci">@ LVSP</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:22</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9cf0e6ca49b7789e313686478c3590bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cf0e6ca49b7789e313686478c3590bb">&#9670;&nbsp;</a></span>nanddw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::nanddw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler::NANDDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t1, t2 ] = blk-&gt;tmp( 32, 32 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;pop( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;bnot( t1 );</div>
<div class="line"> blk-&gt;bnot( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;band( t1, t2 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler::NANDDW</a></div><div class="ttdeci">@ NANDDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:61</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9693c38a1eb8ff1d4849e93929e3debf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9693c38a1eb8ff1d4849e93929e3debf">&#9670;&nbsp;</a></span>nandq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::nandq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler::NANDQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t1, t2 ] = blk-&gt;tmp( 64, 64 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;pop( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;bnot( t1 );</div>
<div class="line"> blk-&gt;bnot( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;band( t1, t2 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler::NANDQ</a></div><div class="ttdeci">@ NANDQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:60</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac3ae8152bf358b6ab2e705624de1b7c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3ae8152bf358b6ab2e705624de1b7c3">&#9670;&nbsp;</a></span>nandw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::nandw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler::NANDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t1, t2 ] = blk-&gt;tmp( 16, 16 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;pop( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;bnot( t1 );</div>
<div class="line"> blk-&gt;bnot( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;band( t1, t2 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler::NANDW</a></div><div class="ttdeci">@ NANDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:62</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aedbb6765771fc1b8dcea94891bf23684"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedbb6765771fc1b8dcea94891bf23684">&#9670;&nbsp;</a></span>pushvsp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::pushvsp</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler::PUSHVSP</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr,</div>
<div class="line"> <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) { blk-&gt;push( vtil::REG_SP ); } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler::PUSHVSP</a></div><div class="ttdeci">@ PUSHVSP</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:16</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1e05b6d05c703d4ea79ed6dca1466708"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e05b6d05c703d4ea79ed6dca1466708">&#9670;&nbsp;</a></span>readdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::readdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler::READDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 32 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;ldd( t1, t0, vtil::make_imm( 0ull ) );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler::READDW</a></div><div class="ttdeci">@ READDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:42</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4dd33a06403bf5e6cc5b0f833e88508a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dd33a06403bf5e6cc5b0f833e88508a">&#9670;&nbsp;</a></span>readq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::readq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler::READQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 64 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;ldd( t1, t0, vtil::make_imm( 0ull ) );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler::READQ</a></div><div class="ttdeci">@ READQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:41</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5b37dec0f1b7182f3aefbfe6a102096b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b37dec0f1b7182f3aefbfe6a102096b">&#9670;&nbsp;</a></span>readw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::readw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler::READW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 16 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;ldd( t1, t0, vtil::make_imm( 0ull ) );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler::READW</a></div><div class="ttdeci">@ READW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:43</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af33473ca92a8e1ab2e1a965b7520110d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af33473ca92a8e1ab2e1a965b7520110d">&#9670;&nbsp;</a></span>shrq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::shrq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler::SHRQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 8 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;bshr( t0, t1 );</div>
<div class="line"> blk-&gt;push( t0 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler::SHRQ</a></div><div class="ttdeci">@ SHRQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:57</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a129e17bac76f26029ea048d5f459fd8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a129e17bac76f26029ea048d5f459fd8e">&#9670;&nbsp;</a></span>shrw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::shrw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler::SHRW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 16, 8 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;bshr( t0, t1 );</div>
<div class="line"> blk-&gt;push( t0 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler::SHRW</a></div><div class="ttdeci">@ SHRW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:58</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1ed6bccf37fd06d306357cc231dc85d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed6bccf37fd06d306357cc231dc85d8">&#9670;&nbsp;</a></span>sregdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::sregdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler::SREGDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;pop( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 4 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler::SREGDW</a></div><div class="ttdeci">@ SREGDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:25</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad71cc0003e40f40512d4f755bf128f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad71cc0003e40f40512d4f755bf128f75">&#9670;&nbsp;</a></span>sregq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::sregq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler::SREGQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;pop( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 8 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler::SREGQ</a></div><div class="ttdeci">@ SREGQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:24</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aab4b15f694be1f476b6336cc0b4cbf83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab4b15f694be1f476b6336cc0b4cbf83">&#9670;&nbsp;</a></span>sregw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::sregw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler::SREGW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;pop( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 2 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler::SREGW</a></div><div class="ttdeci">@ SREGW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:26</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d8d8c92bc0e93b2301aa101600f0f5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d8d8c92bc0e93b2301aa101600f0f5e">&#9670;&nbsp;</a></span>vmexit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::vmexit</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler::VMEXIT</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;vexit( vtil::make_imm( vinstr-&gt;trace_data.vsp.qword[ 0x13 ] - vinstr-&gt;trace_data.regs.r13 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler::VMEXIT</a></div><div class="ttdeci">@ VMEXIT</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:21</div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>