mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-20 22:29:16 +02:00
246 lines
47 KiB
HTML
246 lines
47 KiB
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.13"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Cyclone Scheme: gc.c 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="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Cyclone Scheme
|
|
 <span id="projectnumber">0.4</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.13 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
</div><!-- 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.c File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><code>#include <ck_array.h></code><br />
|
|
<code>#include <ck_pr.h></code><br />
|
|
<code>#include "<a class="el" href="types_8h_source.html">cyclone/types.h</a>"</code><br />
|
|
<code>#include <stdint.h></code><br />
|
|
<code>#include <time.h></code><br />
|
|
</div><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:aaadcbfc1097af52c1820459c56a5682e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_aaadcbfc1097af52c1820459c56a5682e.html#aaadcbfc1097af52c1820459c56a5682e">gc_align</a>(n, bits)   (((n)+(1<<(bits))-1)&(((uintptr_t)-1)-((1<<(bits))-1)))</td></tr>
|
|
<tr class="separator:aaadcbfc1097af52c1820459c56a5682e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a098c8f133063f61acf0ea4f61e02f759"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a098c8f133063f61acf0ea4f61e02f759.html#a098c8f133063f61acf0ea4f61e02f759">gc_collector_mark_gray</a>(parent, gobj)</td></tr>
|
|
<tr class="memdesc:a098c8f133063f61acf0ea4f61e02f759"><td class="mdescLeft"> </td><td class="mdescRight">"Color" objects gray by adding them to the mark stack for further processing. <a href="gc_8c_a098c8f133063f61acf0ea4f61e02f759.html#a098c8f133063f61acf0ea4f61e02f759">More...</a><br /></td></tr>
|
|
<tr class="separator:a098c8f133063f61acf0ea4f61e02f759"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa4acc565d76fb74488e23f45d762aada"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_aa4acc565d76fb74488e23f45d762aada.html#aa4acc565d76fb74488e23f45d762aada">gc_free_chunk_size</a>   (sizeof(<a class="el" href="group__gc__major_gafcdb2c9fc0d53c3b0971b6fe85916858.html#gafcdb2c9fc0d53c3b0971b6fe85916858">gc_free_list</a>))</td></tr>
|
|
<tr class="separator:aa4acc565d76fb74488e23f45d762aada"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8a23f461bddb011176f88973fe68ef8a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a8a23f461bddb011176f88973fe68ef8a.html#a8a23f461bddb011176f88973fe68ef8a">gc_heap_align</a>(n)   <a class="el" href="gc_8c_aaadcbfc1097af52c1820459c56a5682e.html#aaadcbfc1097af52c1820459c56a5682e">gc_align</a>(n, 5)</td></tr>
|
|
<tr class="separator:a8a23f461bddb011176f88973fe68ef8a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaf4dff9f8ddf206982cfb0478f6cad86"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_aaf4dff9f8ddf206982cfb0478f6cad86.html#aaf4dff9f8ddf206982cfb0478f6cad86">gc_heap_end</a>(h)   ((<a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a>)((char*)h->data + h->size))</td></tr>
|
|
<tr class="separator:aaf4dff9f8ddf206982cfb0478f6cad86"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad87edea22c1cba9beebb70ca62dc17bf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_ad87edea22c1cba9beebb70ca62dc17bf.html#ad87edea22c1cba9beebb70ca62dc17bf">gc_heap_first_block</a>(h)   ((<a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a>)(h->data + <a class="el" href="gc_8c_a8a23f461bddb011176f88973fe68ef8a.html#a8a23f461bddb011176f88973fe68ef8a">gc_heap_align</a>(<a class="el" href="gc_8c_aa4acc565d76fb74488e23f45d762aada.html#aa4acc565d76fb74488e23f45d762aada">gc_free_chunk_size</a>)))</td></tr>
|
|
<tr class="separator:ad87edea22c1cba9beebb70ca62dc17bf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0694b4391145f3e5aac7c12e7d42c16c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a0694b4391145f3e5aac7c12e7d42c16c.html#a0694b4391145f3e5aac7c12e7d42c16c">gc_heap_last_block</a>(h)   ((<a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a>)((char*)h->data + h->size - <a class="el" href="gc_8c_a8a23f461bddb011176f88973fe68ef8a.html#a8a23f461bddb011176f88973fe68ef8a">gc_heap_align</a>(<a class="el" href="gc_8c_aa4acc565d76fb74488e23f45d762aada.html#aa4acc565d76fb74488e23f45d762aada">gc_free_chunk_size</a>)))</td></tr>
|
|
<tr class="separator:a0694b4391145f3e5aac7c12e7d42c16c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a78b7bfab29a50206bfe75ff070e65749"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a78b7bfab29a50206bfe75ff070e65749.html#a78b7bfab29a50206bfe75ff070e65749">gc_heap_pad_size</a>(s)   (sizeof(struct <a class="el" href="structgc__heap__t.html">gc_heap_t</a>) + (s) + <a class="el" href="gc_8c_a8a23f461bddb011176f88973fe68ef8a.html#a8a23f461bddb011176f88973fe68ef8a">gc_heap_align</a>(1))</td></tr>
|
|
<tr class="separator:a78b7bfab29a50206bfe75ff070e65749"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a726f6a7a6d07b58bbca64258fd1358e4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a726f6a7a6d07b58bbca64258fd1358e4.html#a726f6a7a6d07b58bbca64258fd1358e4">gc_mark_black</a>(obj)</td></tr>
|
|
<tr class="separator:a726f6a7a6d07b58bbca64258fd1358e4"><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:ab38f9f6afa83d20b2d0957e276b044a7"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_ab38f9f6afa83d20b2d0957e276b044a7.html#ab38f9f6afa83d20b2d0957e276b044a7">collector_main</a> (void *arg)</td></tr>
|
|
<tr class="separator:ab38f9f6afa83d20b2d0957e276b044a7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acbfb210eb1275ad8c29b9937862eede5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_acbfb210eb1275ad8c29b9937862eede5.html#acbfb210eb1275ad8c29b9937862eede5">Cyc_apply_from_buf</a> (void *data, int argc, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> <a class="el" href="group__objects_gaa40e3f8a1b55c81a3063a5e7e373b6de.html#gaa40e3f8a1b55c81a3063a5e7e373b6de">prim</a>, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> *buf)</td></tr>
|
|
<tr class="separator:acbfb210eb1275ad8c29b9937862eede5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5ed330ac347699255d102945660d030b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a5ed330ac347699255d102945660d030b.html#a5ed330ac347699255d102945660d030b">debug_dump_globals</a> ()</td></tr>
|
|
<tr class="separator:a5ed330ac347699255d102945660d030b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadd82bcff4895bd4ca335a45109597102"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gadd82bcff4895bd4ca335a45109597102.html#gadd82bcff4895bd4ca335a45109597102">gc_add_mutator</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:gadd82bcff4895bd4ca335a45109597102"><td class="mdescLeft"> </td><td class="mdescRight">Add data for a new mutator. <a href="group__gc__major_gadd82bcff4895bd4ca335a45109597102.html#gadd82bcff4895bd4ca335a45109597102">More...</a><br /></td></tr>
|
|
<tr class="separator:gadd82bcff4895bd4ca335a45109597102"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga976021ebdbed6eb538d78c744c1ef931"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga976021ebdbed6eb538d78c744c1ef931.html#ga976021ebdbed6eb538d78c744c1ef931">gc_alloc</a> (<a class="el" href="group__gc__major_ga61dd942ed84e904a5c297fdc57fd4d7a.html#ga61dd942ed84e904a5c297fdc57fd4d7a">gc_heap_root</a> *hrt, size_t size, char *obj, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, int *heap_grown)</td></tr>
|
|
<tr class="memdesc:ga976021ebdbed6eb538d78c744c1ef931"><td class="mdescLeft"> </td><td class="mdescRight">Allocate memory on the heap for an object. <a href="group__gc__major_ga976021ebdbed6eb538d78c744c1ef931.html#ga976021ebdbed6eb538d78c744c1ef931">More...</a><br /></td></tr>
|
|
<tr class="separator:ga976021ebdbed6eb538d78c744c1ef931"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaec0fd25a5b345b9ad50842b08bed4027"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gaec0fd25a5b345b9ad50842b08bed4027.html#gaec0fd25a5b345b9ad50842b08bed4027">gc_alloc_bignum</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *data)</td></tr>
|
|
<tr class="memdesc:gaec0fd25a5b345b9ad50842b08bed4027"><td class="mdescLeft"> </td><td class="mdescRight">A convenience function for allocating bignums. <a href="group__gc__major_gaec0fd25a5b345b9ad50842b08bed4027.html#gaec0fd25a5b345b9ad50842b08bed4027">More...</a><br /></td></tr>
|
|
<tr class="separator:gaec0fd25a5b345b9ad50842b08bed4027"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9f542dda06a1a342304c570baf6347a0"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a9f542dda06a1a342304c570baf6347a0.html#a9f542dda06a1a342304c570baf6347a0">gc_alloc_from_bignum</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *data, <a class="el" href="structbignum__type.html">bignum_type</a> *src)</td></tr>
|
|
<tr class="memdesc:a9f542dda06a1a342304c570baf6347a0"><td class="mdescLeft"> </td><td class="mdescRight">A helper function to create a heap-allocated copy of a bignum. <a href="gc_8c_a9f542dda06a1a342304c570baf6347a0.html#a9f542dda06a1a342304c570baf6347a0">More...</a><br /></td></tr>
|
|
<tr class="separator:a9f542dda06a1a342304c570baf6347a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2f62288e6f57fe9fbff4bae5bd782e44"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga2f62288e6f57fe9fbff4bae5bd782e44.html#ga2f62288e6f57fe9fbff4bae5bd782e44">gc_allocated_bytes</a> (<a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> obj, <a class="el" href="group__gc__major_gafcdb2c9fc0d53c3b0971b6fe85916858.html#gafcdb2c9fc0d53c3b0971b6fe85916858">gc_free_list</a> *q, <a class="el" href="group__gc__major_gafcdb2c9fc0d53c3b0971b6fe85916858.html#gafcdb2c9fc0d53c3b0971b6fe85916858">gc_free_list</a> *r)</td></tr>
|
|
<tr class="memdesc:ga2f62288e6f57fe9fbff4bae5bd782e44"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of bytes that will be allocated for <code>obj</code>. <a href="group__gc__major_ga2f62288e6f57fe9fbff4bae5bd782e44.html#ga2f62288e6f57fe9fbff4bae5bd782e44">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2f62288e6f57fe9fbff4bae5bd782e44"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad8f6f6f44acdb47b0ef6451f9822377e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_ad8f6f6f44acdb47b0ef6451f9822377e.html#ad8f6f6f44acdb47b0ef6451f9822377e">gc_collector</a> ()</td></tr>
|
|
<tr class="memdesc:ad8f6f6f44acdb47b0ef6451f9822377e"><td class="mdescLeft"> </td><td class="mdescRight">Main collector function. <a href="gc_8c_ad8f6f6f44acdb47b0ef6451f9822377e.html#ad8f6f6f44acdb47b0ef6451f9822377e">More...</a><br /></td></tr>
|
|
<tr class="separator:ad8f6f6f44acdb47b0ef6451f9822377e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab08135ec4278369570fa94a56283bbb1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_ab08135ec4278369570fa94a56283bbb1.html#ab08135ec4278369570fa94a56283bbb1">gc_collector_sweep</a> ()</td></tr>
|
|
<tr class="memdesc:ab08135ec4278369570fa94a56283bbb1"><td class="mdescLeft"> </td><td class="mdescRight">A convenient front-end to the actual gc_sweep function. <a href="gc_8c_ab08135ec4278369570fa94a56283bbb1.html#ab08135ec4278369570fa94a56283bbb1">More...</a><br /></td></tr>
|
|
<tr class="separator:ab08135ec4278369570fa94a56283bbb1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadd73c9a0b9b1112d6d941dee642893e7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gadd73c9a0b9b1112d6d941dee642893e7.html#gadd73c9a0b9b1112d6d941dee642893e7">gc_collector_trace</a> ()</td></tr>
|
|
<tr class="memdesc:gadd73c9a0b9b1112d6d941dee642893e7"><td class="mdescLeft"> </td><td class="mdescRight">The collector's tracing algorithm. <a href="group__gc__major_gadd73c9a0b9b1112d6d941dee642893e7.html#gadd73c9a0b9b1112d6d941dee642893e7">More...</a><br /></td></tr>
|
|
<tr class="separator:gadd73c9a0b9b1112d6d941dee642893e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga15186c504a0fb0727cd7d405b0b2d9a5"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga15186c504a0fb0727cd7d405b0b2d9a5.html#ga15186c504a0fb0727cd7d405b0b2d9a5">gc_copy_obj</a> (<a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> dest, char *obj, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:ga15186c504a0fb0727cd7d405b0b2d9a5"><td class="mdescLeft"> </td><td class="mdescRight">Copy given object into given heap object. <a href="group__gc__major_ga15186c504a0fb0727cd7d405b0b2d9a5.html#ga15186c504a0fb0727cd7d405b0b2d9a5">More...</a><br /></td></tr>
|
|
<tr class="separator:ga15186c504a0fb0727cd7d405b0b2d9a5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4c76104f4bb633c0594334508f8a19b1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga4c76104f4bb633c0594334508f8a19b1.html#ga4c76104f4bb633c0594334508f8a19b1">gc_empty_collector_stack</a> ()</td></tr>
|
|
<tr class="memdesc:ga4c76104f4bb633c0594334508f8a19b1"><td class="mdescLeft"> </td><td class="mdescRight">Empty the collector's mark stack. <a href="group__gc__major_ga4c76104f4bb633c0594334508f8a19b1.html#ga4c76104f4bb633c0594334508f8a19b1">More...</a><br /></td></tr>
|
|
<tr class="separator:ga4c76104f4bb633c0594334508f8a19b1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a474b19188d154daf757fbe51ba078f4d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a474b19188d154daf757fbe51ba078f4d.html#a474b19188d154daf757fbe51ba078f4d">gc_free_old_thread_data</a> ()</td></tr>
|
|
<tr class="memdesc:a474b19188d154daf757fbe51ba078f4d"><td class="mdescLeft"> </td><td class="mdescRight">Free thread data for all terminated mutators. <a href="gc_8c_a474b19188d154daf757fbe51ba078f4d.html#a474b19188d154daf757fbe51ba078f4d">More...</a><br /></td></tr>
|
|
<tr class="separator:a474b19188d154daf757fbe51ba078f4d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gacc34220240fa78aaed5482565c8952e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gacc34220240fa78aaed5482565c8952e6.html#gacc34220240fa78aaed5482565c8952e6">gc_grow_heap</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h, int heap_type, size_t size, size_t chunk_size, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:gacc34220240fa78aaed5482565c8952e6"><td class="mdescLeft"> </td><td class="mdescRight">Grow a heap by allocating a new page. <a href="group__gc__major_gacc34220240fa78aaed5482565c8952e6.html#gacc34220240fa78aaed5482565c8952e6">More...</a><br /></td></tr>
|
|
<tr class="separator:gacc34220240fa78aaed5482565c8952e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga20cf7c4fac92c3cb1adb025813ea2a99"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga20cf7c4fac92c3cb1adb025813ea2a99.html#ga20cf7c4fac92c3cb1adb025813ea2a99">gc_handshake</a> (<a class="el" href="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e.html#ga75b3fd7dd320d8524d0dcad79cc1eb1e">gc_status_type</a> s)</td></tr>
|
|
<tr class="memdesc:ga20cf7c4fac92c3cb1adb025813ea2a99"><td class="mdescLeft"> </td><td class="mdescRight">Called by the collector thread to perform a handshake with all of the mutators. <a href="group__gc__major_ga20cf7c4fac92c3cb1adb025813ea2a99.html#ga20cf7c4fac92c3cb1adb025813ea2a99">More...</a><br /></td></tr>
|
|
<tr class="separator:ga20cf7c4fac92c3cb1adb025813ea2a99"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga977b02989cc5091ac256ca154f5e78ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga977b02989cc5091ac256ca154f5e78ee.html#ga977b02989cc5091ac256ca154f5e78ee">gc_heap_create</a> (int heap_type, size_t size, size_t max_size, size_t chunk_size, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:ga977b02989cc5091ac256ca154f5e78ee"><td class="mdescLeft"> </td><td class="mdescRight">Create a new heap page. The caller must hold the necessary locks. <a href="group__gc__major_ga977b02989cc5091ac256ca154f5e78ee.html#ga977b02989cc5091ac256ca154f5e78ee">More...</a><br /></td></tr>
|
|
<tr class="separator:ga977b02989cc5091ac256ca154f5e78ee"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gab4c9dba3c0f373c7a74e89e35b919fe8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gab4c9dba3c0f373c7a74e89e35b919fe8.html#gab4c9dba3c0f373c7a74e89e35b919fe8">gc_heap_free</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *page, <a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *prev_page)</td></tr>
|
|
<tr class="memdesc:gab4c9dba3c0f373c7a74e89e35b919fe8"><td class="mdescLeft"> </td><td class="mdescRight">Free a page of the heap. <a href="group__gc__major_gab4c9dba3c0f373c7a74e89e35b919fe8.html#gab4c9dba3c0f373c7a74e89e35b919fe8">More...</a><br /></td></tr>
|
|
<tr class="separator:gab4c9dba3c0f373c7a74e89e35b919fe8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7f1dfa939185ca0cf6d194c991000185"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga7f1dfa939185ca0cf6d194c991000185.html#ga7f1dfa939185ca0cf6d194c991000185">gc_heap_last</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h)</td></tr>
|
|
<tr class="memdesc:ga7f1dfa939185ca0cf6d194c991000185"><td class="mdescLeft"> </td><td class="mdescRight">Get the heap's last page. <a href="group__gc__major_ga7f1dfa939185ca0cf6d194c991000185.html#ga7f1dfa939185ca0cf6d194c991000185">More...</a><br /></td></tr>
|
|
<tr class="separator:ga7f1dfa939185ca0cf6d194c991000185"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gabebf61106ee21a438dcb21fc8a9fb05b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gabebf61106ee21a438dcb21fc8a9fb05b.html#gabebf61106ee21a438dcb21fc8a9fb05b">gc_heap_merge</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *hdest, <a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *hsrc)</td></tr>
|
|
<tr class="memdesc:gabebf61106ee21a438dcb21fc8a9fb05b"><td class="mdescLeft"> </td><td class="mdescRight">Merge one heap into another. <a href="group__gc__major_gabebf61106ee21a438dcb21fc8a9fb05b.html#gabebf61106ee21a438dcb21fc8a9fb05b">More...</a><br /></td></tr>
|
|
<tr class="separator:gabebf61106ee21a438dcb21fc8a9fb05b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga21e9a50a7de06a81cbcc934bd8e4809c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga21e9a50a7de06a81cbcc934bd8e4809c.html#ga21e9a50a7de06a81cbcc934bd8e4809c">gc_initialize</a> (void)</td></tr>
|
|
<tr class="memdesc:ga21e9a50a7de06a81cbcc934bd8e4809c"><td class="mdescLeft"> </td><td class="mdescRight">Perform one-time initialization before mutators can be executed. <a href="group__gc__major_ga21e9a50a7de06a81cbcc934bd8e4809c.html#ga21e9a50a7de06a81cbcc934bd8e4809c">More...</a><br /></td></tr>
|
|
<tr class="separator:ga21e9a50a7de06a81cbcc934bd8e4809c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afd0f39f1b19d4c634b807a97079be4fd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_afd0f39f1b19d4c634b807a97079be4fd.html#afd0f39f1b19d4c634b807a97079be4fd">gc_is_heap_empty</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h)</td></tr>
|
|
<tr class="memdesc:afd0f39f1b19d4c634b807a97079be4fd"><td class="mdescLeft"> </td><td class="mdescRight">Determine if a heap page is empty. <a href="gc_8c_afd0f39f1b19d4c634b807a97079be4fd.html#afd0f39f1b19d4c634b807a97079be4fd">More...</a><br /></td></tr>
|
|
<tr class="separator:afd0f39f1b19d4c634b807a97079be4fd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6490c2be516744d1cdc225b9ef2688ca"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga6490c2be516744d1cdc225b9ef2688ca.html#ga6490c2be516744d1cdc225b9ef2688ca">gc_is_stack_obj</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> obj)</td></tr>
|
|
<tr class="memdesc:ga6490c2be516744d1cdc225b9ef2688ca"><td class="mdescLeft"> </td><td class="mdescRight">Determine if object lives on the thread's stack. <a href="group__gc__major_ga6490c2be516744d1cdc225b9ef2688ca.html#ga6490c2be516744d1cdc225b9ef2688ca">More...</a><br /></td></tr>
|
|
<tr class="separator:ga6490c2be516744d1cdc225b9ef2688ca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gabbaa9e82df175595165b5309ffb360b5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gabbaa9e82df175595165b5309ffb360b5.html#gabbaa9e82df175595165b5309ffb360b5">gc_mark_globals</a> (<a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> globals, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> <a class="el" href="group__prim__glo_gac52bad1e086d5f0dc519027ea19f32c4.html#gac52bad1e086d5f0dc519027ea19f32c4">global_table</a>)</td></tr>
|
|
<tr class="memdesc:gabbaa9e82df175595165b5309ffb360b5"><td class="mdescLeft"> </td><td class="mdescRight">Mark globals as part of the tracing collector. <a href="group__gc__major_gabbaa9e82df175595165b5309ffb360b5.html#gabbaa9e82df175595165b5309ffb360b5">More...</a><br /></td></tr>
|
|
<tr class="separator:gabbaa9e82df175595165b5309ffb360b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa8776e5cc0c3bf309c76dc61f0c7f838"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gaa8776e5cc0c3bf309c76dc61f0c7f838.html#gaa8776e5cc0c3bf309c76dc61f0c7f838">gc_mark_gray</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> obj)</td></tr>
|
|
<tr class="memdesc:gaa8776e5cc0c3bf309c76dc61f0c7f838"><td class="mdescLeft"> </td><td class="mdescRight">Mark the given object gray if it is on the heap. <a href="group__gc__major_gaa8776e5cc0c3bf309c76dc61f0c7f838.html#gaa8776e5cc0c3bf309c76dc61f0c7f838">More...</a><br /></td></tr>
|
|
<tr class="separator:gaa8776e5cc0c3bf309c76dc61f0c7f838"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7fac46df80136375f0aabd3af30a8874"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga7fac46df80136375f0aabd3af30a8874.html#ga7fac46df80136375f0aabd3af30a8874">gc_mark_gray2</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> obj)</td></tr>
|
|
<tr class="memdesc:ga7fac46df80136375f0aabd3af30a8874"><td class="mdescLeft"> </td><td class="mdescRight">Add a pending write to the mark buffer. <a href="group__gc__major_ga7fac46df80136375f0aabd3af30a8874.html#ga7fac46df80136375f0aabd3af30a8874">More...</a><br /></td></tr>
|
|
<tr class="separator:ga7fac46df80136375f0aabd3af30a8874"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2031d7ff5d1678d2aa7954c5fa3b989e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga2031d7ff5d1678d2aa7954c5fa3b989e.html#ga2031d7ff5d1678d2aa7954c5fa3b989e">gc_merge_all_heaps</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *dest, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *src)</td></tr>
|
|
<tr class="memdesc:ga2031d7ff5d1678d2aa7954c5fa3b989e"><td class="mdescLeft"> </td><td class="mdescRight">Merge all thread heaps into another. <a href="group__gc__major_ga2031d7ff5d1678d2aa7954c5fa3b989e.html#ga2031d7ff5d1678d2aa7954c5fa3b989e">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2031d7ff5d1678d2aa7954c5fa3b989e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6a88578b8802b9bca9f56e0ccfdff435"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga6a88578b8802b9bca9f56e0ccfdff435.html#ga6a88578b8802b9bca9f56e0ccfdff435">gc_mut_cooperate</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, int buf_len)</td></tr>
|
|
<tr class="memdesc:ga6a88578b8802b9bca9f56e0ccfdff435"><td class="mdescLeft"> </td><td class="mdescRight">Called by a mutator to cooperate with the collector thread. <a href="group__gc__major_ga6a88578b8802b9bca9f56e0ccfdff435.html#ga6a88578b8802b9bca9f56e0ccfdff435">More...</a><br /></td></tr>
|
|
<tr class="separator:ga6a88578b8802b9bca9f56e0ccfdff435"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa1745070eb682d926f656f3017ccedda"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gaa1745070eb682d926f656f3017ccedda.html#gaa1745070eb682d926f656f3017ccedda">gc_mut_update</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> old_obj, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> value)</td></tr>
|
|
<tr class="memdesc:gaa1745070eb682d926f656f3017ccedda"><td class="mdescLeft"> </td><td class="mdescRight">Write barrier for updates to heap-allocated objects. <a href="group__gc__major_gaa1745070eb682d926f656f3017ccedda.html#gaa1745070eb682d926f656f3017ccedda">More...</a><br /></td></tr>
|
|
<tr class="separator:gaa1745070eb682d926f656f3017ccedda"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadf94b852782bd0108138e3b97fc1113b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gadf94b852782bd0108138e3b97fc1113b.html#gadf94b852782bd0108138e3b97fc1113b">gc_mutator_thread_blocked</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> cont)</td></tr>
|
|
<tr class="memdesc:gadf94b852782bd0108138e3b97fc1113b"><td class="mdescLeft"> </td><td class="mdescRight">Called explicitly from a mutator thread to let the collector know it (may) block for an unknown period of time. <a href="group__gc__major_gadf94b852782bd0108138e3b97fc1113b.html#gadf94b852782bd0108138e3b97fc1113b">More...</a><br /></td></tr>
|
|
<tr class="separator:gadf94b852782bd0108138e3b97fc1113b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gae43e9fb0564edc5ecf489ead57731d52"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gae43e9fb0564edc5ecf489ead57731d52.html#gae43e9fb0564edc5ecf489ead57731d52">gc_mutator_thread_runnable</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> result)</td></tr>
|
|
<tr class="memdesc:gae43e9fb0564edc5ecf489ead57731d52"><td class="mdescLeft"> </td><td class="mdescRight">Called explicitly from a mutator thread to let the collector know that it has finished blocking. <a href="group__gc__major_gae43e9fb0564edc5ecf489ead57731d52.html#gae43e9fb0564edc5ecf489ead57731d52">More...</a><br /></td></tr>
|
|
<tr class="separator:gae43e9fb0564edc5ecf489ead57731d52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga63112677a59a58464bc08d5ef2a91c6c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga63112677a59a58464bc08d5ef2a91c6c.html#ga63112677a59a58464bc08d5ef2a91c6c">gc_post_handshake</a> (<a class="el" href="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e.html#ga75b3fd7dd320d8524d0dcad79cc1eb1e">gc_status_type</a> s)</td></tr>
|
|
<tr class="memdesc:ga63112677a59a58464bc08d5ef2a91c6c"><td class="mdescLeft"> </td><td class="mdescRight">Change GC status to the given type. <a href="group__gc__major_ga63112677a59a58464bc08d5ef2a91c6c.html#ga63112677a59a58464bc08d5ef2a91c6c">More...</a><br /></td></tr>
|
|
<tr class="separator:ga63112677a59a58464bc08d5ef2a91c6c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2118e3b31300a7ddcd96c95e218f862e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga2118e3b31300a7ddcd96c95e218f862e.html#ga2118e3b31300a7ddcd96c95e218f862e">gc_print_stats</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h)</td></tr>
|
|
<tr class="memdesc:ga2118e3b31300a7ddcd96c95e218f862e"><td class="mdescLeft"> </td><td class="mdescRight">Print heap usage information. Before calling this function the current thread must have the heap lock. <a href="group__gc__major_ga2118e3b31300a7ddcd96c95e218f862e.html#ga2118e3b31300a7ddcd96c95e218f862e">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2118e3b31300a7ddcd96c95e218f862e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1091a8b18fc274af25f5155e3bf7a1ff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga1091a8b18fc274af25f5155e3bf7a1ff.html#ga1091a8b18fc274af25f5155e3bf7a1ff">gc_remove_mutator</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:ga1091a8b18fc274af25f5155e3bf7a1ff"><td class="mdescLeft"> </td><td class="mdescRight">Remove selected mutator from the mutator list. This is done for terminated threads. Note data is queued to be freed, to prevent accidentally freeing it while the collector thread is potentially accessing it. <a href="group__gc__major_ga1091a8b18fc274af25f5155e3bf7a1ff.html#ga1091a8b18fc274af25f5155e3bf7a1ff">More...</a><br /></td></tr>
|
|
<tr class="separator:ga1091a8b18fc274af25f5155e3bf7a1ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gacdd780abddd9b089bc19771035890bf5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gacdd780abddd9b089bc19771035890bf5.html#gacdd780abddd9b089bc19771035890bf5">gc_start_collector</a> ()</td></tr>
|
|
<tr class="memdesc:gacdd780abddd9b089bc19771035890bf5"><td class="mdescLeft"> </td><td class="mdescRight">Spawn the collector thread. <a href="group__gc__major_gacdd780abddd9b089bc19771035890bf5.html#gacdd780abddd9b089bc19771035890bf5">More...</a><br /></td></tr>
|
|
<tr class="separator:gacdd780abddd9b089bc19771035890bf5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae989c655a69c574af497e996f27e6cae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_ae989c655a69c574af497e996f27e6cae.html#ae989c655a69c574af497e996f27e6cae">gc_sum_pending_writes</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, int locked)</td></tr>
|
|
<tr class="memdesc:ae989c655a69c574af497e996f27e6cae"><td class="mdescLeft"> </td><td class="mdescRight">Move pending writes to 'last_write'. <a href="gc_8c_ae989c655a69c574af497e996f27e6cae.html#ae989c655a69c574af497e996f27e6cae">More...</a><br /></td></tr>
|
|
<tr class="separator:ae989c655a69c574af497e996f27e6cae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gab19d274a8cfbf5274db73e35f2fb18b5"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gab19d274a8cfbf5274db73e35f2fb18b5.html#gab19d274a8cfbf5274db73e35f2fb18b5">gc_sweep</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h, int heap_type, size_t *sum_freed_ptr, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:gab19d274a8cfbf5274db73e35f2fb18b5"><td class="mdescLeft"> </td><td class="mdescRight">Sweep portion of the GC algorithm. <a href="group__gc__major_gab19d274a8cfbf5274db73e35f2fb18b5.html#gab19d274a8cfbf5274db73e35f2fb18b5">More...</a><br /></td></tr>
|
|
<tr class="separator:gab19d274a8cfbf5274db73e35f2fb18b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga34834cdbd4e4f511ad8e918f0fb2d765"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga34834cdbd4e4f511ad8e918f0fb2d765.html#ga34834cdbd4e4f511ad8e918f0fb2d765">gc_thr_add_to_move_buffer</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *d, int *alloci, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> obj)</td></tr>
|
|
<tr class="memdesc:ga34834cdbd4e4f511ad8e918f0fb2d765"><td class="mdescLeft"> </td><td class="mdescRight">Add an object to the move buffer. <a href="group__gc__major_ga34834cdbd4e4f511ad8e918f0fb2d765.html#ga34834cdbd4e4f511ad8e918f0fb2d765">More...</a><br /></td></tr>
|
|
<tr class="separator:ga34834cdbd4e4f511ad8e918f0fb2d765"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga46bc54c66f56b0006420ce310c2729c1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga46bc54c66f56b0006420ce310c2729c1.html#ga46bc54c66f56b0006420ce310c2729c1">gc_thr_grow_move_buffer</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *d)</td></tr>
|
|
<tr class="memdesc:ga46bc54c66f56b0006420ce310c2729c1"><td class="mdescLeft"> </td><td class="mdescRight">Increase the size of the mutator's move buffer. <a href="group__gc__major_ga46bc54c66f56b0006420ce310c2729c1.html#ga46bc54c66f56b0006420ce310c2729c1">More...</a><br /></td></tr>
|
|
<tr class="separator:ga46bc54c66f56b0006420ce310c2729c1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gabf9a3adddd986f1f953d4ddc1c795491"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gabf9a3adddd986f1f953d4ddc1c795491.html#gabf9a3adddd986f1f953d4ddc1c795491">gc_thread_data_free</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:gabf9a3adddd986f1f953d4ddc1c795491"><td class="mdescLeft"> </td><td class="mdescRight">Free all data for the given mutator. <a href="group__gc__major_gabf9a3adddd986f1f953d4ddc1c795491.html#gabf9a3adddd986f1f953d4ddc1c795491">More...</a><br /></td></tr>
|
|
<tr class="separator:gabf9a3adddd986f1f953d4ddc1c795491"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9c86247beb6521f42271c87685c41288"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga9c86247beb6521f42271c87685c41288.html#ga9c86247beb6521f42271c87685c41288">gc_thread_data_init</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd, int mut_num, char *stack_base, long stack_size)</td></tr>
|
|
<tr class="memdesc:ga9c86247beb6521f42271c87685c41288"><td class="mdescLeft"> </td><td class="mdescRight">Initialize runtime data structures for a thread. <a href="group__gc__major_ga9c86247beb6521f42271c87685c41288.html#ga9c86247beb6521f42271c87685c41288">More...</a><br /></td></tr>
|
|
<tr class="separator:ga9c86247beb6521f42271c87685c41288"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6934bc689d9c64df40d96fbd4db8cbd7"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga6934bc689d9c64df40d96fbd4db8cbd7.html#ga6934bc689d9c64df40d96fbd4db8cbd7">gc_try_alloc</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h, int heap_type, size_t size, char *obj, <a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:ga6934bc689d9c64df40d96fbd4db8cbd7"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to allocate a new heap slot for the given object. <a href="group__gc__major_ga6934bc689d9c64df40d96fbd4db8cbd7.html#ga6934bc689d9c64df40d96fbd4db8cbd7">More...</a><br /></td></tr>
|
|
<tr class="separator:ga6934bc689d9c64df40d96fbd4db8cbd7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga51690b332091995ffd5c7318f569f934"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga51690b332091995ffd5c7318f569f934.html#ga51690b332091995ffd5c7318f569f934">gc_wait_handshake</a> ()</td></tr>
|
|
<tr class="memdesc:ga51690b332091995ffd5c7318f569f934"><td class="mdescLeft"> </td><td class="mdescRight">Wait for all mutators to handshake. <a href="group__gc__major_ga51690b332091995ffd5c7318f569f934.html#ga51690b332091995ffd5c7318f569f934">More...</a><br /></td></tr>
|
|
<tr class="separator:ga51690b332091995ffd5c7318f569f934"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3fd0cf1889f90874133c0eb94866180c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a3fd0cf1889f90874133c0eb94866180c.html#a3fd0cf1889f90874133c0eb94866180c">gc_zero_read_write_counts</a> (<a class="el" href="group__gc__major_gad107cf5b38c74e2cd84a8159940b6579.html#gad107cf5b38c74e2cd84a8159940b6579">gc_thread_data</a> *thd)</td></tr>
|
|
<tr class="memdesc:a3fd0cf1889f90874133c0eb94866180c"><td class="mdescLeft"> </td><td class="mdescRight">Clear thread data read/write fields. <a href="gc_8c_a3fd0cf1889f90874133c0eb94866180c.html#a3fd0cf1889f90874133c0eb94866180c">More...</a><br /></td></tr>
|
|
<tr class="separator:a3fd0cf1889f90874133c0eb94866180c"><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:a00c70068e04e0c88edd8709db8abcfc2"><td class="memItemLeft" align="right" valign="top">ck_array_t </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a00c70068e04e0c88edd8709db8abcfc2.html#a00c70068e04e0c88edd8709db8abcfc2">Cyc_mutators</a></td></tr>
|
|
<tr class="separator:a00c70068e04e0c88edd8709db8abcfc2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3e7330901306445b76b458a2d43d42e6"><td class="memItemLeft" align="right" valign="top">ck_array_t </td><td class="memItemRight" valign="bottom"><a class="el" href="gc_8c_a3e7330901306445b76b458a2d43d42e6.html#a3e7330901306445b76b458a2d43d42e6">old_mutators</a></td></tr>
|
|
<tr class="separator:a3e7330901306445b76b458a2d43d42e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
</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.13
|
|
</small></address>
|
|
</body>
|
|
</html>
|