📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 05:49:21
📂
/ (Root)
/
opt
/
alt
/
ruby19
/
share
/
doc
/
ruby
/
html
/
d0
/
daa
📍 /opt/alt/ruby19/share/doc/ruby/html/d0/daa
🔄 Refresh
✏️
Editing: gc_8h.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: gc.h File Reference</title> <link href="../../tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="../../jquery.js"></script> <script type="text/javascript" src="../../dynsections.js"></script> <link href="../../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="summary"> <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">gc.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p><a href="../../d0/daa/gc_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a8f3496982ec2b045c65f0681d3f83863"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a8f3496982ec2b045c65f0681d3f83863">SET_MACHINE_STACK_END</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a>)   <a class="el" href="../../d3/de7/thread_8c.html#abc5d1c32095aaacdb337a9b06e214247">rb_gc_set_stack_end</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a>)</td></tr> <tr class="separator:a8f3496982ec2b045c65f0681d3f83863"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab95b99fcdca9dc847cbd3b5aee641f42"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#ab95b99fcdca9dc847cbd3b5aee641f42">USE_CONSERVATIVE_STACK_END</a></td></tr> <tr class="separator:ab95b99fcdca9dc847cbd3b5aee641f42"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d54e18135cdee803077da345cb41b44"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a6d54e18135cdee803077da345cb41b44">RUBY_MARK_FREE_DEBUG</a>   0</td></tr> <tr class="separator:a6d54e18135cdee803077da345cb41b44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2aa4d10eb84bae94811007f68c795fb7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a2aa4d10eb84bae94811007f68c795fb7">RUBY_MARK_ENTER</a>(<a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a>)</td></tr> <tr class="separator:a2aa4d10eb84bae94811007f68c795fb7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a036115d8c044f5c847e760c57b08e5a9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a036115d8c044f5c847e760c57b08e5a9">RUBY_MARK_LEAVE</a>(<a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a>)</td></tr> <tr class="separator:a036115d8c044f5c847e760c57b08e5a9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d959738efb454623a7dad84d728262a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a5d959738efb454623a7dad84d728262a">RUBY_FREE_ENTER</a>(<a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a>)</td></tr> <tr class="separator:a5d959738efb454623a7dad84d728262a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af304d34de3474d75064e0cba170b7bf5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#af304d34de3474d75064e0cba170b7bf5">RUBY_FREE_LEAVE</a>(<a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a>)</td></tr> <tr class="separator:af304d34de3474d75064e0cba170b7bf5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a634fb573223a0ffb428332fc45916fc6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a634fb573223a0ffb428332fc45916fc6">RUBY_GC_INFO</a>   <a class="el" href="../../d2/d99/win32ole_8c.html#a0b353ee5ed67ad8974a850ea3f2a224b">if</a>(0)printf</td></tr> <tr class="separator:a634fb573223a0ffb428332fc45916fc6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afad3c58fae104a867be4305d1f96414a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#afad3c58fae104a867be4305d1f96414a">RUBY_MARK_UNLESS_NULL</a>(ptr)   <a class="el" href="../../d2/d99/win32ole_8c.html#a0b353ee5ed67ad8974a850ea3f2a224b">if</a>(<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a117741045763c090b26e30a85bd0e0a6">RTEST</a>(ptr)){<a class="el" href="../../db/d2e/intern_8h.html#a9cc63a619ac827ce302907081a810324">rb_gc_mark</a>(ptr);}</td></tr> <tr class="separator:afad3c58fae104a867be4305d1f96414a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a904b1cd50d09d6c8ae915c78e425420a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a904b1cd50d09d6c8ae915c78e425420a">RUBY_FREE_UNLESS_NULL</a>(ptr)   <a class="el" href="../../d2/d99/win32ole_8c.html#a0b353ee5ed67ad8974a850ea3f2a224b">if</a>(ptr){<a class="el" href="../../d8/d16/gc_8c.html#a0bffec5b2cc004adcebb6802e7620387">ruby_xfree</a>(ptr);(ptr)=<a class="el" href="../../da/d50/vsnprintf_8c.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;}</td></tr> <tr class="separator:a904b1cd50d09d6c8ae915c78e425420a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad3d42d002019b3e50112ed783cbbf3c4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#ad3d42d002019b3e50112ed783cbbf3c4">stack_growup_p</a>(x)</td></tr> <tr class="separator:ad3d42d002019b3e50112ed783cbbf3c4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad79961092b2737e9102a9bcf9ca2dbed"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#ad79961092b2737e9102a9bcf9ca2dbed">STACK_UPPER</a>(x, a, b)   (<a class="el" href="../../d0/daa/gc_8h.html#ad3d42d002019b3e50112ed783cbbf3c4">stack_growup_p</a>(x) ? (a) : (b))</td></tr> <tr class="separator:ad79961092b2737e9102a9bcf9ca2dbed"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae2c08ef15cfabdb246c9d17ca3b2e239"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#ae2c08ef15cfabdb246c9d17ca3b2e239">STACK_GROW_DIR_DETECTION</a>   <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> stack_grow_dir_detection</td></tr> <tr class="separator:ae2c08ef15cfabdb246c9d17ca3b2e239"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6880597546e9069cad9831dfe5722e36"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a6880597546e9069cad9831dfe5722e36">STACK_DIR_UPPER</a>(a, b)   <a class="el" href="../../d0/daa/gc_8h.html#ad79961092b2737e9102a9bcf9ca2dbed">STACK_UPPER</a>(&stack_grow_dir_detection, (a), (b))</td></tr> <tr class="separator:a6880597546e9069cad9831dfe5722e36"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae4823bd6cedcee35bb41d71b344b0056"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#ae4823bd6cedcee35bb41d71b344b0056">IS_STACK_DIR_UPPER</a>()   <a class="el" href="../../d0/daa/gc_8h.html#a6880597546e9069cad9831dfe5722e36">STACK_DIR_UPPER</a>(1,0)</td></tr> <tr class="separator:ae4823bd6cedcee35bb41d71b344b0056"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a2eeb4dfcf304b87cbb67e07bdd0bbfc6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a2eeb4dfcf304b87cbb67e07bdd0bbfc6">NOINLINE</a> (void <a class="el" href="../../d3/de7/thread_8c.html#abc5d1c32095aaacdb337a9b06e214247">rb_gc_set_stack_end</a>(<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> **stack_end_p))</td></tr> <tr class="separator:a2eeb4dfcf304b87cbb67e07bdd0bbfc6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a903b838cf82db7d3c29b95f0edb5bb04"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a903b838cf82db7d3c29b95f0edb5bb04">ruby_get_stack_grow_direction</a> (volatile <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> *addr)</td></tr> <tr class="separator:a903b838cf82db7d3c29b95f0edb5bb04"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2808ab60a7e7a458c3d440d3e4d34120"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a2808ab60a7e7a458c3d440d3e4d34120">rb_objspace_data_type_memsize</a> (<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> obj)</td></tr> <tr class="separator:a2808ab60a7e7a458c3d440d3e4d34120"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0eb0821589aaeff4cbc54872a2ea85b7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a0eb0821589aaeff4cbc54872a2ea85b7">rb_objspace_each_objects</a> (int(*<a class="el" href="../../d2/d34/closure_8c.html#aae67b2d791319e3a2e38ef8f3eebb1e9">callback</a>)(void *start, void *end, size_t stride, void *data), void *data)</td></tr> <tr class="separator:a0eb0821589aaeff4cbc54872a2ea85b7"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a6c50dfa206fe141dd06bb188e39d184f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d90/missing_8h.html#ae0c8c0314e21908ebdd9fe1098a3ce23">RUBY_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daa/gc_8h.html#a6c50dfa206fe141dd06bb188e39d184f">ruby_stack_grow_direction</a></td></tr> <tr class="separator:a6c50dfa206fe141dd06bb188e39d184f"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="ae4823bd6cedcee35bb41d71b344b0056"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae4823bd6cedcee35bb41d71b344b0056">◆ </a></span>IS_STACK_DIR_UPPER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IS_STACK_DIR_UPPER</td> <td>(</td> <td class="paramname"></td><td>)</td> <td>   <a class="el" href="../../d0/daa/gc_8h.html#a6880597546e9069cad9831dfe5722e36">STACK_DIR_UPPER</a>(1,0)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00084">84</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> <a id="a5d959738efb454623a7dad84d728262a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5d959738efb454623a7dad84d728262a">◆ </a></span>RUBY_FREE_ENTER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_FREE_ENTER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00055">55</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d3/dda/proc_8c_source.html#l00239">binding_free()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00182">cont_free()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l00268">env_free()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00296">fiber_free()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00062">iseq_free()</a>, <a class="el" href="../../d3/dda/proc_8c_source.html#l00038">proc_free()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l01618">ruby_vm_destruct()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01790">thread_free()</a>.</p> </div> </div> <a id="af304d34de3474d75064e0cba170b7bf5"></a> <h2 class="memtitle"><span class="permalink"><a href="#af304d34de3474d75064e0cba170b7bf5">◆ </a></span>RUBY_FREE_LEAVE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_FREE_LEAVE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00056">56</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d3/dda/proc_8c_source.html#l00239">binding_free()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00182">cont_free()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l00268">env_free()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00296">fiber_free()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00062">iseq_free()</a>, <a class="el" href="../../d3/dda/proc_8c_source.html#l00038">proc_free()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l01618">ruby_vm_destruct()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01790">thread_free()</a>.</p> </div> </div> <a id="a904b1cd50d09d6c8ae915c78e425420a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a904b1cd50d09d6c8ae915c78e425420a">◆ </a></span>RUBY_FREE_UNLESS_NULL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_FREE_UNLESS_NULL</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ptr</td><td>)</td> <td>   <a class="el" href="../../d2/d99/win32ole_8c.html#a0b353ee5ed67ad8974a850ea3f2a224b">if</a>(ptr){<a class="el" href="../../d8/d16/gc_8c.html#a0bffec5b2cc004adcebb6802e7620387">ruby_xfree</a>(ptr);(ptr)=<a class="el" href="../../da/d50/vsnprintf_8c.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;}</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00061">61</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d5/d75/cont_8c_source.html#l00182">cont_free()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l00268">env_free()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00062">iseq_free()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01790">thread_free()</a>.</p> </div> </div> <a id="a634fb573223a0ffb428332fc45916fc6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a634fb573223a0ffb428332fc45916fc6">◆ </a></span>RUBY_GC_INFO</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_GC_INFO   <a class="el" href="../../d2/d99/win32ole_8c.html#a0b353ee5ed67ad8974a850ea3f2a224b">if</a>(0)printf</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00057">57</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../de/de9/vm_8c_source.html#l00238">env_mark()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00062">iseq_free()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00094">iseq_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l01581">rb_vm_mark()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01790">thread_free()</a>.</p> </div> </div> <a id="a2aa4d10eb84bae94811007f68c795fb7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2aa4d10eb84bae94811007f68c795fb7">◆ </a></span>RUBY_MARK_ENTER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_MARK_ENTER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00053">53</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d3/dda/proc_8c_source.html#l00251">binding_mark()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00135">cont_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l00238">env_mark()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00263">fiber_mark()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00094">iseq_mark()</a>, <a class="el" href="../../d3/dda/proc_8c_source.html#l00048">proc_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l01723">rb_thread_mark()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01581">rb_vm_mark()</a>.</p> </div> </div> <a id="a6d54e18135cdee803077da345cb41b44"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6d54e18135cdee803077da345cb41b44">◆ </a></span>RUBY_MARK_FREE_DEBUG</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_MARK_FREE_DEBUG   0</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00018">18</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> <a id="a036115d8c044f5c847e760c57b08e5a9"></a> <h2 class="memtitle"><span class="permalink"><a href="#a036115d8c044f5c847e760c57b08e5a9">◆ </a></span>RUBY_MARK_LEAVE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_MARK_LEAVE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d5/d04/strerror_8c.html#ae4f3f55be5de649fd367081b9d1b4b0c">msg</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00054">54</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d3/dda/proc_8c_source.html#l00251">binding_mark()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00135">cont_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l00238">env_mark()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l00263">fiber_mark()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00094">iseq_mark()</a>, <a class="el" href="../../d3/dda/proc_8c_source.html#l00048">proc_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l01723">rb_thread_mark()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01581">rb_vm_mark()</a>.</p> </div> </div> <a id="afad3c58fae104a867be4305d1f96414a"></a> <h2 class="memtitle"><span class="permalink"><a href="#afad3c58fae104a867be4305d1f96414a">◆ </a></span>RUBY_MARK_UNLESS_NULL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define RUBY_MARK_UNLESS_NULL</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ptr</td><td>)</td> <td>   <a class="el" href="../../d2/d99/win32ole_8c.html#a0b353ee5ed67ad8974a850ea3f2a224b">if</a>(<a class="el" href="../../de/de6/ruby_2ruby_8h.html#a117741045763c090b26e30a85bd0e0a6">RTEST</a>(ptr)){<a class="el" href="../../db/d2e/intern_8h.html#a9cc63a619ac827ce302907081a810324">rb_gc_mark</a>(ptr);}</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00060">60</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d3/dda/proc_8c_source.html#l00251">binding_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l00238">env_mark()</a>, <a class="el" href="../../dd/d74/iseq_8c_source.html#l00094">iseq_mark()</a>, <a class="el" href="../../d3/dda/proc_8c_source.html#l00048">proc_mark()</a>, <a class="el" href="../../de/de9/vm_8c_source.html#l01723">rb_thread_mark()</a>, and <a class="el" href="../../de/de9/vm_8c_source.html#l01581">rb_vm_mark()</a>.</p> </div> </div> <a id="a8f3496982ec2b045c65f0681d3f83863"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8f3496982ec2b045c65f0681d3f83863">◆ </a></span>SET_MACHINE_STACK_END</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SET_MACHINE_STACK_END</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a></td><td>)</td> <td>   <a class="el" href="../../d3/de7/thread_8c.html#abc5d1c32095aaacdb337a9b06e214247">rb_gc_set_stack_end</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00011">11</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d5/d75/cont_8c_source.html#l00339">cont_save_machine_stack()</a>, <a class="el" href="../../d5/d75/cont_8c_source.html#l01477">Init_Cont()</a>, and <a class="el" href="../../d8/d16/gc_8c_source.html#l01315">ruby_get_stack_grow_direction()</a>.</p> </div> </div> <a id="a6880597546e9069cad9831dfe5722e36"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6880597546e9069cad9831dfe5722e36">◆ </a></span>STACK_DIR_UPPER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STACK_DIR_UPPER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="../../d0/daa/gc_8h.html#ad79961092b2737e9102a9bcf9ca2dbed">STACK_UPPER</a>(&stack_grow_dir_detection, (a), (b))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00082">82</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> <a id="ae2c08ef15cfabdb246c9d17ca3b2e239"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae2c08ef15cfabdb246c9d17ca3b2e239">◆ </a></span>STACK_GROW_DIR_DETECTION</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STACK_GROW_DIR_DETECTION   <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> stack_grow_dir_detection</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00081">81</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> <a id="ad3d42d002019b3e50112ed783cbbf3c4"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad3d42d002019b3e50112ed783cbbf3c4">◆ </a></span>stack_growup_p</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define stack_growup_p</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">( \</div><div class="line"> (<a class="code" href="../../d0/daa/gc_8h.html#a6c50dfa206fe141dd06bb188e39d184f">ruby_stack_grow_direction</a> ? \</div><div class="line"> ruby_stack_grow_direction : \</div><div class="line"> ruby_get_stack_grow_direction(x)) > 0)</div><div class="ttc" id="gc_8h_html_a6c50dfa206fe141dd06bb188e39d184f"><div class="ttname"><a href="../../d0/daa/gc_8h.html#a6c50dfa206fe141dd06bb188e39d184f">ruby_stack_grow_direction</a></div><div class="ttdeci">RUBY_EXTERN int ruby_stack_grow_direction</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/daa/gc_8h_source.html#l00068">gc.h:68</a></div></div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00070">70</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> <a id="ad79961092b2737e9102a9bcf9ca2dbed"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad79961092b2737e9102a9bcf9ca2dbed">◆ </a></span>STACK_UPPER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STACK_UPPER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (<a class="el" href="../../d0/daa/gc_8h.html#ad3d42d002019b3e50112ed783cbbf3c4">stack_growup_p</a>(x) ? (a) : (b))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00074">74</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d3/d57/eval_8c_source.html#l00112">ruby_cleanup()</a>, and <a class="el" href="../../d8/d16/gc_8c_source.html#l01457">ruby_stack_length()</a>.</p> </div> </div> <a id="ab95b99fcdca9dc847cbd3b5aee641f42"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab95b99fcdca9dc847cbd3b5aee641f42">◆ </a></span>USE_CONSERVATIVE_STACK_END</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define USE_CONSERVATIVE_STACK_END</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00012">12</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a2eeb4dfcf304b87cbb67e07bdd0bbfc6"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2eeb4dfcf304b87cbb67e07bdd0bbfc6">◆ </a></span>NOINLINE()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NOINLINE </td> <td>(</td> <td class="paramtype">void  </td> <td class="paramname"><em>rb_gc_set_stack_end</em>VALUE **stack_end_p</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a2808ab60a7e7a458c3d440d3e4d34120"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2808ab60a7e7a458c3d440d3e4d34120">◆ </a></span>rb_objspace_data_type_memsize()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t rb_objspace_data_type_memsize </td> <td>(</td> <td class="paramtype"><a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d8/d16/gc_8c_source.html#l01273">1273</a> of file <a class="el" href="../../d8/d16/gc_8c_source.html">gc.c</a>.</p> <p class="reference">References <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00799">RTYPEDDATA_DATA</a>, <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00797">RTYPEDDATA_P</a>, and <a class="el" href="../../de/de6/ruby_2ruby_8h_source.html#l00798">RTYPEDDATA_TYPE</a>.</p> </div> </div> <a id="a0eb0821589aaeff4cbc54872a2ea85b7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0eb0821589aaeff4cbc54872a2ea85b7">◆ </a></span>rb_objspace_each_objects()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void rb_objspace_each_objects </td> <td>(</td> <td class="paramtype">int(*)(void *start, void *end, size_t stride, void *data) </td> <td class="paramname"><em>callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a903b838cf82db7d3c29b95f0edb5bb04"></a> <h2 class="memtitle"><span class="permalink"><a href="#a903b838cf82db7d3c29b95f0edb5bb04">◆ </a></span>ruby_get_stack_grow_direction()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ruby_get_stack_grow_direction </td> <td>(</td> <td class="paramtype">volatile <a class="el" href="../../de/de6/ruby_2ruby_8h.html#a3c1d4bfc6a81af60bdcb48744c35f760">VALUE</a> * </td> <td class="paramname"><em>addr</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d8/d16/gc_8c_source.html#l01315">1315</a> of file <a class="el" href="../../d8/d16/gc_8c_source.html">gc.c</a>.</p> <p class="reference">References <a class="el" href="../../d8/d16/gc_8c_source.html#l01313">ruby_stack_grow_direction</a>, and <a class="el" href="../../d0/daa/gc_8h_source.html#l00011">SET_MACHINE_STACK_END</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="a6c50dfa206fe141dd06bb188e39d184f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6c50dfa206fe141dd06bb188e39d184f">◆ </a></span>ruby_stack_grow_direction</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="../../d3/d90/missing_8h.html#ae0c8c0314e21908ebdd9fe1098a3ce23">RUBY_EXTERN</a> int ruby_stack_grow_direction</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d0/daa/gc_8h_source.html#l00068">68</a> of file <a class="el" href="../../d0/daa/gc_8h_source.html">gc.h</a>.</p> </div> </div> </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