Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
ruby21
/
share
/
doc
/
ruby
/
capi
/
html
/
d2
/
d5f
/
//opt/alt/ruby21/share/doc/ruby/capi/html/d2/d5f/vm__insnhelper_8h_source.html
<!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">2.1.10p492(2016-04-01revision54464)</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#ade4ace78b27f5ceccade6e2e29404c48acd03b5dc02e1e405638b81c67bcd382f"> 38</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48acd03b5dc02e1e405638b81c67bcd382f">BOP_PLUS</a>,</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad1f8beb5fc60f2f86aeefede91b7d5d4"> 39</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad1f8beb5fc60f2f86aeefede91b7d5d4">BOP_MINUS</a>,</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48add83c91d4e66ad10f6b9ca98e597b92e"> 40</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48add83c91d4e66ad10f6b9ca98e597b92e">BOP_MULT</a>,</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a15efbf38d2e7d36dadd9929f3f35cf2e"> 41</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a15efbf38d2e7d36dadd9929f3f35cf2e">BOP_DIV</a>,</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48acfd2714c327f9bfb8a2c403621e76e09"> 42</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48acfd2714c327f9bfb8a2c403621e76e09">BOP_MOD</a>,</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a0092c38b46ede6c7f03a718c64fdfb79"> 43</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a0092c38b46ede6c7f03a718c64fdfb79">BOP_EQ</a>,</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a75fa2de9c3bd1633a0d72d02bd963b6e"> 44</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a75fa2de9c3bd1633a0d72d02bd963b6e">BOP_EQQ</a>,</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad42ffd0296eb2ffb2b7ee2e7f8cad81a"> 45</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad42ffd0296eb2ffb2b7ee2e7f8cad81a">BOP_LT</a>,</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a28f5d44eeee8c05fdc16b3d4172ae3b6"> 46</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a28f5d44eeee8c05fdc16b3d4172ae3b6">BOP_LE</a>,</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a32aad0c10e8eb6fa268a4f3d61266493"> 47</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a32aad0c10e8eb6fa268a4f3d61266493">BOP_LTLT</a>,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48aaff69f84b8f4d5b7346c78e0f2778c8c"> 48</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48aaff69f84b8f4d5b7346c78e0f2778c8c">BOP_AREF</a>,</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a992b61382c3787fb5b742f702b9dc26b"> 49</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a992b61382c3787fb5b742f702b9dc26b">BOP_ASET</a>,</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a062f483ea306ef93f5436083b17225f7"> 50</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a062f483ea306ef93f5436083b17225f7">BOP_LENGTH</a>,</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a3ee56fcb9daaaff8a0e7eed13a775cb3"> 51</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a3ee56fcb9daaaff8a0e7eed13a775cb3">BOP_SIZE</a>,</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ae4b0686052bf5d1089e605f01f924e69"> 52</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ae4b0686052bf5d1089e605f01f924e69">BOP_EMPTY_P</a>,</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a70aadb17578510a6f4135b92208293a1"> 53</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a70aadb17578510a6f4135b92208293a1">BOP_SUCC</a>,</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48af83482a89143c5b61ce9ae19e306b761"> 54</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48af83482a89143c5b61ce9ae19e306b761">BOP_GT</a>,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a368ec3d1759cd44c7d500e589f2839fd"> 55</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a368ec3d1759cd44c7d500e589f2839fd">BOP_GE</a>,</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a5ba3c16d2e39ce22b91410436fcdb071"> 56</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a5ba3c16d2e39ce22b91410436fcdb071">BOP_NOT</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a4a1c0c602c1b3432b1cfcfe3cda3237d"> 57</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a4a1c0c602c1b3432b1cfcfe3cda3237d">BOP_NEQ</a>,</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad7476e789e3615e1cd4beadbc8bd44df"> 58</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad7476e789e3615e1cd4beadbc8bd44df">BOP_MATCH</a>,</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ab84739b00a787122c84243898d4887b0"> 59</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ab84739b00a787122c84243898d4887b0">BOP_FREEZE</a>,</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a234b86bd36a499b3fde775c6f4034108"> 61</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a234b86bd36a499b3fde775c6f4034108">BOP_LAST_</a></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> };</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">extern</span> <span class="keywordtype">short</span> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#af427f98bf786d39129fb5249295b20cd">ruby_vm_redefined_flag</a>[<a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a234b86bd36a499b3fde775c6f4034108">BOP_LAST_</a>];</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</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="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#if VM_COLLECT_USAGE_DETAILS</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#define COLLECT_USAGE_INSN(insn) vm_collect_usage_insn(insn)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#define COLLECT_USAGE_OPERAND(insn, n, op) vm_collect_usage_operand((insn), (n), ((VALUE)(op)))</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#define COLLECT_USAGE_REGISTER(reg, s) vm_collect_usage_register((reg), (s))</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a773863a4a781645a4b8978b65de8ae5f"> 73</a></span> <span class="preprocessor">#define COLLECT_USAGE_INSN(insn) </span><span class="comment">/* none */</span><span class="preprocessor"></span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa3aa443ffe15dfc72427800e137953f8"> 74</a></span> <span class="preprocessor">#define COLLECT_USAGE_OPERAND(insn, n, op) </span><span class="comment">/* none */</span><span class="preprocessor"></span></div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac233445cecde6065b5f8e56f8b2c887a"> 75</a></span> <span class="preprocessor">#define COLLECT_USAGE_REGISTER(reg, s) </span><span class="comment">/* none */</span><span class="preprocessor"></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">/* deal with stack */</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a070409486cc2c3c246d56a4c0db26185"> 82</a></span> <span class="preprocessor">#define PUSH(x) (SET_SV(x), INC_SP(1))</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa6afee63c742e12ac4766e4e4d591f0c"> 83</a></span> <span class="preprocessor">#define TOPN(n) (*(GET_SP()-(n)-1))</span></div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a603a303a93fa04d0ea543ff6d19d5166"> 84</a></span> <span class="preprocessor">#define POPN(n) (DEC_SP(n))</span></div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a2106695e949772f765546777ef34690e"> 85</a></span> <span class="preprocessor">#define POP() (DEC_SP(1))</span></div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#af33871ae80857441f1d9b40b66772038"> 86</a></span> <span class="preprocessor">#define STACK_ADDR_FROM_TOP(n) (GET_SP()-(n))</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a2f955683a6de478170ff524dc64171b4"> 88</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="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/* deal with registers */</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/**********************************************************/</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"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a4d967ed557521590f9fcc9d5baabcd2c"> 94</a></span> <span class="preprocessor">#define REG_CFP (reg_cfp)</span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0bdab02c1a4e126cad1afbf1651f60c1"> 95</a></span> <span class="preprocessor">#define REG_PC (REG_CFP->pc)</span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ab63de531c5cc5211cb75ad7d25773115"> 96</a></span> <span class="preprocessor">#define REG_SP (REG_CFP->sp)</span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a25e07edd62b5bbcda15a242e48f25be3"> 97</a></span> <span class="preprocessor">#define REG_EP (REG_CFP->ep)</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a72f9b3d38c15c2b6f00f682b7f0bafd5"> 99</a></span> <span class="preprocessor">#define RESTORE_REGS() do { \</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> REG_CFP = th->cfp; \</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa0e40d1cb9fea79e800aa79b8ca291f7"> 103</a></span> <span class="preprocessor">#define REG_A reg_a</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a28ed75c6727784e56c2bb8d828c876c9"> 104</a></span> <span class="preprocessor">#define REG_B reg_b</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98"> 106</a></span> <span class="keyword">enum</span> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98">vm_regan_regtype</a> {</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98ae7ef29c87def668e87743541dc31a26c"> 107</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98ae7ef29c87def668e87743541dc31a26c">VM_REGAN_PC</a> = 0,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98aeb31dadf232325f6d425f9951b6d4f50"> 108</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98aeb31dadf232325f6d425f9951b6d4f50">VM_REGAN_SP</a> = 1,</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a9578d31f4bc59dde24d896682a4705ab"> 109</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a9578d31f4bc59dde24d896682a4705ab">VM_REGAN_EP</a> = 2,</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a324aedc419fb8e20706ef4847be82310"> 110</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a324aedc419fb8e20706ef4847be82310">VM_REGAN_CFP</a> = 3,</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a1a15e09da11fd872972a55fbc37d707b"> 111</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a1a15e09da11fd872972a55fbc37d707b">VM_REGAN_SELF</a> = 4,</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a29b790ba60eaeb1b37a8342c6869eb6e"> 112</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a29b790ba60eaeb1b37a8342c6869eb6e">VM_REGAN_ISEQ</a> = 5,</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> };</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116"> 114</a></span> <span class="keyword">enum</span> <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116">vm_regan_acttype</a> {</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116ab45028847abeb4f60790e9bc07fba414"> 115</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116ab45028847abeb4f60790e9bc07fba414">VM_REGAN_ACT_GET</a> = 0,</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116a4d02fff03a76e45899ddc150e693e9bd"> 116</a></span>  <a class="code" href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116a4d02fff03a76e45899ddc150e693e9bd">VM_REGAN_ACT_SET</a> = 1,</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> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#if VM_COLLECT_USAGE_DETAILS</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#define COLLECT_USAGE_REGISTER_HELPER(a, b, v) \</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"> (COLLECT_USAGE_REGISTER((VM_REGAN_##a), (VM_REGAN_ACT_##b)), (v))</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a616b116bb37961184c940f9a15221389"> 123</a></span> <span class="preprocessor">#define COLLECT_USAGE_REGISTER_HELPER(a, b, v) (v)</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif</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"> 126</span> <span class="comment">/* PC */</span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5bab43dbc413796bcbf9b3229ca328af"> 127</a></span> <span class="preprocessor">#define GET_PC() (COLLECT_USAGE_REGISTER_HELPER(PC, GET, REG_PC))</span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a12f873c9e72920513f6e7f90f48ff2fd"> 128</a></span> <span class="preprocessor">#define SET_PC(x) (REG_PC = (COLLECT_USAGE_REGISTER_HELPER(PC, SET, (x))))</span></div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5ee393cc14cdeaf4493c8e28d9f22ff1"> 129</a></span> <span class="preprocessor">#define GET_CURRENT_INSN() (*GET_PC())</span></div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a18f50cf86299c9f68d8052fd6f123c63"> 130</a></span> <span class="preprocessor">#define GET_OPERAND(n) (GET_PC()[(n)])</span></div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a939f0902aba054b94156d272cb378897"> 131</a></span> <span class="preprocessor">#define ADD_PC(n) (SET_PC(REG_PC + (n)))</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a0b554223d27bbfe6abd9653488273d96"> 133</a></span> <span class="preprocessor">#define GET_PC_COUNT() (REG_PC - GET_ISEQ()->iseq_encoded)</span></div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5d57a824af788d135304650b82bf4506"> 134</a></span> <span class="preprocessor">#define JUMP(dst) (REG_PC += (dst))</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* frame pointer, environment pointer */</span></div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aaa1da6ab0be664f37a86f975aa54f1d5"> 137</a></span> <span class="preprocessor">#define GET_CFP() (COLLECT_USAGE_REGISTER_HELPER(CFP, GET, REG_CFP))</span></div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a9a5bc4c26463bc74415b75c78a0659b3"> 138</a></span> <span class="preprocessor">#define GET_EP() (COLLECT_USAGE_REGISTER_HELPER(EP, GET, REG_EP))</span></div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a409f24015464212227f9f5b1ebd766c2"> 139</a></span> <span class="preprocessor">#define SET_EP(x) (REG_EP = (COLLECT_USAGE_REGISTER_HELPER(EP, SET, (x))))</span></div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac1619423dd4b69dc798fce3140d767f6"> 140</a></span> <span class="preprocessor">#define GET_LEP() (VM_EP_LEP(GET_EP()))</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">/* SP */</span></div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a7e74e567f0531e55adff93dfbc76f7c8"> 143</a></span> <span class="preprocessor">#define GET_SP() (COLLECT_USAGE_REGISTER_HELPER(SP, GET, REG_SP))</span></div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a45a6f8d3909c4c2dbe9943c561a9ee37"> 144</a></span> <span class="preprocessor">#define SET_SP(x) (REG_SP = (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))</span></div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a07cb27b12d6dcf1532b9efc50afefacc"> 145</a></span> <span class="preprocessor">#define INC_SP(x) (REG_SP += (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))</span></div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#adf621fb9411e01deba528669ba8cf671"> 146</a></span> <span class="preprocessor">#define DEC_SP(x) (REG_SP -= (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))</span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a97274b051b71a98c9824f4979b6d3e14"> 147</a></span> <span class="preprocessor">#define SET_SV(x) (*GET_SP() = (x))</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">/* set current stack value as x */</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a102e930d3c89ac52417ae7f925df4e21"> 150</a></span> <span class="preprocessor">#define GET_SP_COUNT() (REG_SP - th->stack)</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"> 152</span> <span class="comment">/* instruction sequence C struct */</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a56a26903ea815379e46f7f317325b12b"> 153</a></span> <span class="preprocessor">#define GET_ISEQ() (GET_CFP()->iseq)</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* deal with variables */</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ae0fc170ec5a4587558cfec3290aa9375"> 159</a></span> <span class="preprocessor">#define GET_PREV_EP(ep) ((VALUE *)((ep)[0] & ~0x03))</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a4d873c1aa3330cc94489eff0e1116840"> 161</a></span> <span class="preprocessor">#define GET_GLOBAL(entry) rb_gvar_get((struct rb_global_entry*)(entry))</span></div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa81828d3418933c190c167e6be2814e0"> 162</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="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a95de8a6ede0bce419971b7c00ef2ca09"> 164</a></span> <span class="preprocessor">#define GET_CONST_INLINE_CACHE(dst) ((IC) * (GET_PC() + (dst) + 2))</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/* deal with values */</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ab5304ef623cc43fac72bf41b88e64d0e"> 170</a></span> <span class="preprocessor">#define GET_SELF() (COLLECT_USAGE_REGISTER_HELPER(SELF, GET, GET_CFP()->self))</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/* deal with control flow 2: method/iterator */</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a9cb2959a763c244809ad5b7ea21eba16"> 176</a></span> <span class="preprocessor">#define COPY_CREF_OMOD(c1, c2) do { \</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> RB_OBJ_WRITE((c1), &(c1)->nd_refinements, (c2)->nd_refinements); \</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> if (!NIL_P((c2)->nd_refinements)) { \</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"> (c1)->flags |= NODE_FL_CREF_OMOD_SHARED; \</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"> (c2)->flags |= NODE_FL_CREF_OMOD_SHARED; \</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#adc65dee2ab1f2e022731b16355888ecb"> 184</a></span> <span class="preprocessor">#define COPY_CREF(c1, c2) do { \</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> NODE *__tmp_c2 = (c2); \</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"> COPY_CREF_OMOD(c1, __tmp_c2); \</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"> RB_OBJ_WRITE((c1), &(c1)->nd_clss, __tmp_c2->nd_clss); \</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"> (c1)->nd_visi = __tmp_c2->nd_visi;\</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"> RB_OBJ_WRITE((c1), &(c1)->nd_next, __tmp_c2->nd_next); \</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"> if (__tmp_c2->flags & NODE_FL_CREF_PUSHED_BY_EVAL) { \</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor"> (c1)->flags |= NODE_FL_CREF_PUSHED_BY_EVAL; \</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">} while (0)</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"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac5df35146d7cef9c82d01ecd33b73345"> 195</a></span> <span class="preprocessor">#define CALL_METHOD(ci) do { \</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"> VALUE v = (*(ci)->call)(th, GET_CFP(), (ci)); \</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"> if (v == Qundef) { \</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> RESTORE_REGS(); \</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> NEXT_INSN(); \</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor"> else { \</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"> val = v; \</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* set fastpath when cached method is *NOT* protected</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> * because inline method cache does not care about receiver.</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> */</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor">#ifndef OPT_CALL_FASTPATH</span></div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a6e956367a06f8220d1efb6ee40145dd9"> 211</a></span> <span class="preprocessor">#define OPT_CALL_FASTPATH 1</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#if OPT_CALL_FASTPATH</span></div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a2f13fcafbe296c518cb5f81a4e1cae48"> 215</a></span> <span class="preprocessor">#define CI_SET_FASTPATH(ci, func, enabled) do { \</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> if (LIKELY(enabled)) ((ci)->call = (func)); \</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="preprocessor">#else</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor">#define CI_SET_FASTPATH(ci, func, enabled) </span><span class="comment">/* do nothing */</span><span class="preprocessor"></span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a35f59ea441f0ea4b942b31adc9dc0057"> 222</a></span> <span class="preprocessor">#define GET_BLOCK_PTR() ((rb_block_t *)(GC_GUARDED_PTR_REF(GET_LEP()[0])))</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">/* deal with control flow 3: exception */</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* others */</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">/**********************************************************/</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/* optimize insn */</span></div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a6e7e7982d85ec033efe8f9929c5ce67a"> 234</a></span> <span class="preprocessor">#define FIXNUM_REDEFINED_OP_FLAG (1 << 0)</span></div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#af968b58a40031c1299287b5245f020ac"> 235</a></span> <span class="preprocessor">#define FLOAT_REDEFINED_OP_FLAG (1 << 1)</span></div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a15b52577f01f3305579b1553cbf1f218"> 236</a></span> <span class="preprocessor">#define STRING_REDEFINED_OP_FLAG (1 << 2)</span></div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a5f8e7be5793576774dcd1d6571dcb10d"> 237</a></span> <span class="preprocessor">#define ARRAY_REDEFINED_OP_FLAG (1 << 3)</span></div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a3c31885aa6e36c6f67be77596ba5e8a0"> 238</a></span> <span class="preprocessor">#define HASH_REDEFINED_OP_FLAG (1 << 4)</span></div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a6b1d268dea905b35b1e0577b4c6f9af4"> 239</a></span> <span class="preprocessor">#define BIGNUM_REDEFINED_OP_FLAG (1 << 5)</span></div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aa23a5771f30dff1c952c855f08d2a7bc"> 240</a></span> <span class="preprocessor">#define SYMBOL_REDEFINED_OP_FLAG (1 << 6)</span></div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a516b15c1ae923a154c9e721928eed6c9"> 241</a></span> <span class="preprocessor">#define TIME_REDEFINED_OP_FLAG (1 << 7)</span></div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a11969b168be05db8d03ffe088970ba83"> 242</a></span> <span class="preprocessor">#define REGEXP_REDEFINED_OP_FLAG (1 << 8)</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aaa91b73094cd36b47245369bcd3c2cf8"> 244</a></span> <span class="preprocessor">#define BASIC_OP_UNREDEFINED_P(op, klass) (LIKELY((ruby_vm_redefined_flag[(op)]&(klass)) == 0))</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ac23cd192527ba40e3e504aca789f9c9a"> 246</a></span> <span class="preprocessor">#define FIXNUM_2_P(a, b) ((a) & (b) & 1)</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor">#if USE_FLONUM</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor">#define FLONUM_2_P(a, b) (((((a)^2) | ((b)^2)) & 3) == 0) </span><span class="comment">/* (FLONUM_P(a) && FLONUM_P(b)) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#ae92771197bf5423cab5483199b4d623f"> 250</a></span> <span class="preprocessor">#define FLONUM_2_P(a, b) 0</span></div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor">#ifndef USE_IC_FOR_SPECIALIZED_METHOD</span></div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#afc924d7a50fdd358b76c283711093896"> 254</a></span> <span class="preprocessor">#define USE_IC_FOR_SPECIALIZED_METHOD 1</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a09fe86592ad4527bae0012204f8e1dbb"> 257</a></span> <span class="preprocessor">#define CALL_SIMPLE_METHOD(recv_) do { \</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"> ci->blockptr = 0; ci->argc = ci->orig_argc; \</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"> vm_search_method(ci, ci->recv = (recv_)); \</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"> CALL_METHOD(ci); \</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor">} while (0)</span></div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a1b4b2e32b3ee524c6e70565adc5d993e"> 263</a></span> <span class="preprocessor">#define NEXT_CLASS_SERIAL() (++ruby_vm_class_serial)</span></div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#af5fbc2eedf053b931909003166b6ad5e"> 264</a></span> <span class="preprocessor">#define GET_GLOBAL_METHOD_STATE() (ruby_vm_global_method_state)</span></div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a45cc97efad38618f36d1046486bfbc50"> 265</a></span> <span class="preprocessor">#define INC_GLOBAL_METHOD_STATE() (++ruby_vm_global_method_state)</span></div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#aefdb28c24f85543dd6568d5ff78b8ac2"> 266</a></span> <span class="preprocessor">#define GET_GLOBAL_CONSTANT_STATE() (ruby_vm_global_constant_state)</span></div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="../../d2/d5f/vm__insnhelper_8h.html#a87288ee1c60361ed50948d4293abdf8d"> 267</a></span> <span class="preprocessor">#define INC_GLOBAL_CONSTANT_STATE() (++ruby_vm_global_constant_state)</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</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#ab696cce7cff9adeda253f6b795512532">make_no_method_exception</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> exc, <span class="keyword">const</span> <span class="keywordtype">char</span> *format,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> obj, <span class="keywordtype">int</span> <a class="code" href="../../df/d77/ruby_8c.html#ad1447518f4372828b8435ae82e48499e">argc</a>, <span class="keyword">const</span> <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> *<a class="code" href="../../df/d77/ruby_8c.html#af2efa898e9eed6fe6715279cb1ec35b0">argv</a>);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div><div class="line"><a name="l00273"></a><span class="lineno"> 273</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_ade4ace78b27f5ceccade6e2e29404c48a32aad0c10e8eb6fa268a4f3d61266493"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a32aad0c10e8eb6fa268a4f3d61266493">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_a0cb65992490641127b73ffb33d7ad116a4d02fff03a76e45899ddc150e693e9bd"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116a4d02fff03a76e45899ddc150e693e9bd">VM_REGAN_ACT_SET</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00116">vm_insnhelper.h:116</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48acfd2714c327f9bfb8a2c403621e76e09"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48acfd2714c327f9bfb8a2c403621e76e09">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_a088b6bac8fa5db969159eeaa61dcac98"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98">vm_regan_regtype</a></div><div class="ttdeci">vm_regan_regtype</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00106">vm_insnhelper.h:106</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a0092c38b46ede6c7f03a718c64fdfb79"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a0092c38b46ede6c7f03a718c64fdfb79">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_ade4ace78b27f5ceccade6e2e29404c48a368ec3d1759cd44c7d500e589f2839fd"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a368ec3d1759cd44c7d500e589f2839fd">BOP_GE</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_ade4ace78b27f5ceccade6e2e29404c48ae4b0686052bf5d1089e605f01f924e69"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ae4b0686052bf5d1089e605f01f924e69">BOP_EMPTY_P</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_ade4ace78b27f5ceccade6e2e29404c48ab84739b00a787122c84243898d4887b0"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ab84739b00a787122c84243898d4887b0">BOP_FREEZE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00059">vm_insnhelper.h:59</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48ad42ffd0296eb2ffb2b7ee2e7f8cad81a"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad42ffd0296eb2ffb2b7ee2e7f8cad81a">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_ade4ace78b27f5ceccade6e2e29404c48a15efbf38d2e7d36dadd9929f3f35cf2e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a15efbf38d2e7d36dadd9929f3f35cf2e">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_ade4ace78b27f5ceccade6e2e29404c48a70aadb17578510a6f4135b92208293a1"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a70aadb17578510a6f4135b92208293a1">BOP_SUCC</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_ade4ace78b27f5ceccade6e2e29404c48ad7476e789e3615e1cd4beadbc8bd44df"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad7476e789e3615e1cd4beadbc8bd44df">BOP_MATCH</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 class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a5ba3c16d2e39ce22b91410436fcdb071"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a5ba3c16d2e39ce22b91410436fcdb071">BOP_NOT</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_a088b6bac8fa5db969159eeaa61dcac98aeb31dadf232325f6d425f9951b6d4f50"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98aeb31dadf232325f6d425f9951b6d4f50">VM_REGAN_SP</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00108">vm_insnhelper.h:108</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48af83482a89143c5b61ce9ae19e306b761"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48af83482a89143c5b61ce9ae19e306b761">BOP_GT</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_ade4ace78b27f5ceccade6e2e29404c48a234b86bd36a499b3fde775c6f4034108"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a234b86bd36a499b3fde775c6f4034108">BOP_LAST_</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00061">vm_insnhelper.h:61</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48aaff69f84b8f4d5b7346c78e0f2778c8c"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48aaff69f84b8f4d5b7346c78e0f2778c8c">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="ruby_8c_html_ad1447518f4372828b8435ae82e48499e"><div class="ttname"><a href="../../df/d77/ruby_8c.html#ad1447518f4372828b8435ae82e48499e">argc</a></div><div class="ttdeci">int argc</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d77/ruby_8c_source.html#l00131">ruby.c:131</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_a088b6bac8fa5db969159eeaa61dcac98a1a15e09da11fd872972a55fbc37d707b"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a1a15e09da11fd872972a55fbc37d707b">VM_REGAN_SELF</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00111">vm_insnhelper.h:111</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48add83c91d4e66ad10f6b9ca98e597b92e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48add83c91d4e66ad10f6b9ca98e597b92e">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_a088b6bac8fa5db969159eeaa61dcac98a324aedc419fb8e20706ef4847be82310"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a324aedc419fb8e20706ef4847be82310">VM_REGAN_CFP</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00110">vm_insnhelper.h:110</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_af427f98bf786d39129fb5249295b20cd"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#af427f98bf786d39129fb5249295b20cd">ruby_vm_redefined_flag</a></div><div class="ttdeci">short ruby_vm_redefined_flag[BOP_LAST_]</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de9/vm_8c_source.html#l00103">vm.c:103</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a4a1c0c602c1b3432b1cfcfe3cda3237d"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a4a1c0c602c1b3432b1cfcfe3cda3237d">BOP_NEQ</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00057">vm_insnhelper.h:57</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_ade4ace78b27f5ceccade6e2e29404c48acd03b5dc02e1e405638b81c67bcd382f"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48acd03b5dc02e1e405638b81c67bcd382f">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_a088b6bac8fa5db969159eeaa61dcac98a29b790ba60eaeb1b37a8342c6869eb6e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a29b790ba60eaeb1b37a8342c6869eb6e">VM_REGAN_ISEQ</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00112">vm_insnhelper.h:112</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a28f5d44eeee8c05fdc16b3d4172ae3b6"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a28f5d44eeee8c05fdc16b3d4172ae3b6">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_ade4ace78b27f5ceccade6e2e29404c48ad1f8beb5fc60f2f86aeefede91b7d5d4"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48ad1f8beb5fc60f2f86aeefede91b7d5d4">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="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a75fa2de9c3bd1633a0d72d02bd963b6e"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a75fa2de9c3bd1633a0d72d02bd963b6e">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_ab696cce7cff9adeda253f6b795512532"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ab696cce7cff9adeda253f6b795512532">make_no_method_exception</a></div><div class="ttdeci">static VALUE make_no_method_exception(VALUE exc, const char *format, VALUE obj, int argc, const VALUE *argv)</div></div> <div class="ttc" id="vm__insnhelper_8h_html_a088b6bac8fa5db969159eeaa61dcac98a9578d31f4bc59dde24d896682a4705ab"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98a9578d31f4bc59dde24d896682a4705ab">VM_REGAN_EP</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00109">vm_insnhelper.h:109</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_a0cb65992490641127b73ffb33d7ad116"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116">vm_regan_acttype</a></div><div class="ttdeci">vm_regan_acttype</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00114">vm_insnhelper.h:114</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a992b61382c3787fb5b742f702b9dc26b"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a992b61382c3787fb5b742f702b9dc26b">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_a088b6bac8fa5db969159eeaa61dcac98ae7ef29c87def668e87743541dc31a26c"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a088b6bac8fa5db969159eeaa61dcac98ae7ef29c87def668e87743541dc31a26c">VM_REGAN_PC</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00107">vm_insnhelper.h:107</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_a0cb65992490641127b73ffb33d7ad116ab45028847abeb4f60790e9bc07fba414"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#a0cb65992490641127b73ffb33d7ad116ab45028847abeb4f60790e9bc07fba414">VM_REGAN_ACT_GET</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d5f/vm__insnhelper_8h_source.html#l00115">vm_insnhelper.h:115</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#l00102">vm.c:102</a></div></div> <div class="ttc" id="vm__insnhelper_8h_html_ade4ace78b27f5ceccade6e2e29404c48a3ee56fcb9daaaff8a0e7eed13a775cb3"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a3ee56fcb9daaaff8a0e7eed13a775cb3">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_ade4ace78b27f5ceccade6e2e29404c48a062f483ea306ef93f5436083b17225f7"><div class="ttname"><a href="../../d2/d5f/vm__insnhelper_8h.html#ade4ace78b27f5ceccade6e2e29404c48a062f483ea306ef93f5436083b17225f7">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="ruby_8c_html_af2efa898e9eed6fe6715279cb1ec35b0"><div class="ttname"><a href="../../df/d77/ruby_8c.html#af2efa898e9eed6fe6715279cb1ec35b0">argv</a></div><div class="ttdeci">char ** argv</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d77/ruby_8c_source.html#l00132">ruby.c:132</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>