📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 09:18:11
📂
/ (Root)
/
opt
/
alt
/
ruby19
/
share
/
doc
/
ruby
/
html
/
d2
/
d5f
📍 /opt/alt/ruby19/share/doc/ruby/html/d2/d5f
🔄 Refresh
✏️
Editing: vm__insnhelper_8h_source.html
Read Only
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Ruby: vm_insnhelper.h Source File</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="../../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="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Ruby  <span id="projectnumber">1.9.3p551(2014-11-13revision48407)</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <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&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('../../',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">vm_insnhelper.h</div> </div> </div><!--header--> <div class="contents"> <a href="../../d2/d5f/vm__insnhelper_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/**********************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"></span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> insnhelper.h - helper macros to implement each instructions</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"></span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> $Author: ko1 $</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> created at: 04/01/01 15:50:34 JST</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"></span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> Copyright (C) 2004-2007 Koichi Sasada</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">**********************************************************************/</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef RUBY_INSNHELPER_H</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define RUBY_INSNHELPER_H</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef VMDEBUG</span></div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5e6b7f865cae591e5e27b0e36b0d357f"> 29</a></span> <span class="preprocessor">#define VMDEBUG 0</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#if 0</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#undef VMDEBUG</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define VMDEBUG 3</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacd03b5dc02e1e405638b81c67bcd382f"> 38</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacd03b5dc02e1e405638b81c67bcd382f">BOP_PLUS</a>,</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aad1f8beb5fc60f2f86aeefede91b7d5d4"> 39</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aad1f8beb5fc60f2f86aeefede91b7d5d4">BOP_MINUS</a>,</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aadd83c91d4e66ad10f6b9ca98e597b92e"> 40</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aadd83c91d4e66ad10f6b9ca98e597b92e">BOP_MULT</a>,</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa15efbf38d2e7d36dadd9929f3f35cf2e"> 41</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa15efbf38d2e7d36dadd9929f3f35cf2e">BOP_DIV</a>,</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacfd2714c327f9bfb8a2c403621e76e09"> 42</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacfd2714c327f9bfb8a2c403621e76e09">BOP_MOD</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa0092c38b46ede6c7f03a718c64fdfb79"> 43</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa0092c38b46ede6c7f03a718c64fdfb79">BOP_EQ</a>,</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa75fa2de9c3bd1633a0d72d02bd963b6e"> 44</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa75fa2de9c3bd1633a0d72d02bd963b6e">BOP_EQQ</a>,</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aad42ffd0296eb2ffb2b7ee2e7f8cad81a"> 45</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aad42ffd0296eb2ffb2b7ee2e7f8cad81a">BOP_LT</a>,</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa28f5d44eeee8c05fdc16b3d4172ae3b6"> 46</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa28f5d44eeee8c05fdc16b3d4172ae3b6">BOP_LE</a>,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa32aad0c10e8eb6fa268a4f3d61266493"> 47</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa32aad0c10e8eb6fa268a4f3d61266493">BOP_LTLT</a>,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaaff69f84b8f4d5b7346c78e0f2778c8c"> 48</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaaff69f84b8f4d5b7346c78e0f2778c8c">BOP_AREF</a>,</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa992b61382c3787fb5b742f702b9dc26b"> 49</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa992b61382c3787fb5b742f702b9dc26b">BOP_ASET</a>,</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa062f483ea306ef93f5436083b17225f7"> 50</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa062f483ea306ef93f5436083b17225f7">BOP_LENGTH</a>,</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa3ee56fcb9daaaff8a0e7eed13a775cb3"> 51</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa3ee56fcb9daaaff8a0e7eed13a775cb3">BOP_SIZE</a>,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa70aadb17578510a6f4135b92208293a1"> 52</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa70aadb17578510a6f4135b92208293a1">BOP_SUCC</a>,</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaf83482a89143c5b61ce9ae19e306b761"> 53</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaf83482a89143c5b61ce9ae19e306b761">BOP_GT</a>,</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa368ec3d1759cd44c7d500e589f2839fd"> 54</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa368ec3d1759cd44c7d500e589f2839fd">BOP_GE</a>,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa5ba3c16d2e39ce22b91410436fcdb071"> 55</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa5ba3c16d2e39ce22b91410436fcdb071">BOP_NOT</a>,</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa4a1c0c602c1b3432b1cfcfe3cda3237d"> 56</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa4a1c0c602c1b3432b1cfcfe3cda3237d">BOP_NEQ</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa234b86bd36a499b3fde775c6f4034108"> 58</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa234b86bd36a499b3fde775c6f4034108">BOP_LAST_</a></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> };</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">extern</span> <span class="keywordtype">char</span> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ae7ebc888013290c4c514a63794167a87">ruby_vm_redefined_flag</a>[<a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa234b86bd36a499b3fde775c6f4034108">BOP_LAST_</a>];</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">extern</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a29d64659d230fbf7dc7326585cdaa8e5">ruby_vm_const_missing_count</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/* deal with stack */</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a070409486cc2c3c246d56a4c0db26185"> 69</a></span> <span class="preprocessor">#define PUSH(x) (SET_SV(x), INC_SP(1))</span></div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa6afee63c742e12ac4766e4e4d591f0c"> 70</a></span> <span class="preprocessor">#define TOPN(n) (*(GET_SP()-(n)-1))</span></div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a603a303a93fa04d0ea543ff6d19d5166"> 71</a></span> <span class="preprocessor">#define POPN(n) (DEC_SP(n))</span></div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a2106695e949772f765546777ef34690e"> 72</a></span> <span class="preprocessor">#define POP() (DEC_SP(1))</span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#af33871ae80857441f1d9b40b66772038"> 73</a></span> <span class="preprocessor">#define STACK_ADDR_FROM_TOP(n) (GET_SP()-(n))</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a2f955683a6de478170ff524dc64171b4"> 75</a></span> <span class="preprocessor">#define GET_TOS() (tos) </span><span class="comment">/* dummy */</span><span class="preprocessor"></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/* deal with registers */</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a4d967ed557521590f9fcc9d5baabcd2c"> 81</a></span> <span class="preprocessor">#define REG_CFP (reg_cfp)</span></div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0bdab02c1a4e126cad1afbf1651f60c1"> 82</a></span> <span class="preprocessor">#define REG_PC (REG_CFP->pc)</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ab63de531c5cc5211cb75ad7d25773115"> 83</a></span> <span class="preprocessor">#define REG_SP (REG_CFP->sp)</span></div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a3c10e7bff979492946fa011c81d57735"> 84</a></span> <span class="preprocessor">#define REG_LFP (REG_CFP->lfp)</span></div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a84e53cffe7ed248cae5603fcc3da5ad2"> 85</a></span> <span class="preprocessor">#define REG_DFP (REG_CFP->dfp)</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a72f9b3d38c15c2b6f00f682b7f0bafd5"> 87</a></span> <span class="preprocessor">#define RESTORE_REGS() do { \</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"> REG_CFP = th->cfp; \</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa0e40d1cb9fea79e800aa79b8ca291f7"> 91</a></span> <span class="preprocessor">#define REG_A reg_a</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a28ed75c6727784e56c2bb8d828c876c9"> 92</a></span> <span class="preprocessor">#define REG_B reg_b</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#ifdef COLLECT_USAGE_ANALYSIS</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#define USAGE_ANALYSIS_REGISTER_HELPER(a, b, v) \</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> (USAGE_ANALYSIS_REGISTER((a), (b)), (v))</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ada6f985941dcd4c1b40a8a6a24b6d065"> 98</a></span> <span class="preprocessor">#define USAGE_ANALYSIS_REGISTER_HELPER(a, b, v) (v)</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/* PC */</span></div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5bab43dbc413796bcbf9b3229ca328af"> 102</a></span> <span class="preprocessor">#define GET_PC() (USAGE_ANALYSIS_REGISTER_HELPER(0, 0, REG_PC))</span></div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a12f873c9e72920513f6e7f90f48ff2fd"> 103</a></span> <span class="preprocessor">#define SET_PC(x) (REG_PC = (USAGE_ANALYSIS_REGISTER_HELPER(0, 1, (x))))</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5ee393cc14cdeaf4493c8e28d9f22ff1"> 104</a></span> <span class="preprocessor">#define GET_CURRENT_INSN() (*GET_PC())</span></div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a18f50cf86299c9f68d8052fd6f123c63"> 105</a></span> <span class="preprocessor">#define GET_OPERAND(n) (GET_PC()[(n)])</span></div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a939f0902aba054b94156d272cb378897"> 106</a></span> <span class="preprocessor">#define ADD_PC(n) (SET_PC(REG_PC + (n)))</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0b554223d27bbfe6abd9653488273d96"> 108</a></span> <span class="preprocessor">#define GET_PC_COUNT() (REG_PC - GET_ISEQ()->iseq_encoded)</span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5d57a824af788d135304650b82bf4506"> 109</a></span> <span class="preprocessor">#define JUMP(dst) (REG_PC += (dst))</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">/* FP */</span></div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aaa1da6ab0be664f37a86f975aa54f1d5"> 112</a></span> <span class="preprocessor">#define GET_CFP() (USAGE_ANALYSIS_REGISTER_HELPER(2, 0, REG_CFP))</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a7a92de4673a83f00188fb4f96449a76f"> 113</a></span> <span class="preprocessor">#define GET_LFP() (USAGE_ANALYSIS_REGISTER_HELPER(3, 0, REG_LFP))</span></div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a66220bf8080e34a4b2f474b075f0c575"> 114</a></span> <span class="preprocessor">#define SET_LFP(x) (REG_LFP = (USAGE_ANALYSIS_REGISTER_HELPER(3, 1, (x))))</span></div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5eca73eb741965e4ffe9ab86ca54d731"> 115</a></span> <span class="preprocessor">#define GET_DFP() (USAGE_ANALYSIS_REGISTER_HELPER(4, 0, REG_DFP))</span></div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#abc5af8dd2931f16e62b892a2de5a7c7d"> 116</a></span> <span class="preprocessor">#define SET_DFP(x) (REG_DFP = (USAGE_ANALYSIS_REGISTER_HELPER(4, 1, (x))))</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/* SP */</span></div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a7e74e567f0531e55adff93dfbc76f7c8"> 119</a></span> <span class="preprocessor">#define GET_SP() (USAGE_ANALYSIS_REGISTER_HELPER(1, 0, REG_SP))</span></div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a45a6f8d3909c4c2dbe9943c561a9ee37"> 120</a></span> <span class="preprocessor">#define SET_SP(x) (REG_SP = (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))</span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a07cb27b12d6dcf1532b9efc50afefacc"> 121</a></span> <span class="preprocessor">#define INC_SP(x) (REG_SP += (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))</span></div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#adf621fb9411e01deba528669ba8cf671"> 122</a></span> <span class="preprocessor">#define DEC_SP(x) (REG_SP -= (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))</span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a97274b051b71a98c9824f4979b6d3e14"> 123</a></span> <span class="preprocessor">#define SET_SV(x) (*GET_SP() = (x))</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">/* set current stack value as x */</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a102e930d3c89ac52417ae7f925df4e21"> 126</a></span> <span class="preprocessor">#define GET_SP_COUNT() (REG_SP - th->stack)</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">/* instruction sequence C struct */</span></div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a56a26903ea815379e46f7f317325b12b"> 129</a></span> <span class="preprocessor">#define GET_ISEQ() (GET_CFP()->iseq)</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">/* deal with variables */</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a497b479466645a0444c86a5fdcb950ee"> 135</a></span> <span class="preprocessor">#define GET_PREV_DFP(dfp) ((VALUE *)((dfp)[0] & ~0x03))</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a4d873c1aa3330cc94489eff0e1116840"> 137</a></span> <span class="preprocessor">#define GET_GLOBAL(entry) rb_gvar_get((struct rb_global_entry*)(entry))</span></div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa81828d3418933c190c167e6be2814e0"> 138</a></span> <span class="preprocessor">#define SET_GLOBAL(entry, val) rb_gvar_set((struct rb_global_entry*)(entry), (val))</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a95de8a6ede0bce419971b7c00ef2ca09"> 140</a></span> <span class="preprocessor">#define GET_CONST_INLINE_CACHE(dst) ((IC) * (GET_PC() + (dst) + 2))</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/* deal with values */</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ab5304ef623cc43fac72bf41b88e64d0e"> 146</a></span> <span class="preprocessor">#define GET_SELF() (USAGE_ANALYSIS_REGISTER_HELPER(5, 0, GET_CFP()->self))</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">/* deal with control flow 2: method/iterator */</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#adc65dee2ab1f2e022731b16355888ecb"> 152</a></span> <span class="preprocessor">#define COPY_CREF(c1, c2) do { \</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"> NODE *__tmp_c2 = (c2); \</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"> (c1)->nd_clss = __tmp_c2->nd_clss; \</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"> (c1)->nd_visi = __tmp_c2->nd_visi;\</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"> (c1)->nd_next = __tmp_c2->nd_next; \</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"> if (__tmp_c2->flags & NODE_FL_CREF_PUSHED_BY_EVAL) { \</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"> (c1)->flags |= NODE_FL_CREF_PUSHED_BY_EVAL; \</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a9e614250a45f8a3e68779f5989b12951"> 162</a></span> <span class="preprocessor">#define CALL_METHOD(num, blockptr, flag, id, me, recv) do { \</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"> VALUE v = vm_call_method(th, GET_CFP(), (num), (blockptr), (flag), (id), (me), (recv)); \</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"> if (v == Qundef) { \</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"> RESTORE_REGS(); \</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"> NEXT_INSN(); \</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"> else { \</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"> val = v; \</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a35f59ea441f0ea4b942b31adc9dc0057"> 173</a></span> <span class="preprocessor">#define GET_BLOCK_PTR() \</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"> ((rb_block_t *)(GC_GUARDED_PTR_REF(GET_LFP()[0] & \</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"> ((GET_LFP()[0] & 0x02) - 0x02))))</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* deal with control flow 3: exception */</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/* others */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">/* optimize insn */</span></div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac23cd192527ba40e3e504aca789f9c9a"> 187</a></span> <span class="preprocessor">#define FIXNUM_2_P(a, b) ((a) & (b) & 1)</span></div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a6e78b01eeb08148597a2cd9aa573c09e"> 188</a></span> <span class="preprocessor">#define BASIC_OP_UNREDEFINED_P(op) (LIKELY(ruby_vm_redefined_flag[(op)] == 0))</span></div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a79a99c9923d147971bf99dd7b096705b"> 189</a></span> <span class="preprocessor">#define HEAP_CLASS_OF(obj) RBASIC(obj)->klass</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#ifndef USE_IC_FOR_SPECIALIZED_METHOD</span></div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#afc924d7a50fdd358b76c283711093896"> 192</a></span> <span class="preprocessor">#define USE_IC_FOR_SPECIALIZED_METHOD 1</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#if USE_IC_FOR_SPECIALIZED_METHOD</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac0455629e7038c38a9c71c5fff85eb92"> 197</a></span> <span class="preprocessor">#define CALL_SIMPLE_METHOD(num, id, recv) do { \</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> VALUE klass = CLASS_OF(recv); \</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> CALL_METHOD((num), 0, 0, (id), vm_method_search((id), klass, ic), (recv)); \</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#define CALL_SIMPLE_METHOD(num, id, recv) do { \</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"> VALUE klass = CLASS_OF(recv); \</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"> CALL_METHOD((num), 0, 0, (id), rb_method_entry(klass, (id)), (recv)); \</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac14920989929283916448dfe53244cec"> 211</a></span> <span class="keyword">static</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ac14920989929283916448dfe53244cec">ruby_vm_global_state_version</a> = 1;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#acf5c89cee4e610e226dfab0f5c917105"> 213</a></span> <span class="preprocessor">#define GET_VM_STATE_VERSION() (ruby_vm_global_state_version)</span></div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a8e91da0eaddd34a78c8f9c5207df8979"> 214</a></span> <span class="preprocessor">#define INC_VM_STATE_VERSION() do { \</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"> ruby_vm_global_state_version = (ruby_vm_global_state_version + 1); \</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> if (ruby_vm_global_state_version == 0) vm_clear_all_cache(); \</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a8753b8794e3bf3dafde735bcf233159a">vm_clear_all_cache</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#endif </span><span class="comment">/* RUBY_INSNHELPER_H */</span><span class="preprocessor"></span></div><div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa28f5d44eeee8c05fdc16b3d4172ae3b6"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa28f5d44eeee8c05fdc16b3d4172ae3b6">BOP_LE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00046">vm_insnhelper.h:46</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa5ba3c16d2e39ce22b91410436fcdb071"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa5ba3c16d2e39ce22b91410436fcdb071">BOP_NOT</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00055">vm_insnhelper.h:55</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa70aadb17578510a6f4135b92208293a1"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa70aadb17578510a6f4135b92208293a1">BOP_SUCC</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00052">vm_insnhelper.h:52</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ac14920989929283916448dfe53244cec"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ac14920989929283916448dfe53244cec">ruby_vm_global_state_version</a></div><div class="ttdeci">static VALUE ruby_vm_global_state_version</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00211">vm_insnhelper.h:211</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa15efbf38d2e7d36dadd9929f3f35cf2e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa15efbf38d2e7d36dadd9929f3f35cf2e">BOP_DIV</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00041">vm_insnhelper.h:41</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa992b61382c3787fb5b742f702b9dc26b"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa992b61382c3787fb5b742f702b9dc26b">BOP_ASET</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00049">vm_insnhelper.h:49</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aadd83c91d4e66ad10f6b9ca98e597b92e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aadd83c91d4e66ad10f6b9ca98e597b92e">BOP_MULT</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00040">vm_insnhelper.h:40</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aacd03b5dc02e1e405638b81c67bcd382f"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacd03b5dc02e1e405638b81c67bcd382f">BOP_PLUS</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00038">vm_insnhelper.h:38</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa3ee56fcb9daaaff8a0e7eed13a775cb3"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa3ee56fcb9daaaff8a0e7eed13a775cb3">BOP_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00051">vm_insnhelper.h:51</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aacfd2714c327f9bfb8a2c403621e76e09"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacfd2714c327f9bfb8a2c403621e76e09">BOP_MOD</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00042">vm_insnhelper.h:42</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aaaff69f84b8f4d5b7346c78e0f2778c8c"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaaff69f84b8f4d5b7346c78e0f2778c8c">BOP_AREF</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00048">vm_insnhelper.h:48</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa0092c38b46ede6c7f03a718c64fdfb79"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa0092c38b46ede6c7f03a718c64fdfb79">BOP_EQ</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00043">vm_insnhelper.h:43</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa32aad0c10e8eb6fa268a4f3d61266493"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa32aad0c10e8eb6fa268a4f3d61266493">BOP_LTLT</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00047">vm_insnhelper.h:47</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa75fa2de9c3bd1633a0d72d02bd963b6e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa75fa2de9c3bd1633a0d72d02bd963b6e">BOP_EQQ</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00044">vm_insnhelper.h:44</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa062f483ea306ef93f5436083b17225f7"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa062f483ea306ef93f5436083b17225f7">BOP_LENGTH</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00050">vm_insnhelper.h:50</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aad1f8beb5fc60f2f86aeefede91b7d5d4"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aad1f8beb5fc60f2f86aeefede91b7d5d4">BOP_MINUS</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00039">vm_insnhelper.h:39</a></div></div> <div class="ttc" id="ruby_2ruby_8h_html_a3c1d4bfc6a81af60bdcb48744c35f760"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a></div><div class="ttdeci">unsigned long VALUE</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00088">ruby.h:88</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_a8753b8794e3bf3dafde735bcf233159a"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a8753b8794e3bf3dafde735bcf233159a">vm_clear_all_cache</a></div><div class="ttdeci">static void vm_clear_all_cache(void)</div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa4a1c0c602c1b3432b1cfcfe3cda3237d"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa4a1c0c602c1b3432b1cfcfe3cda3237d">BOP_NEQ</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00056">vm_insnhelper.h:56</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa368ec3d1759cd44c7d500e589f2839fd"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa368ec3d1759cd44c7d500e589f2839fd">BOP_GE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00054">vm_insnhelper.h:54</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aad42ffd0296eb2ffb2b7ee2e7f8cad81a"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aad42ffd0296eb2ffb2b7ee2e7f8cad81a">BOP_LT</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00045">vm_insnhelper.h:45</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ae7ebc888013290c4c514a63794167a87"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ae7ebc888013290c4c514a63794167a87">ruby_vm_redefined_flag</a></div><div class="ttdeci">char ruby_vm_redefined_flag[BOP_LAST_]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de9/vm_8c_source.html#l00042">vm.c:42</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_a29d64659d230fbf7dc7326585cdaa8e5"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a29d64659d230fbf7dc7326585cdaa8e5">ruby_vm_const_missing_count</a></div><div class="ttdeci">VALUE ruby_vm_const_missing_count</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de9/vm_8c_source.html#l00040">vm.c:40</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aaf83482a89143c5b61ce9ae19e306b761"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaf83482a89143c5b61ce9ae19e306b761">BOP_GT</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00053">vm_insnhelper.h:53</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_aa618c4d8c29ef4efe6f10c741fb1f47aa234b86bd36a499b3fde775c6f4034108"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa234b86bd36a499b3fde775c6f4034108">BOP_LAST_</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00058">vm_insnhelper.h:58</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="../../doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>
💾 Save Changes
❌ Cancel