mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-06 12:46:35 +02:00
Sync
This commit is contained in:
parent
8e5b2e089a
commit
2d02805420
40 changed files with 447 additions and 44 deletions
|
@ -79,6 +79,7 @@ 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>
|
||||
|
@ -107,29 +108,40 @@ Functions</h2></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>
|
||||
|
@ -138,8 +150,10 @@ Functions</h2></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>
|
||||
|
@ -148,49 +162,70 @@ Functions</h2></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>
|
||||
|
|
|
@ -157,6 +157,16 @@ $(function() {
|
|||
<div class="ttc" id="group__immediates_ga57936aa324ea2422e81e7f3315caf8cc_html_ga57936aa324ea2422e81e7f3315caf8cc"><div class="ttname"><a href="group__immediates_ga57936aa324ea2422e81e7f3315caf8cc.html#ga57936aa324ea2422e81e7f3315caf8cc">is_object_type</a></div><div class="ttdeci">#define is_object_type(x)</div><div class="ttdef"><b>Definition:</b> types.h:490</div></div>
|
||||
<div class="ttc" id="types_8h_a75a7c8dc50900925e39415036f17dae9_html_a75a7c8dc50900925e39415036f17dae9"><div class="ttname"><a href="types_8h_a75a7c8dc50900925e39415036f17dae9.html#a75a7c8dc50900925e39415036f17dae9">vpbuffer_add</a></div><div class="ttdeci">void ** vpbuffer_add(void **buf, int *len, int i, void *obj)</div><div class="ttdef"><b>Definition:</b> runtime.c:5438</div></div>
|
||||
</div><!-- fragment -->
|
||||
<p>"Color" objects gray by adding them to the mark stack for further processing. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">parent</td><td>Parent of object, used for debugging only </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object to mark</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Note that stack objects are always colored red during creation, so they should never be added to the mark stack. Which would be bad because it could lead to stack corruption. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -143,7 +143,14 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Clear thread data read/write fields </p>
|
||||
|
||||
<p>Clear thread data read/write fields. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data object </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -154,6 +154,16 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>A helper function to create a heap-allocated copy of a bignum. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">data</td><td>The mutator's thread data object </td></tr>
|
||||
<tr><td class="paramname">src</td><td>The bignum instance to copy to the heap </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to the heap object </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -143,6 +143,8 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>A convenient front-end to the actual gc_sweep function. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -143,6 +143,8 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Main collector function. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -153,7 +153,15 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Move pending writes to last_write </p>
|
||||
|
||||
<p>Move pending writes to 'last_write'. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data object </td></tr>
|
||||
<tr><td class="paramname">locked</td><td>Does the caller hold the mutator lock? </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -182,20 +182,28 @@ Functions</h2></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> *h, 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: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: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> hp, 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: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>
|
||||
|
@ -204,8 +212,10 @@ Functions</h2></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:ga9c99147eacc49e5afc84c9ecad4e00eb"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga9c99147eacc49e5afc84c9ecad4e00eb.html#ga9c99147eacc49e5afc84c9ecad4e00eb">gc_heap_total_size</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h)</td></tr>
|
||||
<tr class="separator:ga9c99147eacc49e5afc84c9ecad4e00eb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
@ -215,26 +225,37 @@ Functions</h2></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: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>
|
||||
|
@ -242,20 +263,28 @@ Functions</h2></td></tr>
|
|||
<tr class="memitem:gae4b0fc6e4b949f950ecf85d3135bfd9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gae4b0fc6e4b949f950ecf85d3135bfd9a.html#gae4b0fc6e4b949f950ecf85d3135bfd9a">gc_request_mark_globals</a> (void)</td></tr>
|
||||
<tr class="separator:gae4b0fc6e4b949f950ecf85d3135bfd9a"><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: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>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
|
|
|
@ -148,7 +148,7 @@ $(function() {
|
|||
<td class="memname">char* gc_copy_obj </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> </td>
|
||||
<td class="paramname"><em>hp</em>, </td>
|
||||
<td class="paramname"><em>dest</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
|
@ -170,6 +170,18 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Copy given object into given heap object. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">dest</td><td>Pointer to destination heap memory slot </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object to copy </td></tr>
|
||||
<tr><td class="paramname">thd</td><td>Thread data object for the applicable mutator </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The appropriate pointer to use for <code>obj</code></dd></dl>
|
||||
<p>NOTE: There is no additional type checking because this function is called from <code>gc_move</code> which already does that. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -163,7 +163,16 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Merge all thread heaps into another. Assumes appropriate locks are already held. </p>
|
||||
|
||||
<p>Merge all thread heaps into another. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">dest</td><td>Heap receiving new pages </td></tr>
|
||||
<tr><td class="paramname">src</td><td>Heap containing pages to be appended</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Assumes appropriate locks are already held. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -154,6 +154,14 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Called by the collector thread to perform a handshake with all of the mutators. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">s</td><td>Transition to this GC status </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -153,7 +153,14 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Print heap usage information. Before calling this function the current thread must have the heap lock </p>
|
||||
|
||||
<p>Print heap usage information. Before calling this function the current thread must have the heap lock. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">h</td><td>Heap to analyze. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -170,6 +170,17 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the number of bytes that will be allocated for <code>obj</code>. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">obj</td><td>Object to inspect </td></tr>
|
||||
<tr><td class="paramname">q</td><td>Previous free list pointer, set to <code>NULL</code> if not applicable </td></tr>
|
||||
<tr><td class="paramname">r</td><td>Next free list pointer, set to <code>NULL</code> if not applicable </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Number of bytes, including any needed for alignment </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -170,6 +170,16 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Add an object to the move buffer. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">d</td><td>Mutator data object containing the buffer </td></tr>
|
||||
<tr><td class="paramname">alloci</td><td>Pointer to the next open slot in the buffer </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object to add </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -154,6 +154,14 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Increase the size of the mutator's move buffer. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">d</td><td>Mutator's thread data object </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -153,6 +153,9 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Empty the collector's mark stack. </p>
|
||||
<p>Objects on the stack are removed one at a time and marked </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -153,6 +153,9 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Wait for all mutators to handshake. </p>
|
||||
<p>This function is always called by the collector. If a mutator is blocked and cannot handshake, the collector will cooperate on its behalf, including invoking a minor GC of the mutator's stack, so major GC can proceed. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -154,6 +154,14 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Change GC status to the given type. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">s</td><td>Transition to this GC status </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -163,7 +163,16 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Determine if object lives on the thread's stack </p>
|
||||
|
||||
<p>Determine if object lives on the thread's stack. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object to inspect </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>True if <code>obj</code> is on the mutator's stack, false otherwise </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -182,6 +182,20 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Attempt to allocate a new heap slot for the given object. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">h</td><td>Heap to allocate from </td></tr>
|
||||
<tr><td class="paramname">heap_type</td><td>Define the size of objects that will be allocated on this heap </td></tr>
|
||||
<tr><td class="paramname">size</td><td>Size of the requested object, in bytes </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object containing data that will be copied to the heap </td></tr>
|
||||
<tr><td class="paramname">thd</td><td>Thread data for the mutator using this heap </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to the newly-allocated object, or <code>NULL</code> if allocation failed</dd></dl>
|
||||
<p>This function will fail if there is no space on the heap for the requested object. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -164,6 +164,16 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Called by a mutator to cooperate with the collector thread. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">buf_len</td><td>Number of objects moved to the heap by the mutator during minor GC</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This function must be called periodically by each mutator to coordinate with the collector. In our implementation it is called after minor GC. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -154,6 +154,16 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get the heap's last page. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">h</td><td>Heap to inspect </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to the heap's last page</dd></dl>
|
||||
<p>This function does not do any locking, it is the responsibility of the caller to hold the appropriate locks prior to calling. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -163,7 +163,16 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Add a pending write to the mark buffer. These are pended because they are written in a batch during minor GC. To prevent race conditions we wait until all of the writes are made before updating last write.</p>
|
||||
|
||||
<p>Add a pending write to the mark buffer. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object to gray</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>These are pended because they are written in a batch during minor GC. To prevent race conditions we wait until all of the writes are made before updating last write.</p>
|
||||
<p>TODO: figure out a new name for this function. </p>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -148,7 +148,7 @@ $(function() {
|
|||
<td class="memname">void* gc_alloc </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="group__gc__major_ga61dd942ed84e904a5c297fdc57fd4d7a.html#ga61dd942ed84e904a5c297fdc57fd4d7a">gc_heap_root</a> * </td>
|
||||
<td class="paramname"><em>h</em>, </td>
|
||||
<td class="paramname"><em>hrt</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
|
@ -182,6 +182,20 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Allocate memory on the heap for an object. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">hrt</td><td>The root of the heap to allocate from </td></tr>
|
||||
<tr><td class="paramname">size</td><td>Size of the object to allocate </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object containing data to copy to the heap </td></tr>
|
||||
<tr><td class="paramname">thd</td><td>The requesting mutator's thread data object </td></tr>
|
||||
<tr><td class="paramname">heap_grown</td><td>Pointer to an "out" parameter that will be set to <code>1</code> if the heap is grown in size. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to the heap object</dd></dl>
|
||||
<p>This function will attempt to grow the heap if it is full, and will terminate the program if the OS is out of memory. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -176,6 +176,18 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Initialize runtime data structures for a thread. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">mut_num</td><td>Unused </td></tr>
|
||||
<tr><td class="paramname">stack_base</td><td>Bottom of the mutator's stack </td></tr>
|
||||
<tr><td class="paramname">stack_size</td><td>Max allowed size of mutator's stack before triggering minor GC</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Must be called on the target thread itself during startup, to verify stack limits are setup correctly. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -169,7 +169,17 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Write barrier for updates to heap-allocated objects The key for this barrier is to identify stack objects that contain heap references, so they can be marked to avoid collection. </p>
|
||||
|
||||
<p>Write barrier for updates to heap-allocated objects. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">old_obj</td><td>Old object value prior to the mutation </td></tr>
|
||||
<tr><td class="paramname">value</td><td>New object value</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>The key for this barrier is to identify stack objects that contain heap references, so they can be marked to avoid collection. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -163,7 +163,16 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Mark the given object gray if it is on the heap. Note marking is done implicitly by placing it in a buffer, to avoid repeated re-scanning.</p>
|
||||
|
||||
<p>Mark the given object gray if it is on the heap. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">obj</td><td>Object to gray</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Note marking is done implicitly by placing it in a buffer, to avoid repeated re-scanning.</p>
|
||||
<p>This function must be executed once the thread lock has been acquired. </p>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -176,6 +176,19 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Sweep portion of the GC algorithm. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">h</td><td>Heap to sweep </td></tr>
|
||||
<tr><td class="paramname">heap_type</td><td>Type of heap, based on object sizes allocated on it </td></tr>
|
||||
<tr><td class="paramname">sum_freed_ptr</td><td>Out parameter tracking the sum of freed data, in bytes. This parameter is ignored if NULL is passed. </td></tr>
|
||||
<tr><td class="paramname">thd</td><td>Thread data object for the mutator using this heap </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Return the size of the largest object freed, in bytes</dd></dl>
|
||||
<p>This portion of the major GC algorithm is responsible for returning unused memory slots to the heap. It is only called by the collector thread after the heap has been traced to identify live objects. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -164,6 +164,15 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Mark globals as part of the tracing collector. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">globals</td><td></td></tr>
|
||||
<tr><td class="paramname">global_table</td><td>This is called by the collector thread </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -163,7 +163,16 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Merge one heap into another. Assumes appropriate locks are already held. </p>
|
||||
|
||||
<p>Merge one heap into another. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">hdest</td><td>Heap that will receive new pages </td></tr>
|
||||
<tr><td class="paramname">hsrc</td><td>Heap that is being merged to the end of <code>hdest</code></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This function assumes appropriate locks are already held. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -154,6 +154,14 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Free all data for the given mutator. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data object containing data to free </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -182,6 +182,21 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Grow a heap by allocating a new page. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">h</td><td>Heap to be expanded </td></tr>
|
||||
<tr><td class="paramname">heap_type</td><td>Define the size of objects that will be allocated on this heap </td></tr>
|
||||
<tr><td class="paramname">size</td><td>Not applicable, can set to 0 </td></tr>
|
||||
<tr><td class="paramname">chunk_size</td><td>Heap chunk size, or 0 if not applicable </td></tr>
|
||||
<tr><td class="paramname">thd</td><td>Thread data for the mutator using this heap </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A true value if the heap was grown, or 0 otherwise</dd></dl>
|
||||
<p>Heaps are increased in size by adding a newly-allocated page at the end of the heap's linked list.</p>
|
||||
<p>Page size is determined by starting at the minimum page size and increasing size using the Fibonnaci Sequence until reaching the max size. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -153,6 +153,8 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Spawn the collector thread. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -153,6 +153,9 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>The collector's tracing algorithm. </p>
|
||||
<p>This function ensures all live objects are marked prior to transitioning to the collector's sweep phase. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -163,8 +163,15 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Called explicitly from a mutator thread to let the collector know it (may) block for an unknown period of time.</p>
|
||||
<p>The current continuation is required so that we can trace over it in case the collector has to cooperate for the mutator. </p>
|
||||
|
||||
<p>Called explicitly from a mutator thread to let the collector know it (may) block for an unknown period of time. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">cont</td><td>The mutator's current continuation. This is required so that we can trace over this object in case the collector has to cooperate for the mutator. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -163,7 +163,16 @@ $(function() {
|
|||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Called explicitly from a mutator thread to let the collector know that it has finished blocking. In addition, if the collector cooperated on behalf of the mutator while it was blocking, the mutator will move any remaining stack objects to the heap and longjmp. </p>
|
||||
|
||||
<p>Called explicitly from a mutator thread to let the collector know that it has finished blocking. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">thd</td><td>Mutator's thread data </td></tr>
|
||||
<tr><td class="paramname">result</td><td>Data returned by the blocking function</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>In addition, if the collector cooperated on behalf of the mutator while it was blocking, the mutator will move any remaining stack objects to the heap and longjmp. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -154,6 +154,15 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>A convenience function for allocating bignums. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">data</td><td>The mutator's thread data object </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to a heap object for the bignum </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -553,22 +553,31 @@ Functions</h2></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> *h, 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="types_8h_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="types_8h_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: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> hp, 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: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>
|
||||
|
@ -577,8 +586,10 @@ Functions</h2></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:ga9c99147eacc49e5afc84c9ecad4e00eb"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_ga9c99147eacc49e5afc84c9ecad4e00eb.html#ga9c99147eacc49e5afc84c9ecad4e00eb">gc_heap_total_size</a> (<a class="el" href="group__gc__major_ga734c99799a64ad0450ca6879900640f5.html#ga734c99799a64ad0450ca6879900640f5">gc_heap</a> *h)</td></tr>
|
||||
<tr class="separator:ga9c99147eacc49e5afc84c9ecad4e00eb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
@ -586,28 +597,39 @@ Functions</h2></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: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:ga7619d880bd322d5f7085598d16e9b0c4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__minor_ga7619d880bd322d5f7085598d16e9b0c4.html#ga7619d880bd322d5f7085598d16e9b0c4">gc_minor</a> (void *data, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> low_limit, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> high_limit, <a class="el" href="group__objects_ga2de9a23f157b62533c72bb17267c2f14.html#ga2de9a23f157b62533c72bb17267c2f14">closure</a> cont, <a class="el" href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a> *args, int num_args)</td></tr>
|
||||
<tr class="separator:ga7619d880bd322d5f7085598d16e9b0c4"><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>
|
||||
|
@ -615,20 +637,28 @@ Functions</h2></td></tr>
|
|||
<tr class="memitem:gae4b0fc6e4b949f950ecf85d3135bfd9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gc__major_gae4b0fc6e4b949f950ecf85d3135bfd9a.html#gae4b0fc6e4b949f950ecf85d3135bfd9a">gc_request_mark_globals</a> (void)</td></tr>
|
||||
<tr class="separator:gae4b0fc6e4b949f950ecf85d3135bfd9a"><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: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:a01fe455be3d0b61e715241b4b6b4fc93"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="types_8h_a01fe455be3d0b61e715241b4b6b4fc93.html#a01fe455be3d0b61e715241b4b6b4fc93">mp_get_double</a> (mp_int *a)</td></tr>
|
||||
<tr class="separator:a01fe455be3d0b61e715241b4b6b4fc93"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
|
|
@ -300,6 +300,16 @@ $(function() {
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>A helper function to create a heap-allocated copy of a bignum. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">data</td><td>The mutator's thread data object </td></tr>
|
||||
<tr><td class="paramname">src</td><td>The bignum instance to copy to the heap </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to the heap object </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
@ -86,18 +86,18 @@ $(function() {
|
|||
<div class="ttc" id="group__gc__major_ga0a33ee3f5c77cf4b03b37e0ba3308070_html_gga0a33ee3f5c77cf4b03b37e0ba3308070a3249a542464046f6893c72d16ebbd07a"><div class="ttname"><a href="group__gc__major_ga0a33ee3f5c77cf4b03b37e0ba3308070.html#gga0a33ee3f5c77cf4b03b37e0ba3308070a3249a542464046f6893c72d16ebbd07a">STAGE_SWEEPING</a></div><div class="ttdef"><b>Definition:</b> types.h:231</div></div>
|
||||
<div class="ttc" id="structsymbol__type_a7cc9d8329a840ad3fc372d399b4260e2_html_a7cc9d8329a840ad3fc372d399b4260e2"><div class="ttname"><a href="structsymbol__type_a7cc9d8329a840ad3fc372d399b4260e2.html#a7cc9d8329a840ad3fc372d399b4260e2">symbol_type::desc</a></div><div class="ttdeci">const char * desc</div><div class="ttdef"><b>Definition:</b> types.h:612</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga197294109a9a037b9a6641ce41ff9608_html_gga197294109a9a037b9a6641ce41ff9608a295a92132ba685f05ef1c3aed475588a"><div class="ttname"><a href="group__gc__major_ga197294109a9a037b9a6641ce41ff9608.html#gga197294109a9a037b9a6641ce41ff9608a295a92132ba685f05ef1c3aed475588a">CYC_THREAD_STATE_RUNNABLE</a></div><div class="ttdef"><b>Definition:</b> types.h:245</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga20cf7c4fac92c3cb1adb025813ea2a99_html_ga20cf7c4fac92c3cb1adb025813ea2a99"><div class="ttname"><a href="group__gc__major_ga20cf7c4fac92c3cb1adb025813ea2a99.html#ga20cf7c4fac92c3cb1adb025813ea2a99">gc_handshake</a></div><div class="ttdeci">void gc_handshake(gc_status_type s)</div><div class="ttdef"><b>Definition:</b> gc.c:1474</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga20cf7c4fac92c3cb1adb025813ea2a99_html_ga20cf7c4fac92c3cb1adb025813ea2a99"><div class="ttname"><a href="group__gc__major_ga20cf7c4fac92c3cb1adb025813ea2a99.html#ga20cf7c4fac92c3cb1adb025813ea2a99">gc_handshake</a></div><div class="ttdeci">void gc_handshake(gc_status_type s)</div><div class="ttdoc">Called by the collector thread to perform a handshake with all of the mutators. </div><div class="ttdef"><b>Definition:</b> gc.c:1615</div></div>
|
||||
<div class="ttc" id="structport__type_ac181f246480e9cda470aaae91da7ab11_html_ac181f246480e9cda470aaae91da7ab11"><div class="ttname"><a href="structport__type_ac181f246480e9cda470aaae91da7ab11.html#ac181f246480e9cda470aaae91da7ab11">port_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:759</div></div>
|
||||
<div class="ttc" id="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535_html_ga71301352e6ef9a0fcf7b0a8bae72c535"><div class="ttname"><a href="group__objects_ga71301352e6ef9a0fcf7b0a8bae72c535.html#ga71301352e6ef9a0fcf7b0a8bae72c535">object</a></div><div class="ttdeci">void * object</div><div class="ttdef"><b>Definition:</b> types.h:27</div></div>
|
||||
<div class="ttc" id="structgc__heap__root__t_a5046e209541021b649ba4c7700e969e1_html_a5046e209541021b649ba4c7700e969e1"><div class="ttname"><a href="structgc__heap__root__t_a5046e209541021b649ba4c7700e969e1.html#a5046e209541021b649ba4c7700e969e1">gc_heap_root_t::heap</a></div><div class="ttdeci">gc_heap ** heap</div><div class="ttdef"><b>Definition:</b> types.h:206</div></div>
|
||||
<div class="ttc" id="unioncommon__type_ac88262cc78175f27304d64abe602db51_html_ac88262cc78175f27304d64abe602db51"><div class="ttname"><a href="unioncommon__type_ac88262cc78175f27304d64abe602db51.html#ac88262cc78175f27304d64abe602db51">common_type::pair_t</a></div><div class="ttdeci">pair_type pair_t</div><div class="ttdef"><b>Definition:</b> types.h:1029</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga6490c2be516744d1cdc225b9ef2688ca_html_ga6490c2be516744d1cdc225b9ef2688ca"><div class="ttname"><a href="group__gc__major_ga6490c2be516744d1cdc225b9ef2688ca.html#ga6490c2be516744d1cdc225b9ef2688ca">gc_is_stack_obj</a></div><div class="ttdeci">int gc_is_stack_obj(gc_thread_data *thd, object obj)</div><div class="ttdef"><b>Definition:</b> gc.c:1098</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga6490c2be516744d1cdc225b9ef2688ca_html_ga6490c2be516744d1cdc225b9ef2688ca"><div class="ttname"><a href="group__gc__major_ga6490c2be516744d1cdc225b9ef2688ca.html#ga6490c2be516744d1cdc225b9ef2688ca">gc_is_stack_obj</a></div><div class="ttdeci">int gc_is_stack_obj(gc_thread_data *thd, object obj)</div><div class="ttdoc">Determine if object lives on the thread&#39;s stack. </div><div class="ttdef"><b>Definition:</b> gc.c:1203</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a6a862782bc738ad71a73cc056403a69c_html_a6a862782bc738ad71a73cc056403a69c"><div class="ttname"><a href="structgc__thread__data__t_a6a862782bc738ad71a73cc056403a69c.html#a6a862782bc738ad71a73cc056403a69c">gc_thread_data_t::stack_limit</a></div><div class="ttdeci">char * stack_limit</div><div class="ttdef"><b>Definition:</b> types.h:262</div></div>
|
||||
<div class="ttc" id="structclosure1__type_html"><div class="ttname"><a href="structclosure1__type.html">closure1_type</a></div><div class="ttdoc">A closed-over function with one variable. </div><div class="ttdef"><b>Definition:</b> types.h:955</div></div>
|
||||
<div class="ttc" id="group__gc__major_gabebf61106ee21a438dcb21fc8a9fb05b_html_gabebf61106ee21a438dcb21fc8a9fb05b"><div class="ttname"><a href="group__gc__major_gabebf61106ee21a438dcb21fc8a9fb05b.html#gabebf61106ee21a438dcb21fc8a9fb05b">gc_heap_merge</a></div><div class="ttdeci">void gc_heap_merge(gc_heap *hdest, gc_heap *hsrc)</div><div class="ttdef"><b>Definition:</b> gc.c:1802</div></div>
|
||||
<div class="ttc" id="group__gc__major_gabebf61106ee21a438dcb21fc8a9fb05b_html_gabebf61106ee21a438dcb21fc8a9fb05b"><div class="ttname"><a href="group__gc__major_gabebf61106ee21a438dcb21fc8a9fb05b.html#gabebf61106ee21a438dcb21fc8a9fb05b">gc_heap_merge</a></div><div class="ttdeci">void gc_heap_merge(gc_heap *hdest, gc_heap *hsrc)</div><div class="ttdoc">Merge one heap into another. </div><div class="ttdef"><b>Definition:</b> gc.c:1980</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a96660521efdd4bafd6f1b00569004872_html_a96660521efdd4bafd6f1b00569004872"><div class="ttname"><a href="structgc__thread__data__t_a96660521efdd4bafd6f1b00569004872.html#a96660521efdd4bafd6f1b00569004872">gc_thread_data_t::mark_buffer_len</a></div><div class="ttdeci">int mark_buffer_len</div><div class="ttdef"><b>Definition:</b> types.h:284</div></div>
|
||||
<div class="ttc" id="group__objects_ga1edab468f8633d34ec0899c184f32534_html_ga1edab468f8633d34ec0899c184f32534"><div class="ttname"><a href="group__objects_ga1edab468f8633d34ec0899c184f32534.html#ga1edab468f8633d34ec0899c184f32534">c_opaque</a></div><div class="ttdeci">c_opaque_type * c_opaque</div><div class="ttdef"><b>Definition:</b> types.h:550</div></div>
|
||||
<div class="ttc" id="group__gc__major_gae43e9fb0564edc5ecf489ead57731d52_html_gae43e9fb0564edc5ecf489ead57731d52"><div class="ttname"><a href="group__gc__major_gae43e9fb0564edc5ecf489ead57731d52.html#gae43e9fb0564edc5ecf489ead57731d52">gc_mutator_thread_runnable</a></div><div class="ttdeci">void gc_mutator_thread_runnable(gc_thread_data *thd, object result)</div><div class="ttdef"><b>Definition:</b> gc.c:1861</div></div>
|
||||
<div class="ttc" id="group__gc__major_gae43e9fb0564edc5ecf489ead57731d52_html_gae43e9fb0564edc5ecf489ead57731d52"><div class="ttname"><a href="group__gc__major_gae43e9fb0564edc5ecf489ead57731d52.html#gae43e9fb0564edc5ecf489ead57731d52">gc_mutator_thread_runnable</a></div><div class="ttdeci">void gc_mutator_thread_runnable(gc_thread_data *thd, object result)</div><div class="ttdoc">Called explicitly from a mutator thread to let the collector know that it has finished blocking...</div><div class="ttdef"><b>Definition:</b> gc.c:2045</div></div>
|
||||
<div class="ttc" id="structgc__heap__t_a85f735d33ba2650c3dfb4e7d279be330_html_a85f735d33ba2650c3dfb4e7d279be330"><div class="ttname"><a href="structgc__heap__t_a85f735d33ba2650c3dfb4e7d279be330.html#a85f735d33ba2650c3dfb4e7d279be330">gc_heap_t::next_free</a></div><div class="ttdeci">gc_heap * next_free</div><div class="ttdef"><b>Definition:</b> types.h:193</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a85640181f9dca6db4f587d726d367cb0_html_a85640181f9dca6db4f587d726d367cb0"><div class="ttname"><a href="structgc__thread__data__t_a85640181f9dca6db4f587d726d367cb0.html#a85640181f9dca6db4f587d726d367cb0">gc_thread_data_t::cached_heap_free_sizes</a></div><div class="ttdeci">uintptr_t * cached_heap_free_sizes</div><div class="ttdef"><b>Definition:</b> types.h:289</div></div>
|
||||
<div class="ttc" id="group__objects_ga1f30d76b2007b32b3c970e00049e89e9_html_ga1f30d76b2007b32b3c970e00049e89e9"><div class="ttname"><a href="group__objects_ga1f30d76b2007b32b3c970e00049e89e9.html#ga1f30d76b2007b32b3c970e00049e89e9">vector</a></div><div class="ttdeci">vector_type * vector</div><div class="ttdef"><b>Definition:</b> types.h:786</div></div>
|
||||
|
@ -107,34 +107,34 @@ $(function() {
|
|||
<div class="ttc" id="structgc__thread__data__t_ad7980c24685e2d347ee5c6d633626b84_html_ad7980c24685e2d347ee5c6d633626b84"><div class="ttname"><a href="structgc__thread__data__t_ad7980c24685e2d347ee5c6d633626b84.html#ad7980c24685e2d347ee5c6d633626b84">gc_thread_data_t::cached_heap_total_sizes</a></div><div class="ttdeci">uintptr_t * cached_heap_total_sizes</div><div class="ttdef"><b>Definition:</b> types.h:290</div></div>
|
||||
<div class="ttc" id="structpair__type_html"><div class="ttname"><a href="structpair__type.html">pair_type</a></div><div class="ttdoc">The pair (cons) type. </div><div class="ttdef"><b>Definition:</b> types.h:830</div></div>
|
||||
<div class="ttc" id="structinteger__type_a7191e96ef8a16d3c4f91a703725a33be_html_a7191e96ef8a16d3c4f91a703725a33be"><div class="ttname"><a href="structinteger__type_a7191e96ef8a16d3c4f91a703725a33be.html#a7191e96ef8a16d3c4f91a703725a33be">integer_type::value</a></div><div class="ttdeci">int value</div><div class="ttdef"><b>Definition:</b> types.h:632</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga34834cdbd4e4f511ad8e918f0fb2d765_html_ga34834cdbd4e4f511ad8e918f0fb2d765"><div class="ttname"><a href="group__gc__major_ga34834cdbd4e4f511ad8e918f0fb2d765.html#ga34834cdbd4e4f511ad8e918f0fb2d765">gc_thr_add_to_move_buffer</a></div><div class="ttdeci">void gc_thr_add_to_move_buffer(gc_thread_data *d, int *alloci, object obj)</div><div class="ttdef"><b>Definition:</b> gc.c:1040</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga34834cdbd4e4f511ad8e918f0fb2d765_html_ga34834cdbd4e4f511ad8e918f0fb2d765"><div class="ttname"><a href="group__gc__major_ga34834cdbd4e4f511ad8e918f0fb2d765.html#ga34834cdbd4e4f511ad8e918f0fb2d765">gc_thr_add_to_move_buffer</a></div><div class="ttdeci">void gc_thr_add_to_move_buffer(gc_thread_data *d, int *alloci, object obj)</div><div class="ttdoc">Add an object to the move buffer. </div><div class="ttdef"><b>Definition:</b> gc.c:1139</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga197294109a9a037b9a6641ce41ff9608_html_gga197294109a9a037b9a6641ce41ff9608ab31c8a0312744afb1a88aaac239008ce"><div class="ttname"><a href="group__gc__major_ga197294109a9a037b9a6641ce41ff9608.html#gga197294109a9a037b9a6641ce41ff9608ab31c8a0312744afb1a88aaac239008ce">CYC_THREAD_STATE_BLOCKED_COOPERATING</a></div><div class="ttdef"><b>Definition:</b> types.h:246</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a1289c0ca885aa6bfb81cc8aa6e77df1f_html_a1289c0ca885aa6bfb81cc8aa6e77df1f"><div class="ttname"><a href="structgc__thread__data__t_a1289c0ca885aa6bfb81cc8aa6e77df1f.html#a1289c0ca885aa6bfb81cc8aa6e77df1f">gc_thread_data_t::gc_status</a></div><div class="ttdeci">int gc_status</div><div class="ttdef"><b>Definition:</b> types.h:279</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_html"><div class="ttname"><a href="structgc__thread__data__t.html">gc_thread_data_t</a></div><div class="ttdef"><b>Definition:</b> types.h:256</div></div>
|
||||
<div class="ttc" id="structclosure0__type_ae4b585e11b09a259a200e25f25ac5768_html_ae4b585e11b09a259a200e25f25ac5768"><div class="ttname"><a href="structclosure0__type_ae4b585e11b09a259a200e25f25ac5768.html#ae4b585e11b09a259a200e25f25ac5768">closure0_type::fn</a></div><div class="ttdeci">function_type fn</div><div class="ttdef"><b>Definition:</b> types.h:951</div></div>
|
||||
<div class="ttc" id="structdouble__type_a83f85b23324cc748f87d62a1f23164c3_html_a83f85b23324cc748f87d62a1f23164c3"><div class="ttname"><a href="structdouble__type_a83f85b23324cc748f87d62a1f23164c3.html#a83f85b23324cc748f87d62a1f23164c3">double_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:659</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga63112677a59a58464bc08d5ef2a91c6c_html_ga63112677a59a58464bc08d5ef2a91c6c"><div class="ttname"><a href="group__gc__major_ga63112677a59a58464bc08d5ef2a91c6c.html#ga63112677a59a58464bc08d5ef2a91c6c">gc_post_handshake</a></div><div class="ttdeci">void gc_post_handshake(gc_status_type s)</div><div class="ttdef"><b>Definition:</b> gc.c:1480</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga63112677a59a58464bc08d5ef2a91c6c_html_ga63112677a59a58464bc08d5ef2a91c6c"><div class="ttname"><a href="group__gc__major_ga63112677a59a58464bc08d5ef2a91c6c.html#ga63112677a59a58464bc08d5ef2a91c6c">gc_post_handshake</a></div><div class="ttdeci">void gc_post_handshake(gc_status_type s)</div><div class="ttdoc">Change GC status to the given type. </div><div class="ttdef"><b>Definition:</b> gc.c:1625</div></div>
|
||||
<div class="ttc" id="structpair__type_a9ba32c4b9dc69e6f2613a6d9b45461b9_html_a9ba32c4b9dc69e6f2613a6d9b45461b9"><div class="ttname"><a href="structpair__type_a9ba32c4b9dc69e6f2613a6d9b45461b9.html#a9ba32c4b9dc69e6f2613a6d9b45461b9">pair_type::pair_car</a></div><div class="ttdeci">object pair_car</div><div class="ttdef"><b>Definition:</b> types.h:833</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fcaf726e29c4c9a3a5a38b78a8a7b2c8677"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fcaf726e29c4c9a3a5a38b78a8a7b2c8677">closureN_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:41</div></div>
|
||||
<div class="ttc" id="group__objects_ga59967b94dbb2722fabdf10bd260f0d67_html_ga59967b94dbb2722fabdf10bd260f0d67"><div class="ttname"><a href="group__objects_ga59967b94dbb2722fabdf10bd260f0d67.html#ga59967b94dbb2722fabdf10bd260f0d67">primitive</a></div><div class="ttdeci">primitive_type * primitive</div><div class="ttdef"><b>Definition:</b> types.h:1012</div></div>
|
||||
<div class="ttc" id="structclosure0__type_a42e450cfee6f1181eeab82ae4b7ace36_html_a42e450cfee6f1181eeab82ae4b7ace36"><div class="ttname"><a href="structclosure0__type_a42e450cfee6f1181eeab82ae4b7ace36.html#a42e450cfee6f1181eeab82ae4b7ace36">closure0_type::num_args</a></div><div class="ttdeci">int num_args</div><div class="ttdef"><b>Definition:</b> types.h:952</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga6a88578b8802b9bca9f56e0ccfdff435_html_ga6a88578b8802b9bca9f56e0ccfdff435"><div class="ttname"><a href="group__gc__major_ga6a88578b8802b9bca9f56e0ccfdff435.html#ga6a88578b8802b9bca9f56e0ccfdff435">gc_mut_cooperate</a></div><div class="ttdeci">void gc_mut_cooperate(gc_thread_data *thd, int buf_len)</div><div class="ttdef"><b>Definition:</b> gc.c:1155</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga6a88578b8802b9bca9f56e0ccfdff435_html_ga6a88578b8802b9bca9f56e0ccfdff435"><div class="ttname"><a href="group__gc__major_ga6a88578b8802b9bca9f56e0ccfdff435.html#ga6a88578b8802b9bca9f56e0ccfdff435">gc_mut_cooperate</a></div><div class="ttdeci">void gc_mut_cooperate(gc_thread_data *thd, int buf_len)</div><div class="ttdoc">Called by a mutator to cooperate with the collector thread. </div><div class="ttdef"><b>Definition:</b> gc.c:1272</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca0fb89918e499148722fd77b484ea42f8"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca0fb89918e499148722fd77b484ea42f8">port_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:52</div></div>
|
||||
<div class="ttc" id="structcvar__type_af644edb7d8ca5ae43799e23203cf5c30_html_af644edb7d8ca5ae43799e23203cf5c30"><div class="ttname"><a href="structcvar__type_af644edb7d8ca5ae43799e23203cf5c30.html#af644edb7d8ca5ae43799e23203cf5c30">cvar_type::pvar</a></div><div class="ttdeci">object * pvar</div><div class="ttdef"><b>Definition:</b> types.h:524</div></div>
|
||||
<div class="ttc" id="structpair__type_a7914b11f5a8a708f49bccdd8fc307edd_html_a7914b11f5a8a708f49bccdd8fc307edd"><div class="ttname"><a href="structpair__type_a7914b11f5a8a708f49bccdd8fc307edd.html#a7914b11f5a8a708f49bccdd8fc307edd">pair_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:832</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a9b0cc83600bf34cb2009199d642880f1_html_a9b0cc83600bf34cb2009199d642880f1"><div class="ttname"><a href="structgc__thread__data__t_a9b0cc83600bf34cb2009199d642880f1.html#a9b0cc83600bf34cb2009199d642880f1">gc_thread_data_t::stack_start</a></div><div class="ttdeci">char * stack_start</div><div class="ttdef"><b>Definition:</b> types.h:261</div></div>
|
||||
<div class="ttc" id="group__gc__major_gacdd780abddd9b089bc19771035890bf5_html_gacdd780abddd9b089bc19771035890bf5"><div class="ttname"><a href="group__gc__major_gacdd780abddd9b089bc19771035890bf5.html#gacdd780abddd9b089bc19771035890bf5">gc_start_collector</a></div><div class="ttdeci">void gc_start_collector()</div><div class="ttdef"><b>Definition:</b> gc.c:1649</div></div>
|
||||
<div class="ttc" id="group__gc__major_gacdd780abddd9b089bc19771035890bf5_html_gacdd780abddd9b089bc19771035890bf5"><div class="ttname"><a href="group__gc__major_gacdd780abddd9b089bc19771035890bf5.html#gacdd780abddd9b089bc19771035890bf5">gc_start_collector</a></div><div class="ttdeci">void gc_start_collector()</div><div class="ttdoc">Spawn the collector thread. </div><div class="ttdef"><b>Definition:</b> gc.c:1807</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_ae2112badeb8db0d4e81922f68b274b3b_html_ae2112badeb8db0d4e81922f68b274b3b"><div class="ttname"><a href="structgc__thread__data__t_ae2112badeb8db0d4e81922f68b274b3b.html#ae2112badeb8db0d4e81922f68b274b3b">gc_thread_data_t::jmp_start</a></div><div class="ttdeci">jmp_buf * jmp_start</div><div class="ttdef"><b>Definition:</b> types.h:272</div></div>
|
||||
<div class="ttc" id="group__objects_ga3be4dc1266585983419449b4d3d2fb91_html_gga3be4dc1266585983419449b4d3d2fb91ab18533ce7d4b7949c2dfe161f64142df"><div class="ttname"><a href="group__objects_ga3be4dc1266585983419449b4d3d2fb91.html#gga3be4dc1266585983419449b4d3d2fb91ab18533ce7d4b7949c2dfe161f64142df">CYC_BN_GTE</a></div><div class="ttdef"><b>Definition:</b> types.h:696</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca01ef7df0dea0750732937733ec61af00"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca01ef7df0dea0750732937733ec61af00">string_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:54</div></div>
|
||||
<div class="ttc" id="group__objects_ga0252662682d80c9c6f55bb80515ffd6b_html_ga0252662682d80c9c6f55bb80515ffd6b"><div class="ttname"><a href="group__objects_ga0252662682d80c9c6f55bb80515ffd6b.html#ga0252662682d80c9c6f55bb80515ffd6b">function_type_va</a></div><div class="ttdeci">void(* function_type_va)(int, object, object, object,...)</div><div class="ttdef"><b>Definition:</b> types.h:515</div></div>
|
||||
<div class="ttc" id="group__gc__major_gadd73c9a0b9b1112d6d941dee642893e7_html_gadd73c9a0b9b1112d6d941dee642893e7"><div class="ttname"><a href="group__gc__major_gadd73c9a0b9b1112d6d941dee642893e7.html#gadd73c9a0b9b1112d6d941dee642893e7">gc_collector_trace</a></div><div class="ttdeci">void gc_collector_trace()</div><div class="ttdef"><b>Definition:</b> gc.c:1414</div></div>
|
||||
<div class="ttc" id="group__gc__major_gadd73c9a0b9b1112d6d941dee642893e7_html_gadd73c9a0b9b1112d6d941dee642893e7"><div class="ttname"><a href="group__gc__major_gadd73c9a0b9b1112d6d941dee642893e7.html#gadd73c9a0b9b1112d6d941dee642893e7">gc_collector_trace</a></div><div class="ttdeci">void gc_collector_trace()</div><div class="ttdoc">The collector&#39;s tracing algorithm. </div><div class="ttdef"><b>Definition:</b> gc.c:1545</div></div>
|
||||
<div class="ttc" id="structgc__heap__t_a73bf32a837589e80c040f3f7c356b0bd_html_a73bf32a837589e80c040f3f7c356b0bd"><div class="ttname"><a href="structgc__heap__t_a73bf32a837589e80c040f3f7c356b0bd.html#a73bf32a837589e80c040f3f7c356b0bd">gc_heap_t::free_list</a></div><div class="ttdeci">gc_free_list * free_list</div><div class="ttdef"><b>Definition:</b> types.h:196</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca71e14b38a45dbccd577a96a2498cf66a"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca71e14b38a45dbccd577a96a2498cf66a">integer_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:47</div></div>
|
||||
<div class="ttc" id="structmutex__type_afa55baa31d4f706a6e5a630d1d979c7b_html_afa55baa31d4f706a6e5a630d1d979c7b"><div class="ttname"><a href="structmutex__type_afa55baa31d4f706a6e5a630d1d979c7b.html#afa55baa31d4f706a6e5a630d1d979c7b">mutex_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:569</div></div>
|
||||
<div class="ttc" id="structc__opaque__type_a36038d029849cf58a4f22a9cace74f07_html_a36038d029849cf58a4f22a9cace74f07"><div class="ttname"><a href="structc__opaque__type_a36038d029849cf58a4f22a9cace74f07.html#a36038d029849cf58a4f22a9cace74f07">c_opaque_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:546</div></div>
|
||||
<div class="ttc" id="unioncommon__type_ad58899902134a1d0eb125843fc71b7f6_html_ad58899902134a1d0eb125843fc71b7f6"><div class="ttname"><a href="unioncommon__type_ad58899902134a1d0eb125843fc71b7f6.html#ad58899902134a1d0eb125843fc71b7f6">common_type::boolean_t</a></div><div class="ttdeci">boolean_type boolean_t</div><div class="ttdef"><b>Definition:</b> types.h:1028</div></div>
|
||||
<div class="ttc" id="group__gc__major_gabf9a3adddd986f1f953d4ddc1c795491_html_gabf9a3adddd986f1f953d4ddc1c795491"><div class="ttname"><a href="group__gc__major_gabf9a3adddd986f1f953d4ddc1c795491.html#gabf9a3adddd986f1f953d4ddc1c795491">gc_thread_data_free</a></div><div class="ttdeci">void gc_thread_data_free(gc_thread_data *thd)</div><div class="ttdef"><b>Definition:</b> gc.c:1755</div></div>
|
||||
<div class="ttc" id="group__gc__major_gabf9a3adddd986f1f953d4ddc1c795491_html_gabf9a3adddd986f1f953d4ddc1c795491"><div class="ttname"><a href="group__gc__major_gabf9a3adddd986f1f953d4ddc1c795491.html#gabf9a3adddd986f1f953d4ddc1c795491">gc_thread_data_free</a></div><div class="ttdeci">void gc_thread_data_free(gc_thread_data *thd)</div><div class="ttdoc">Free all data for the given mutator. </div><div class="ttdef"><b>Definition:</b> gc.c:1929</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a8ddcfd3cb5d520046d8250cff2e35286_html_a8ddcfd3cb5d520046d8250cff2e35286"><div class="ttname"><a href="structgc__thread__data__t_a8ddcfd3cb5d520046d8250cff2e35286.html#a8ddcfd3cb5d520046d8250cff2e35286">gc_thread_data_t::mark_buffer</a></div><div class="ttdeci">void ** mark_buffer</div><div class="ttdef"><b>Definition:</b> types.h:283</div></div>
|
||||
<div class="ttc" id="structgc__header__type__t_a05168ba505698eb154858ce0c8e917e6_html_a05168ba505698eb154858ce0c8e917e6"><div class="ttname"><a href="structgc__header__type__t_a05168ba505698eb154858ce0c8e917e6.html#a05168ba505698eb154858ce0c8e917e6">gc_header_type_t::grayed</a></div><div class="ttdeci">unsigned char grayed</div><div class="ttdef"><b>Definition:</b> types.h:215</div></div>
|
||||
<div class="ttc" id="structclosureN__type_ad2fe57e1e7209e4460c9f9969ef2ccc2_html_ad2fe57e1e7209e4460c9f9969ef2ccc2"><div class="ttname"><a href="structclosureN__type_ad2fe57e1e7209e4460c9f9969ef2ccc2.html#ad2fe57e1e7209e4460c9f9969ef2ccc2">closureN_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:964</div></div>
|
||||
|
@ -155,13 +155,13 @@ $(function() {
|
|||
<div class="ttc" id="structgc__thread__data__t_aa893a15f7336f4607c692828fa017957_html_aa893a15f7336f4607c692828fa017957"><div class="ttname"><a href="structgc__thread__data__t_aa893a15f7336f4607c692828fa017957.html#aa893a15f7336f4607c692828fa017957">gc_thread_data_t::last_write</a></div><div class="ttdeci">int last_write</div><div class="ttdef"><b>Definition:</b> types.h:280</div></div>
|
||||
<div class="ttc" id="structclosure1__type_aea057c7719dc41a5570a6dd2c80ded74_html_aea057c7719dc41a5570a6dd2c80ded74"><div class="ttname"><a href="structclosure1__type_aea057c7719dc41a5570a6dd2c80ded74.html#aea057c7719dc41a5570a6dd2c80ded74">closure1_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:957</div></div>
|
||||
<div class="ttc" id="group__gc__major_gab4c9dba3c0f373c7a74e89e35b919fe8_html_gab4c9dba3c0f373c7a74e89e35b919fe8"><div class="ttname"><a href="group__gc__major_gab4c9dba3c0f373c7a74e89e35b919fe8.html#gab4c9dba3c0f373c7a74e89e35b919fe8">gc_heap_free</a></div><div class="ttdeci">gc_heap * gc_heap_free(gc_heap *page, gc_heap *prev_page)</div><div class="ttdoc">Free a page of the heap. </div><div class="ttdef"><b>Definition:</b> gc.c:283</div></div>
|
||||
<div class="ttc" id="group__gc__major_gacc34220240fa78aaed5482565c8952e6_html_gacc34220240fa78aaed5482565c8952e6"><div class="ttname"><a href="group__gc__major_gacc34220240fa78aaed5482565c8952e6.html#gacc34220240fa78aaed5482565c8952e6">gc_grow_heap</a></div><div class="ttdeci">int gc_grow_heap(gc_heap *h, int heap_type, size_t size, size_t chunk_size, gc_thread_data *thd)</div><div class="ttdef"><b>Definition:</b> gc.c:514</div></div>
|
||||
<div class="ttc" id="group__gc__major_gacc34220240fa78aaed5482565c8952e6_html_gacc34220240fa78aaed5482565c8952e6"><div class="ttname"><a href="group__gc__major_gacc34220240fa78aaed5482565c8952e6.html#gacc34220240fa78aaed5482565c8952e6">gc_grow_heap</a></div><div class="ttdeci">int gc_grow_heap(gc_heap *h, int heap_type, size_t size, size_t chunk_size, gc_thread_data *thd)</div><div class="ttdoc">Grow a heap by allocating a new page. </div><div class="ttdef"><b>Definition:</b> gc.c:538</div></div>
|
||||
<div class="ttc" id="structclosureN__type_abb1222449cbf59b64bb4ba61582bd370_html_abb1222449cbf59b64bb4ba61582bd370"><div class="ttname"><a href="structclosureN__type_abb1222449cbf59b64bb4ba61582bd370.html#abb1222449cbf59b64bb4ba61582bd370">closureN_type::num_elements</a></div><div class="ttdeci">int num_elements</div><div class="ttdef"><b>Definition:</b> types.h:968</div></div>
|
||||
<div class="ttc" id="structprimitive__type_aab376d614064a5cc51a8b94214a2bd3d_html_aab376d614064a5cc51a8b94214a2bd3d"><div class="ttname"><a href="structprimitive__type_aab376d614064a5cc51a8b94214a2bd3d.html#aab376d614064a5cc51a8b94214a2bd3d">primitive_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:1007</div></div>
|
||||
<div class="ttc" id="unioncommon__type_a81bf434ff1d47d4484a1ab3dcbb578fd_html_a81bf434ff1d47d4484a1ab3dcbb578fd"><div class="ttname"><a href="unioncommon__type_a81bf434ff1d47d4484a1ab3dcbb578fd.html#a81bf434ff1d47d4484a1ab3dcbb578fd">common_type::double_t</a></div><div class="ttdeci">double_type double_t</div><div class="ttdef"><b>Definition:</b> types.h:1033</div></div>
|
||||
<div class="ttc" id="group__objects_ga2de9a23f157b62533c72bb17267c2f14_html_ga2de9a23f157b62533c72bb17267c2f14"><div class="ttname"><a href="group__objects_ga2de9a23f157b62533c72bb17267c2f14.html#ga2de9a23f157b62533c72bb17267c2f14">closure</a></div><div class="ttdeci">closure0_type * closure</div><div class="ttdef"><b>Definition:</b> types.h:975</div></div>
|
||||
<div class="ttc" id="structdouble__type_a502175b089394f0a42bb1489dae66af5_html_a502175b089394f0a42bb1489dae66af5"><div class="ttname"><a href="structdouble__type_a502175b089394f0a42bb1489dae66af5.html#a502175b089394f0a42bb1489dae66af5">double_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:658</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga7fac46df80136375f0aabd3af30a8874_html_ga7fac46df80136375f0aabd3af30a8874"><div class="ttname"><a href="group__gc__major_ga7fac46df80136375f0aabd3af30a8874.html#ga7fac46df80136375f0aabd3af30a8874">gc_mark_gray2</a></div><div class="ttdeci">void gc_mark_gray2(gc_thread_data *thd, object obj)</div><div class="ttdef"><b>Definition:</b> gc.c:1273</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga7fac46df80136375f0aabd3af30a8874_html_ga7fac46df80136375f0aabd3af30a8874"><div class="ttname"><a href="group__gc__major_ga7fac46df80136375f0aabd3af30a8874.html#ga7fac46df80136375f0aabd3af30a8874">gc_mark_gray2</a></div><div class="ttdeci">void gc_mark_gray2(gc_thread_data *thd, object obj)</div><div class="ttdoc">Add a pending write to the mark buffer. </div><div class="ttdef"><b>Definition:</b> gc.c:1396</div></div>
|
||||
<div class="ttc" id="structpair__type_ae03d749d12a280270376e212097658b6_html_ae03d749d12a280270376e212097658b6"><div class="ttname"><a href="structpair__type_ae03d749d12a280270376e212097658b6.html#ae03d749d12a280270376e212097658b6">pair_type::pair_cdr</a></div><div class="ttdeci">object pair_cdr</div><div class="ttdef"><b>Definition:</b> types.h:834</div></div>
|
||||
<div class="ttc" id="structdouble__type_html"><div class="ttname"><a href="structdouble__type.html">double_type</a></div><div class="ttdoc">Double-precision floating point type, also known as a flonum. </div><div class="ttdef"><b>Definition:</b> types.h:657</div></div>
|
||||
<div class="ttc" id="structprimitive__type_html"><div class="ttname"><a href="structprimitive__type.html">primitive_type</a></div><div class="ttdoc">A function built into the runtime. </div><div class="ttdef"><b>Definition:</b> types.h:1006</div></div>
|
||||
|
@ -173,22 +173,22 @@ $(function() {
|
|||
<div class="ttc" id="structboolean__type_html"><div class="ttname"><a href="structboolean__type.html">boolean_type</a></div><div class="ttdoc">The boolean type: True or False. </div><div class="ttdef"><b>Definition:</b> types.h:593</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga66382faf126033f74c62e4eb8a4c4cbe_html_gga66382faf126033f74c62e4eb8a4c4cbea523741d779967e10cf8bd7e79bcbc531"><div class="ttname"><a href="group__gc__major_ga66382faf126033f74c62e4eb8a4c4cbe.html#gga66382faf126033f74c62e4eb8a4c4cbea523741d779967e10cf8bd7e79bcbc531">HEAP_SM</a></div><div class="ttdef"><b>Definition:</b> types.h:163</div></div>
|
||||
<div class="ttc" id="structprimitive__type_a5bb66341237657f9fd30c6711deea6c3_html_a5bb66341237657f9fd30c6711deea6c3"><div class="ttname"><a href="structprimitive__type_a5bb66341237657f9fd30c6711deea6c3.html#a5bb66341237657f9fd30c6711deea6c3">primitive_type::fn</a></div><div class="ttdeci">function_type fn</div><div class="ttdef"><b>Definition:</b> types.h:1010</div></div>
|
||||
<div class="ttc" id="group__gc__major_gaec0fd25a5b345b9ad50842b08bed4027_html_gaec0fd25a5b345b9ad50842b08bed4027"><div class="ttname"><a href="group__gc__major_gaec0fd25a5b345b9ad50842b08bed4027.html#gaec0fd25a5b345b9ad50842b08bed4027">gc_alloc_bignum</a></div><div class="ttdeci">void * gc_alloc_bignum(gc_thread_data *data)</div><div class="ttdef"><b>Definition:</b> gc.c:615</div></div>
|
||||
<div class="ttc" id="group__gc__major_gaec0fd25a5b345b9ad50842b08bed4027_html_gaec0fd25a5b345b9ad50842b08bed4027"><div class="ttname"><a href="group__gc__major_gaec0fd25a5b345b9ad50842b08bed4027.html#gaec0fd25a5b345b9ad50842b08bed4027">gc_alloc_bignum</a></div><div class="ttdeci">void * gc_alloc_bignum(gc_thread_data *data)</div><div class="ttdoc">A convenience function for allocating bignums. </div><div class="ttdef"><b>Definition:</b> gc.c:655</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca9cfb7f7d0577483459522eceb1c9badc"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca9cfb7f7d0577483459522eceb1c9badc">closure1_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:40</div></div>
|
||||
<div class="ttc" id="structstring__type_a0cf6e472452514e77ae43ca67479f5b5_html_a0cf6e472452514e77ae43ca67479f5b5"><div class="ttname"><a href="structstring__type_a0cf6e472452514e77ae43ca67479f5b5.html#a0cf6e472452514e77ae43ca67479f5b5">string_type::str</a></div><div class="ttdeci">char * str</div><div class="ttdef"><b>Definition:</b> types.h:706</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fcad4e34bc834b4556b022822be9409dbe6"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fcad4e34bc834b4556b022822be9409dbe6">double_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:44</div></div>
|
||||
<div class="ttc" id="structmacro__type_a91a5c4535a3152bb6e70752b2a59fed2_html_a91a5c4535a3152bb6e70752b2a59fed2"><div class="ttname"><a href="structmacro__type_a91a5c4535a3152bb6e70752b2a59fed2.html#a91a5c4535a3152bb6e70752b2a59fed2">macro_type::fn</a></div><div class="ttdeci">function_type fn</div><div class="ttdef"><b>Definition:</b> types.h:943</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga46bc54c66f56b0006420ce310c2729c1_html_ga46bc54c66f56b0006420ce310c2729c1"><div class="ttname"><a href="group__gc__major_ga46bc54c66f56b0006420ce310c2729c1.html#ga46bc54c66f56b0006420ce310c2729c1">gc_thr_grow_move_buffer</a></div><div class="ttdeci">void gc_thr_grow_move_buffer(gc_thread_data *d)</div><div class="ttdef"><b>Definition:</b> gc.c:1022</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga6934bc689d9c64df40d96fbd4db8cbd7_html_ga6934bc689d9c64df40d96fbd4db8cbd7"><div class="ttname"><a href="group__gc__major_ga6934bc689d9c64df40d96fbd4db8cbd7.html#ga6934bc689d9c64df40d96fbd4db8cbd7">gc_try_alloc</a></div><div class="ttdeci">void * gc_try_alloc(gc_heap *h, int heap_type, size_t size, char *obj, gc_thread_data *thd)</div><div class="ttdef"><b>Definition:</b> gc.c:568</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga46bc54c66f56b0006420ce310c2729c1_html_ga46bc54c66f56b0006420ce310c2729c1"><div class="ttname"><a href="group__gc__major_ga46bc54c66f56b0006420ce310c2729c1.html#ga46bc54c66f56b0006420ce310c2729c1">gc_thr_grow_move_buffer</a></div><div class="ttdeci">void gc_thr_grow_move_buffer(gc_thread_data *d)</div><div class="ttdoc">Increase the size of the mutator&#39;s move buffer. </div><div class="ttdef"><b>Definition:</b> gc.c:1115</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga6934bc689d9c64df40d96fbd4db8cbd7_html_ga6934bc689d9c64df40d96fbd4db8cbd7"><div class="ttname"><a href="group__gc__major_ga6934bc689d9c64df40d96fbd4db8cbd7.html#ga6934bc689d9c64df40d96fbd4db8cbd7">gc_try_alloc</a></div><div class="ttdeci">void * gc_try_alloc(gc_heap *h, int heap_type, size_t size, char *obj, gc_thread_data *thd)</div><div class="ttdoc">Attempt to allocate a new heap slot for the given object. </div><div class="ttdef"><b>Definition:</b> gc.c:604</div></div>
|
||||
<div class="ttc" id="structcvar__type_html"><div class="ttname"><a href="structcvar__type.html">cvar_type</a></div><div class="ttdoc">C-variable integration type - wrapper around a Cyclone object pointer. </div><div class="ttdef"><b>Definition:</b> types.h:520</div></div>
|
||||
<div class="ttc" id="structclosure1__type_ae986d356667f7d5ab758a336a5eace9e_html_ae986d356667f7d5ab758a336a5eace9e"><div class="ttname"><a href="structclosure1__type_ae986d356667f7d5ab758a336a5eace9e.html#ae986d356667f7d5ab758a336a5eace9e">closure1_type::element</a></div><div class="ttdeci">object element</div><div class="ttdef"><b>Definition:</b> types.h:960</div></div>
|
||||
<div class="ttc" id="structsymbol__type_a3b0121db857c5196a71a7b3ab47b35ed_html_a3b0121db857c5196a71a7b3ab47b35ed"><div class="ttname"><a href="structsymbol__type_a3b0121db857c5196a71a7b3ab47b35ed.html#a3b0121db857c5196a71a7b3ab47b35ed">symbol_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:610</div></div>
|
||||
<div class="ttc" id="structmacro__type_ac85b6b059d0082c5603a5f795adb7dcd_html_ac85b6b059d0082c5603a5f795adb7dcd"><div class="ttname"><a href="structmacro__type_ac85b6b059d0082c5603a5f795adb7dcd.html#ac85b6b059d0082c5603a5f795adb7dcd">macro_type::num_args</a></div><div class="ttdeci">int num_args</div><div class="ttdef"><b>Definition:</b> types.h:944</div></div>
|
||||
<div class="ttc" id="group__objects_gaa4d9e4dd812bbeff1de52a5e50252926_html_gaa4d9e4dd812bbeff1de52a5e50252926"><div class="ttname"><a href="group__objects_gaa4d9e4dd812bbeff1de52a5e50252926.html#gaa4d9e4dd812bbeff1de52a5e50252926">mutex</a></div><div class="ttdeci">mutex_type * mutex</div><div class="ttdef"><b>Definition:</b> types.h:573</div></div>
|
||||
<div class="ttc" id="structbytevector__type_ad8da53451474283db1081d0e479c6ce9_html_ad8da53451474283db1081d0e479c6ce9"><div class="ttname"><a href="structbytevector__type_ad8da53451474283db1081d0e479c6ce9.html#ad8da53451474283db1081d0e479c6ce9">bytevector_type::len</a></div><div class="ttdeci">int len</div><div class="ttdef"><b>Definition:</b> types.h:806</div></div>
|
||||
<div class="ttc" id="group__gc__major_gabbaa9e82df175595165b5309ffb360b5_html_gabbaa9e82df175595165b5309ffb360b5"><div class="ttname"><a href="group__gc__major_gabbaa9e82df175595165b5309ffb360b5.html#gabbaa9e82df175595165b5309ffb360b5">gc_mark_globals</a></div><div class="ttdeci">void gc_mark_globals(object globals, object global_table)</div><div class="ttdef"><b>Definition:</b> gc.c:1660</div></div>
|
||||
<div class="ttc" id="group__gc__major_gabbaa9e82df175595165b5309ffb360b5_html_gabbaa9e82df175595165b5309ffb360b5"><div class="ttname"><a href="group__gc__major_gabbaa9e82df175595165b5309ffb360b5.html#gabbaa9e82df175595165b5309ffb360b5">gc_mark_globals</a></div><div class="ttdeci">void gc_mark_globals(object globals, object global_table)</div><div class="ttdoc">Mark globals as part of the tracing collector. </div><div class="ttdef"><b>Definition:</b> gc.c:1823</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca83cb8f1483e6eb4c867ee80d7c2fead0"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca83cb8f1483e6eb4c867ee80d7c2fead0">closure0_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:39</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga2118e3b31300a7ddcd96c95e218f862e_html_ga2118e3b31300a7ddcd96c95e218f862e"><div class="ttname"><a href="group__gc__major_ga2118e3b31300a7ddcd96c95e218f862e.html#ga2118e3b31300a7ddcd96c95e218f862e">gc_print_stats</a></div><div class="ttdeci">void gc_print_stats(gc_heap *h)</div><div class="ttdef"><b>Definition:</b> gc.c:320</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga2118e3b31300a7ddcd96c95e218f862e_html_ga2118e3b31300a7ddcd96c95e218f862e"><div class="ttname"><a href="group__gc__major_ga2118e3b31300a7ddcd96c95e218f862e.html#ga2118e3b31300a7ddcd96c95e218f862e">gc_print_stats</a></div><div class="ttdeci">void gc_print_stats(gc_heap *h)</div><div class="ttdoc">Print heap usage information. Before calling this function the current thread must have the heap lock...</div><div class="ttdef"><b>Definition:</b> gc.c:321</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca72e4427c7dc45f6cd222f2c81b3df35a"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca72e4427c7dc45f6cd222f2c81b3df35a">macro_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:49</div></div>
|
||||
<div class="ttc" id="structboolean__type_a932b487836ff648e6a390b7fd09af3a8_html_a932b487836ff648e6a390b7fd09af3a8"><div class="ttname"><a href="structboolean__type_a932b487836ff648e6a390b7fd09af3a8.html#a932b487836ff648e6a390b7fd09af3a8">boolean_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:594</div></div>
|
||||
<div class="ttc" id="structclosureN__type_ad7197b423d889744ead5ee3bc0bd44f4_html_ad7197b423d889744ead5ee3bc0bd44f4"><div class="ttname"><a href="structclosureN__type_ad7197b423d889744ead5ee3bc0bd44f4.html#ad7197b423d889744ead5ee3bc0bd44f4">closureN_type::num_args</a></div><div class="ttdeci">int num_args</div><div class="ttdef"><b>Definition:</b> types.h:967</div></div>
|
||||
|
@ -201,7 +201,7 @@ $(function() {
|
|||
<div class="ttc" id="structgc__heap__t_a25fb886a786779ee4931bbf68c7be3bb_html_a25fb886a786779ee4931bbf68c7be3bb"><div class="ttname"><a href="structgc__heap__t_a25fb886a786779ee4931bbf68c7be3bb.html#a25fb886a786779ee4931bbf68c7be3bb">gc_heap_t::size</a></div><div class="ttdeci">unsigned int size</div><div class="ttdef"><b>Definition:</b> types.h:188</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca3a6f5e0f0fd27ffd0b7949ef02f9accb"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca3a6f5e0f0fd27ffd0b7949ef02f9accb">symbol_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:55</div></div>
|
||||
<div class="ttc" id="structgc__free__list__t_afb95771003988b5e30b5fbd8aedadc77_html_afb95771003988b5e30b5fbd8aedadc77"><div class="ttname"><a href="structgc__free__list__t_afb95771003988b5e30b5fbd8aedadc77.html#afb95771003988b5e30b5fbd8aedadc77">gc_free_list_t::size</a></div><div class="ttdeci">unsigned int size</div><div class="ttdef"><b>Definition:</b> types.h:178</div></div>
|
||||
<div class="ttc" id="group__gc__major_gaa8776e5cc0c3bf309c76dc61f0c7f838_html_gaa8776e5cc0c3bf309c76dc61f0c7f838"><div class="ttname"><a href="group__gc__major_gaa8776e5cc0c3bf309c76dc61f0c7f838.html#gaa8776e5cc0c3bf309c76dc61f0c7f838">gc_mark_gray</a></div><div class="ttdeci">void gc_mark_gray(gc_thread_data *thd, object obj)</div><div class="ttdef"><b>Definition:</b> gc.c:1247</div></div>
|
||||
<div class="ttc" id="group__gc__major_gaa8776e5cc0c3bf309c76dc61f0c7f838_html_gaa8776e5cc0c3bf309c76dc61f0c7f838"><div class="ttname"><a href="group__gc__major_gaa8776e5cc0c3bf309c76dc61f0c7f838.html#gaa8776e5cc0c3bf309c76dc61f0c7f838">gc_mark_gray</a></div><div class="ttdeci">void gc_mark_gray(gc_thread_data *thd, object obj)</div><div class="ttdoc">Mark the given object gray if it is on the heap. </div><div class="ttdef"><b>Definition:</b> gc.c:1367</div></div>
|
||||
<div class="ttc" id="group__objects_gaf08305e847b96d1bbe60be47d08e9589_html_gaf08305e847b96d1bbe60be47d08e9589"><div class="ttname"><a href="group__objects_gaf08305e847b96d1bbe60be47d08e9589.html#gaf08305e847b96d1bbe60be47d08e9589">tag_type</a></div><div class="ttdeci">unsigned char tag_type</div><div class="ttdef"><b>Definition:</b> types.h:66</div></div>
|
||||
<div class="ttc" id="structclosureN__type_html"><div class="ttname"><a href="structclosureN__type.html">closureN_type</a></div><div class="ttdoc">A closed-over function with zero or more closed-over variables. </div><div class="ttdef"><b>Definition:</b> types.h:963</div></div>
|
||||
<div class="ttc" id="group__gc__major_gae4b0fc6e4b949f950ecf85d3135bfd9a_html_gae4b0fc6e4b949f950ecf85d3135bfd9a"><div class="ttname"><a href="group__gc__major_gae4b0fc6e4b949f950ecf85d3135bfd9a.html#gae4b0fc6e4b949f950ecf85d3135bfd9a">gc_request_mark_globals</a></div><div class="ttdeci">void gc_request_mark_globals(void)</div><div class="ttdef"><b>Definition:</b> runtime.c:4594</div></div>
|
||||
|
@ -209,12 +209,12 @@ $(function() {
|
|||
<div class="ttc" id="structgc__heap__t_a3110f6d6f669020777a53e013a4f0402_html_a3110f6d6f669020777a53e013a4f0402"><div class="ttname"><a href="structgc__heap__t_a3110f6d6f669020777a53e013a4f0402.html#a3110f6d6f669020777a53e013a4f0402">gc_heap_t::next</a></div><div class="ttdeci">gc_heap * next</div><div class="ttdef"><b>Definition:</b> types.h:197</div></div>
|
||||
<div class="ttc" id="structvector__type_a9c10f07833cb7222674d90eff4604ce4_html_a9c10f07833cb7222674d90eff4604ce4"><div class="ttname"><a href="structvector__type_a9c10f07833cb7222674d90eff4604ce4.html#a9c10f07833cb7222674d90eff4604ce4">vector_type::elements</a></div><div class="ttdeci">object * elements</div><div class="ttdef"><b>Definition:</b> types.h:784</div></div>
|
||||
<div class="ttc" id="structstring__type_html"><div class="ttname"><a href="structstring__type.html">string_type</a></div><div class="ttdoc">The string type. </div><div class="ttdef"><b>Definition:</b> types.h:702</div></div>
|
||||
<div class="ttc" id="types_8h_a9f542dda06a1a342304c570baf6347a0_html_a9f542dda06a1a342304c570baf6347a0"><div class="ttname"><a href="types_8h_a9f542dda06a1a342304c570baf6347a0.html#a9f542dda06a1a342304c570baf6347a0">gc_alloc_from_bignum</a></div><div class="ttdeci">void * gc_alloc_from_bignum(gc_thread_data *data, bignum_type *src)</div><div class="ttdef"><b>Definition:</b> gc.c:633</div></div>
|
||||
<div class="ttc" id="types_8h_a9f542dda06a1a342304c570baf6347a0_html_a9f542dda06a1a342304c570baf6347a0"><div class="ttname"><a href="types_8h_a9f542dda06a1a342304c570baf6347a0.html#a9f542dda06a1a342304c570baf6347a0">gc_alloc_from_bignum</a></div><div class="ttdeci">void * gc_alloc_from_bignum(gc_thread_data *data, bignum_type *src)</div><div class="ttdoc">A helper function to create a heap-allocated copy of a bignum. </div><div class="ttdef"><b>Definition:</b> gc.c:679</div></div>
|
||||
<div class="ttc" id="group__objects_gaeaee2cdcfcff096e1d141208b7aec1fb_html_gaeaee2cdcfcff096e1d141208b7aec1fb"><div class="ttname"><a href="group__objects_gaeaee2cdcfcff096e1d141208b7aec1fb.html#gaeaee2cdcfcff096e1d141208b7aec1fb">boolean</a></div><div class="ttdeci">boolean_type * boolean</div><div class="ttdef"><b>Definition:</b> types.h:598</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a2cbc92fe0dad3d0f65e16e9dfcea80db_html_a2cbc92fe0dad3d0f65e16e9dfcea80db"><div class="ttname"><a href="structgc__thread__data__t_a2cbc92fe0dad3d0f65e16e9dfcea80db.html#a2cbc92fe0dad3d0f65e16e9dfcea80db">gc_thread_data_t::lock</a></div><div class="ttdeci">pthread_mutex_t lock</div><div class="ttdef"><b>Definition:</b> types.h:285</div></div>
|
||||
<div class="ttc" id="group__objects_ga5d118c88dffb9cea7d36bccb71f8e719_html_ga5d118c88dffb9cea7d36bccb71f8e719"><div class="ttname"><a href="group__objects_ga5d118c88dffb9cea7d36bccb71f8e719.html#ga5d118c88dffb9cea7d36bccb71f8e719">function_type</a></div><div class="ttdeci">void(* function_type)()</div><div class="ttdef"><b>Definition:</b> types.h:512</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e_html_gga75b3fd7dd320d8524d0dcad79cc1eb1ea264e5564774fdb4ca4947229ef0672e3"><div class="ttname"><a href="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e.html#gga75b3fd7dd320d8524d0dcad79cc1eb1ea264e5564774fdb4ca4947229ef0672e3">STATUS_ASYNC</a></div><div class="ttdef"><b>Definition:</b> types.h:225</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga15186c504a0fb0727cd7d405b0b2d9a5_html_ga15186c504a0fb0727cd7d405b0b2d9a5"><div class="ttname"><a href="group__gc__major_ga15186c504a0fb0727cd7d405b0b2d9a5.html#ga15186c504a0fb0727cd7d405b0b2d9a5">gc_copy_obj</a></div><div class="ttdeci">char * gc_copy_obj(object hp, char *obj, gc_thread_data *thd)</div><div class="ttdef"><b>Definition:</b> gc.c:349</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga15186c504a0fb0727cd7d405b0b2d9a5_html_ga15186c504a0fb0727cd7d405b0b2d9a5"><div class="ttname"><a href="group__gc__major_ga15186c504a0fb0727cd7d405b0b2d9a5.html#ga15186c504a0fb0727cd7d405b0b2d9a5">gc_copy_obj</a></div><div class="ttdeci">char * gc_copy_obj(object hp, char *obj, gc_thread_data *thd)</div><div class="ttdoc">Copy given object into given heap object. </div><div class="ttdef"><b>Definition:</b> gc.c:359</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a178ca9c0192728aeab63256e3a2e1201_html_a178ca9c0192728aeab63256e3a2e1201"><div class="ttname"><a href="structgc__thread__data__t_a178ca9c0192728aeab63256e3a2e1201.html#a178ca9c0192728aeab63256e3a2e1201">gc_thread_data_t::moveBufLen</a></div><div class="ttdeci">int moveBufLen</div><div class="ttdef"><b>Definition:</b> types.h:269</div></div>
|
||||
<div class="ttc" id="structgc__header__type__t_a3ccd7432ce43e0223518f665c3b5aa4b_html_a3ccd7432ce43e0223518f665c3b5aa4b"><div class="ttname"><a href="structgc__header__type__t_a3ccd7432ce43e0223518f665c3b5aa4b.html#a3ccd7432ce43e0223518f665c3b5aa4b">gc_header_type_t::mark</a></div><div class="ttdeci">unsigned char mark</div><div class="ttdef"><b>Definition:</b> types.h:214</div></div>
|
||||
<div class="ttc" id="structboolean__type_a52ca1061088f5c634f53496b90563bd5_html_a52ca1061088f5c634f53496b90563bd5"><div class="ttname"><a href="structboolean__type_a52ca1061088f5c634f53496b90563bd5.html#a52ca1061088f5c634f53496b90563bd5">boolean_type::desc</a></div><div class="ttdeci">const char * desc</div><div class="ttdef"><b>Definition:</b> types.h:596</div></div>
|
||||
|
@ -224,8 +224,8 @@ $(function() {
|
|||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca581e9cd7c4c1651fa5e1df5fc3e7a481"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca581e9cd7c4c1651fa5e1df5fc3e7a481">cond_var_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:42</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_ab677fceae23e9aa1c98577fd187a03fd_html_ab677fceae23e9aa1c98577fd187a03fd"><div class="ttname"><a href="structgc__thread__data__t_ab677fceae23e9aa1c98577fd187a03fd.html#ab677fceae23e9aa1c98577fd187a03fd">gc_thread_data_t::heap_lock</a></div><div class="ttdeci">pthread_mutex_t heap_lock</div><div class="ttdef"><b>Definition:</b> types.h:286</div></div>
|
||||
<div class="ttc" id="unioncommon__type_ae699edc74bddfb94d672cde83221f02a_html_ae699edc74bddfb94d672cde83221f02a"><div class="ttname"><a href="unioncommon__type_ae699edc74bddfb94d672cde83221f02a.html#ae699edc74bddfb94d672cde83221f02a">common_type::symbol_t</a></div><div class="ttdeci">symbol_type symbol_t</div><div class="ttdef"><b>Definition:</b> types.h:1030</div></div>
|
||||
<div class="ttc" id="group__gc__major_gadf94b852782bd0108138e3b97fc1113b_html_gadf94b852782bd0108138e3b97fc1113b"><div class="ttname"><a href="group__gc__major_gadf94b852782bd0108138e3b97fc1113b.html#gadf94b852782bd0108138e3b97fc1113b">gc_mutator_thread_blocked</a></div><div class="ttdeci">void gc_mutator_thread_blocked(gc_thread_data *thd, object cont)</div><div class="ttdef"><b>Definition:</b> gc.c:1840</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga2031d7ff5d1678d2aa7954c5fa3b989e_html_ga2031d7ff5d1678d2aa7954c5fa3b989e"><div class="ttname"><a href="group__gc__major_ga2031d7ff5d1678d2aa7954c5fa3b989e.html#ga2031d7ff5d1678d2aa7954c5fa3b989e">gc_merge_all_heaps</a></div><div class="ttdeci">void gc_merge_all_heaps(gc_thread_data *dest, gc_thread_data *src)</div><div class="ttdef"><b>Definition:</b> gc.c:1812</div></div>
|
||||
<div class="ttc" id="group__gc__major_gadf94b852782bd0108138e3b97fc1113b_html_gadf94b852782bd0108138e3b97fc1113b"><div class="ttname"><a href="group__gc__major_gadf94b852782bd0108138e3b97fc1113b.html#gadf94b852782bd0108138e3b97fc1113b">gc_mutator_thread_blocked</a></div><div class="ttdeci">void gc_mutator_thread_blocked(gc_thread_data *thd, object cont)</div><div class="ttdoc">Called explicitly from a mutator thread to let the collector know it (may) block for an unknown perio...</div><div class="ttdef"><b>Definition:</b> gc.c:2020</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga2031d7ff5d1678d2aa7954c5fa3b989e_html_ga2031d7ff5d1678d2aa7954c5fa3b989e"><div class="ttname"><a href="group__gc__major_ga2031d7ff5d1678d2aa7954c5fa3b989e.html#ga2031d7ff5d1678d2aa7954c5fa3b989e">gc_merge_all_heaps</a></div><div class="ttdeci">void gc_merge_all_heaps(gc_thread_data *dest, gc_thread_data *src)</div><div class="ttdoc">Merge all thread heaps into another. </div><div class="ttdef"><b>Definition:</b> gc.c:1993</div></div>
|
||||
<div class="ttc" id="structclosure0__type_a2a9ff3f20cf7027c3d6038059a99dd0b_html_a2a9ff3f20cf7027c3d6038059a99dd0b"><div class="ttname"><a href="structclosure0__type_a2a9ff3f20cf7027c3d6038059a99dd0b.html#a2a9ff3f20cf7027c3d6038059a99dd0b">closure0_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:950</div></div>
|
||||
<div class="ttc" id="structport__type_a725989e0a6fc5bb85bed2c705b090d79_html_a725989e0a6fc5bb85bed2c705b090d79"><div class="ttname"><a href="structport__type_a725989e0a6fc5bb85bed2c705b090d79.html#a725989e0a6fc5bb85bed2c705b090d79">port_type::mem_buf</a></div><div class="ttdeci">char * mem_buf</div><div class="ttdef"><b>Definition:</b> types.h:762</div></div>
|
||||
<div class="ttc" id="structcvar__type_aebce7597b1982a8d0969bb0cd369071e_html_aebce7597b1982a8d0969bb0cd369071e"><div class="ttname"><a href="structcvar__type_aebce7597b1982a8d0969bb0cd369071e.html#aebce7597b1982a8d0969bb0cd369071e">cvar_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:521</div></div>
|
||||
|
@ -249,7 +249,7 @@ $(function() {
|
|||
<div class="ttc" id="structgc__thread__data__t_a649caf94f10fc894516033734480c248_html_a649caf94f10fc894516033734480c248"><div class="ttname"><a href="structgc__thread__data__t_a649caf94f10fc894516033734480c248.html#a649caf94f10fc894516033734480c248">gc_thread_data_t::stack_prev_frame</a></div><div class="ttdeci">char * stack_prev_frame</div><div class="ttdef"><b>Definition:</b> types.h:294</div></div>
|
||||
<div class="ttc" id="structinteger__type_a252e4a6b53d990294226b160fa12edd0_html_a252e4a6b53d990294226b160fa12edd0"><div class="ttname"><a href="structinteger__type_a252e4a6b53d990294226b160fa12edd0.html#a252e4a6b53d990294226b160fa12edd0">integer_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:631</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e_html_gga75b3fd7dd320d8524d0dcad79cc1eb1ead597bf3a8cd24ac6fd2adf6a0518e38e"><div class="ttname"><a href="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e.html#gga75b3fd7dd320d8524d0dcad79cc1eb1ead597bf3a8cd24ac6fd2adf6a0518e38e">STATUS_SYNC2</a></div><div class="ttdef"><b>Definition:</b> types.h:225</div></div>
|
||||
<div class="ttc" id="group__gc__major_gaa1745070eb682d926f656f3017ccedda_html_gaa1745070eb682d926f656f3017ccedda"><div class="ttname"><a href="group__gc__major_gaa1745070eb682d926f656f3017ccedda.html#gaa1745070eb682d926f656f3017ccedda">gc_mut_update</a></div><div class="ttdeci">void gc_mut_update(gc_thread_data *thd, object old_obj, object value)</div><div class="ttdef"><b>Definition:</b> gc.c:1127</div></div>
|
||||
<div class="ttc" id="group__gc__major_gaa1745070eb682d926f656f3017ccedda_html_gaa1745070eb682d926f656f3017ccedda"><div class="ttname"><a href="group__gc__major_gaa1745070eb682d926f656f3017ccedda.html#gaa1745070eb682d926f656f3017ccedda">gc_mut_update</a></div><div class="ttdeci">void gc_mut_update(gc_thread_data *thd, object old_obj, object value)</div><div class="ttdoc">Write barrier for updates to heap-allocated objects. </div><div class="ttdef"><b>Definition:</b> gc.c:1236</div></div>
|
||||
<div class="ttc" id="structclosure1__type_a1b1955d89908a6c18d3820a55c4d71f9_html_a1b1955d89908a6c18d3820a55c4d71f9"><div class="ttname"><a href="structclosure1__type_a1b1955d89908a6c18d3820a55c4d71f9.html#a1b1955d89908a6c18d3820a55c4d71f9">closure1_type::fn</a></div><div class="ttdeci">function_type fn</div><div class="ttdef"><b>Definition:</b> types.h:958</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca086791e2eb28ae7a1c26cd97eb7f1e2e"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca086791e2eb28ae7a1c26cd97eb7f1e2e">bytevector_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:37</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_af6ff67a402ce97993651d17947260fc0_html_af6ff67a402ce97993651d17947260fc0"><div class="ttname"><a href="structgc__thread__data__t_af6ff67a402ce97993651d17947260fc0.html#af6ff67a402ce97993651d17947260fc0">gc_thread_data_t::gc_cont</a></div><div class="ttdeci">object gc_cont</div><div class="ttdef"><b>Definition:</b> types.h:274</div></div>
|
||||
|
@ -258,7 +258,7 @@ $(function() {
|
|||
<div class="ttc" id="group__gc__major_ga0a33ee3f5c77cf4b03b37e0ba3308070_html_gga0a33ee3f5c77cf4b03b37e0ba3308070a29d42023d07b3d4742b01ade8082bdf1"><div class="ttname"><a href="group__gc__major_ga0a33ee3f5c77cf4b03b37e0ba3308070.html#gga0a33ee3f5c77cf4b03b37e0ba3308070a29d42023d07b3d4742b01ade8082bdf1">STAGE_RESTING</a></div><div class="ttdef"><b>Definition:</b> types.h:231</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_ab7ab3db3c4e74034cb5217a89efec1f1_html_ab7ab3db3c4e74034cb5217a89efec1f1"><div class="ttname"><a href="structgc__thread__data__t_ab7ab3db3c4e74034cb5217a89efec1f1.html#ab7ab3db3c4e74034cb5217a89efec1f1">gc_thread_data_t::mutation_buflen</a></div><div class="ttdeci">int mutation_buflen</div><div class="ttdef"><b>Definition:</b> types.h:265</div></div>
|
||||
<div class="ttc" id="structinteger__type_abb1bd79947e5e6a92c37df165765d8f7_html_abb1bd79947e5e6a92c37df165765d8f7"><div class="ttname"><a href="structinteger__type_abb1bd79947e5e6a92c37df165765d8f7.html#abb1bd79947e5e6a92c37df165765d8f7">integer_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:630</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga9c86247beb6521f42271c87685c41288_html_ga9c86247beb6521f42271c87685c41288"><div class="ttname"><a href="group__gc__major_ga9c86247beb6521f42271c87685c41288.html#ga9c86247beb6521f42271c87685c41288">gc_thread_data_init</a></div><div class="ttdeci">void gc_thread_data_init(gc_thread_data *thd, int mut_num, char *stack_base, long stack_size)</div><div class="ttdef"><b>Definition:</b> gc.c:1692</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga9c86247beb6521f42271c87685c41288_html_ga9c86247beb6521f42271c87685c41288"><div class="ttname"><a href="group__gc__major_ga9c86247beb6521f42271c87685c41288.html#ga9c86247beb6521f42271c87685c41288">gc_thread_data_init</a></div><div class="ttdeci">void gc_thread_data_init(gc_thread_data *thd, int mut_num, char *stack_base, long stack_size)</div><div class="ttdoc">Initialize runtime data structures for a thread. </div><div class="ttdef"><b>Definition:</b> gc.c:1862</div></div>
|
||||
<div class="ttc" id="group__objects_ga3be4dc1266585983419449b4d3d2fb91_html_gga3be4dc1266585983419449b4d3d2fb91a84c9dc31e06d29b10db7d822e586619a"><div class="ttname"><a href="group__objects_ga3be4dc1266585983419449b4d3d2fb91.html#gga3be4dc1266585983419449b4d3d2fb91a84c9dc31e06d29b10db7d822e586619a">CYC_BN_LT</a></div><div class="ttdef"><b>Definition:</b> types.h:693</div></div>
|
||||
<div class="ttc" id="structbytevector__type_a386ac3cccd21baaa57eefacbeeb7cbc4_html_a386ac3cccd21baaa57eefacbeeb7cbc4"><div class="ttname"><a href="structbytevector__type_a386ac3cccd21baaa57eefacbeeb7cbc4.html#a386ac3cccd21baaa57eefacbeeb7cbc4">bytevector_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:805</div></div>
|
||||
<div class="ttc" id="structsymbol__type_ae8fd662462ee461cdc7c94367fb779a4_html_ae8fd662462ee461cdc7c94367fb779a4"><div class="ttname"><a href="structsymbol__type_ae8fd662462ee461cdc7c94367fb779a4.html#ae8fd662462ee461cdc7c94367fb779a4">symbol_type::tag</a></div><div class="ttdeci">const tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:611</div></div>
|
||||
|
@ -271,12 +271,12 @@ $(function() {
|
|||
<div class="ttc" id="structgc__heap__t_a4369f40dd3cfb0e35d00be3e8f182e47_html_a4369f40dd3cfb0e35d00be3e8f182e47"><div class="ttname"><a href="structgc__heap__t_a4369f40dd3cfb0e35d00be3e8f182e47.html#a4369f40dd3cfb0e35d00be3e8f182e47">gc_heap_t::type</a></div><div class="ttdeci">gc_heap_type type</div><div class="ttdef"><b>Definition:</b> types.h:187</div></div>
|
||||
<div class="ttc" id="structvector__type_aa184cd172fd87ba175d9b806c467bccd_html_aa184cd172fd87ba175d9b806c467bccd"><div class="ttname"><a href="structvector__type_aa184cd172fd87ba175d9b806c467bccd.html#aa184cd172fd87ba175d9b806c467bccd">vector_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:781</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga197294109a9a037b9a6641ce41ff9608_html_gga197294109a9a037b9a6641ce41ff9608ab739f1f23f93d91f85e31ab79eb247ae"><div class="ttname"><a href="group__gc__major_ga197294109a9a037b9a6641ce41ff9608.html#gga197294109a9a037b9a6641ce41ff9608ab739f1f23f93d91f85e31ab79eb247ae">CYC_THREAD_STATE_TERMINATED</a></div><div class="ttdef"><b>Definition:</b> types.h:247</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga4c76104f4bb633c0594334508f8a19b1_html_ga4c76104f4bb633c0594334508f8a19b1"><div class="ttname"><a href="group__gc__major_ga4c76104f4bb633c0594334508f8a19b1.html#ga4c76104f4bb633c0594334508f8a19b1">gc_empty_collector_stack</a></div><div class="ttdeci">void gc_empty_collector_stack()</div><div class="ttdef"><b>Definition:</b> gc.c:1459</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga4c76104f4bb633c0594334508f8a19b1_html_ga4c76104f4bb633c0594334508f8a19b1"><div class="ttname"><a href="group__gc__major_ga4c76104f4bb633c0594334508f8a19b1.html#ga4c76104f4bb633c0594334508f8a19b1">gc_empty_collector_stack</a></div><div class="ttdeci">void gc_empty_collector_stack()</div><div class="ttdoc">Empty the collector&#39;s mark stack. </div><div class="ttdef"><b>Definition:</b> gc.c:1595</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga66382faf126033f74c62e4eb8a4c4cbe_html_gga66382faf126033f74c62e4eb8a4c4cbea30669e01157b01fcedf47cdb1eeb1b66"><div class="ttname"><a href="group__gc__major_ga66382faf126033f74c62e4eb8a4c4cbe.html#gga66382faf126033f74c62e4eb8a4c4cbea30669e01157b01fcedf47cdb1eeb1b66">HEAP_64</a></div><div class="ttdef"><b>Definition:</b> types.h:164</div></div>
|
||||
<div class="ttc" id="structmutex__type_a0d7e6e4e36292220985963448c767de1_html_a0d7e6e4e36292220985963448c767de1"><div class="ttname"><a href="structmutex__type_a0d7e6e4e36292220985963448c767de1.html#a0d7e6e4e36292220985963448c767de1">mutex_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:570</div></div>
|
||||
<div class="ttc" id="group__objects_ga3be4dc1266585983419449b4d3d2fb91_html_gga3be4dc1266585983419449b4d3d2fb91a9b0debdff51e1bada0058737a358ba86"><div class="ttname"><a href="group__objects_ga3be4dc1266585983419449b4d3d2fb91.html#gga3be4dc1266585983419449b4d3d2fb91a9b0debdff51e1bada0058737a358ba86">CYC_BN_LTE</a></div><div class="ttdef"><b>Definition:</b> types.h:692</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a4f230bcbfa4d533625e450f6e7003bac_html_a4f230bcbfa4d533625e450f6e7003bac"><div class="ttname"><a href="structgc__thread__data__t_a4f230bcbfa4d533625e450f6e7003bac.html#a4f230bcbfa4d533625e450f6e7003bac">gc_thread_data_t::exception_handler_stack</a></div><div class="ttdeci">object exception_handler_stack</div><div class="ttdef"><b>Definition:</b> types.h:296</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga51690b332091995ffd5c7318f569f934_html_ga51690b332091995ffd5c7318f569f934"><div class="ttname"><a href="group__gc__major_ga51690b332091995ffd5c7318f569f934.html#ga51690b332091995ffd5c7318f569f934">gc_wait_handshake</a></div><div class="ttdeci">void gc_wait_handshake()</div><div class="ttdef"><b>Definition:</b> gc.c:1487</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga51690b332091995ffd5c7318f569f934_html_ga51690b332091995ffd5c7318f569f934"><div class="ttname"><a href="group__gc__major_ga51690b332091995ffd5c7318f569f934.html#ga51690b332091995ffd5c7318f569f934">gc_wait_handshake</a></div><div class="ttdeci">void gc_wait_handshake()</div><div class="ttdoc">Wait for all mutators to handshake. </div><div class="ttdef"><b>Definition:</b> gc.c:1640</div></div>
|
||||
<div class="ttc" id="structgc__free__list__t_html"><div class="ttname"><a href="structgc__free__list__t.html">gc_free_list_t</a></div><div class="ttdef"><b>Definition:</b> types.h:177</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a6065b6ee98c7d47067cdeeae6ef99f81_html_a6065b6ee98c7d47067cdeeae6ef99f81"><div class="ttname"><a href="structgc__thread__data__t_a6065b6ee98c7d47067cdeeae6ef99f81.html#a6065b6ee98c7d47067cdeeae6ef99f81">gc_thread_data_t::moveBuf</a></div><div class="ttdeci">void ** moveBuf</div><div class="ttdef"><b>Definition:</b> types.h:268</div></div>
|
||||
<div class="ttc" id="types_8h_a220de93ec65338197156768ff8236416_html_a220de93ec65338197156768ff8236416"><div class="ttname"><a href="types_8h_a220de93ec65338197156768ff8236416.html#a220de93ec65338197156768ff8236416">Cyc_bignum_cmp</a></div><div class="ttdeci">int Cyc_bignum_cmp(bn_cmp_type type, object x, int tx, object y, int ty)</div><div class="ttdef"><b>Definition:</b> runtime.c:1269</div></div>
|
||||
|
@ -293,13 +293,13 @@ $(function() {
|
|||
<div class="ttc" id="structgc__header__type__t_html"><div class="ttname"><a href="structgc__header__type__t.html">gc_header_type_t</a></div><div class="ttdef"><b>Definition:</b> types.h:213</div></div>
|
||||
<div class="ttc" id="structgc__thread__data__t_a44dd501044f2225e76c2b82f2c205267_html_a44dd501044f2225e76c2b82f2c205267"><div class="ttname"><a href="structgc__thread__data__t_a44dd501044f2225e76c2b82f2c205267.html#a44dd501044f2225e76c2b82f2c205267">gc_thread_data_t::thread_state</a></div><div class="ttdeci">cyc_thread_state_type thread_state</div><div class="ttdef"><b>Definition:</b> types.h:259</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga66382faf126033f74c62e4eb8a4c4cbe_html_gga66382faf126033f74c62e4eb8a4c4cbea5797bddcdba7ed39b47ad53818368c7e"><div class="ttname"><a href="group__gc__major_ga66382faf126033f74c62e4eb8a4c4cbe.html#gga66382faf126033f74c62e4eb8a4c4cbea5797bddcdba7ed39b47ad53818368c7e">HEAP_HUGE</a></div><div class="ttdef"><b>Definition:</b> types.h:167</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga976021ebdbed6eb538d78c744c1ef931_html_ga976021ebdbed6eb538d78c744c1ef931"><div class="ttname"><a href="group__gc__major_ga976021ebdbed6eb538d78c744c1ef931.html#ga976021ebdbed6eb538d78c744c1ef931">gc_alloc</a></div><div class="ttdeci">void * gc_alloc(gc_heap_root *h, size_t size, char *obj, gc_thread_data *thd, int *heap_grown)</div><div class="ttdef"><b>Definition:</b> gc.c:639</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga976021ebdbed6eb538d78c744c1ef931_html_ga976021ebdbed6eb538d78c744c1ef931"><div class="ttname"><a href="group__gc__major_ga976021ebdbed6eb538d78c744c1ef931.html#ga976021ebdbed6eb538d78c744c1ef931">gc_alloc</a></div><div class="ttdeci">void * gc_alloc(gc_heap_root *h, size_t size, char *obj, gc_thread_data *thd, int *heap_grown)</div><div class="ttdoc">Allocate memory on the heap for an object. </div><div class="ttdef"><b>Definition:</b> gc.c:698</div></div>
|
||||
<div class="ttc" id="structinteger__type_html"><div class="ttname"><a href="structinteger__type.html">integer_type</a></div><div class="ttdoc">Deprecated - boxed integers. </div><div class="ttdef"><b>Definition:</b> types.h:629</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e_html_ga75b3fd7dd320d8524d0dcad79cc1eb1e"><div class="ttname"><a href="group__gc__major_ga75b3fd7dd320d8524d0dcad79cc1eb1e.html#ga75b3fd7dd320d8524d0dcad79cc1eb1e">gc_status_type</a></div><div class="ttdeci">gc_status_type</div><div class="ttdef"><b>Definition:</b> types.h:225</div></div>
|
||||
<div class="ttc" id="structgc__free__list__t_a45bcbd3ff8e9a80a130eb340e8bb43d7_html_a45bcbd3ff8e9a80a130eb340e8bb43d7"><div class="ttname"><a href="structgc__free__list__t_a45bcbd3ff8e9a80a130eb340e8bb43d7.html#a45bcbd3ff8e9a80a130eb340e8bb43d7">gc_free_list_t::next</a></div><div class="ttdeci">gc_free_list * next</div><div class="ttdef"><b>Definition:</b> types.h:179</div></div>
|
||||
<div class="ttc" id="structclosure0__type_ac3e889a1e3dd3026c0d599eec8157631_html_ac3e889a1e3dd3026c0d599eec8157631"><div class="ttname"><a href="structclosure0__type_ac3e889a1e3dd3026c0d599eec8157631.html#ac3e889a1e3dd3026c0d599eec8157631">closure0_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:949</div></div>
|
||||
<div class="ttc" id="group__objects_gaf6c7e54de777903b917d3005d048682f_html_gaf6c7e54de777903b917d3005d048682f"><div class="ttname"><a href="group__objects_gaf6c7e54de777903b917d3005d048682f.html#gaf6c7e54de777903b917d3005d048682f">closure0</a></div><div class="ttdeci">closure0_type * closure0</div><div class="ttdef"><b>Definition:</b> types.h:972</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga2f62288e6f57fe9fbff4bae5bd782e44_html_ga2f62288e6f57fe9fbff4bae5bd782e44"><div class="ttname"><a href="group__gc__major_ga2f62288e6f57fe9fbff4bae5bd782e44.html#ga2f62288e6f57fe9fbff4bae5bd782e44">gc_allocated_bytes</a></div><div class="ttdeci">size_t gc_allocated_bytes(object obj, gc_free_list *q, gc_free_list *r)</div><div class="ttdef"><b>Definition:</b> gc.c:698</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga2f62288e6f57fe9fbff4bae5bd782e44_html_ga2f62288e6f57fe9fbff4bae5bd782e44"><div class="ttname"><a href="group__gc__major_ga2f62288e6f57fe9fbff4bae5bd782e44.html#ga2f62288e6f57fe9fbff4bae5bd782e44">gc_allocated_bytes</a></div><div class="ttdeci">size_t gc_allocated_bytes(object obj, gc_free_list *q, gc_free_list *r)</div><div class="ttdoc">Get the number of bytes that will be allocated for obj. </div><div class="ttdef"><b>Definition:</b> gc.c:764</div></div>
|
||||
<div class="ttc" id="structboolean__type_abf4f3cfc9ee18c90398f4ad272d7d7e7_html_abf4f3cfc9ee18c90398f4ad272d7d7e7"><div class="ttname"><a href="structboolean__type_abf4f3cfc9ee18c90398f4ad272d7d7e7.html#abf4f3cfc9ee18c90398f4ad272d7d7e7">boolean_type::tag</a></div><div class="ttdeci">const tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:595</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fcaa1b97741b9d11bcb16af2d2cb41d7dd4"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fcaa1b97741b9d11bcb16af2d2cb41d7dd4">eof_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:45</div></div>
|
||||
<div class="ttc" id="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fca2340947c1c16121404333142cab4990d"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fca2340947c1c16121404333142cab4990d">forward_tag</a></div><div class="ttdef"><b>Definition:</b> types.h:46</div></div>
|
||||
|
@ -313,10 +313,10 @@ $(function() {
|
|||
<div class="ttc" id="group__objects_ga3f7b6ea48cf5e71d3708ebaf8cfee378_html_ga3f7b6ea48cf5e71d3708ebaf8cfee378"><div class="ttname"><a href="group__objects_ga3f7b6ea48cf5e71d3708ebaf8cfee378.html#ga3f7b6ea48cf5e71d3708ebaf8cfee378">closure1</a></div><div class="ttdeci">closure1_type * closure1</div><div class="ttdef"><b>Definition:</b> types.h:973</div></div>
|
||||
<div class="ttc" id="structport__type_ab6822666138f9cc90d1d4f7aa7b54b88_html_ab6822666138f9cc90d1d4f7aa7b54b88"><div class="ttname"><a href="structport__type_ab6822666138f9cc90d1d4f7aa7b54b88.html#ab6822666138f9cc90d1d4f7aa7b54b88">port_type::hdr</a></div><div class="ttdeci">gc_header_type hdr</div><div class="ttdef"><b>Definition:</b> types.h:758</div></div>
|
||||
<div class="ttc" id="group__prim__glo_gac52bad1e086d5f0dc519027ea19f32c4_html_gac52bad1e086d5f0dc519027ea19f32c4"><div class="ttname"><a href="group__prim__glo_gac52bad1e086d5f0dc519027ea19f32c4.html#gac52bad1e086d5f0dc519027ea19f32c4">global_table</a></div><div class="ttdeci">list global_table</div><div class="ttdef"><b>Definition:</b> runtime.c:386</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga7f1dfa939185ca0cf6d194c991000185_html_ga7f1dfa939185ca0cf6d194c991000185"><div class="ttname"><a href="group__gc__major_ga7f1dfa939185ca0cf6d194c991000185.html#ga7f1dfa939185ca0cf6d194c991000185">gc_heap_last</a></div><div class="ttdeci">gc_heap * gc_heap_last(gc_heap *h)</div><div class="ttdef"><b>Definition:</b> gc.c:757</div></div>
|
||||
<div class="ttc" id="group__gc__major_ga7f1dfa939185ca0cf6d194c991000185_html_ga7f1dfa939185ca0cf6d194c991000185"><div class="ttname"><a href="group__gc__major_ga7f1dfa939185ca0cf6d194c991000185.html#ga7f1dfa939185ca0cf6d194c991000185">gc_heap_last</a></div><div class="ttdeci">gc_heap * gc_heap_last(gc_heap *h)</div><div class="ttdoc">Get the heap&#39;s last page. </div><div class="ttdef"><b>Definition:</b> gc.c:831</div></div>
|
||||
<div class="ttc" id="types_8h_a75a7c8dc50900925e39415036f17dae9_html_a75a7c8dc50900925e39415036f17dae9"><div class="ttname"><a href="types_8h_a75a7c8dc50900925e39415036f17dae9.html#a75a7c8dc50900925e39415036f17dae9">vpbuffer_add</a></div><div class="ttdeci">void ** vpbuffer_add(void **buf, int *len, int i, void *obj)</div><div class="ttdef"><b>Definition:</b> runtime.c:5438</div></div>
|
||||
<div class="ttc" id="group__objects_ga3be4dc1266585983419449b4d3d2fb91_html_ga3be4dc1266585983419449b4d3d2fb91"><div class="ttname"><a href="group__objects_ga3be4dc1266585983419449b4d3d2fb91.html#ga3be4dc1266585983419449b4d3d2fb91">bn_cmp_type</a></div><div class="ttdeci">bn_cmp_type</div><div class="ttdef"><b>Definition:</b> types.h:691</div></div>
|
||||
<div class="ttc" id="group__gc__major_gab19d274a8cfbf5274db73e35f2fb18b5_html_gab19d274a8cfbf5274db73e35f2fb18b5"><div class="ttname"><a href="group__gc__major_gab19d274a8cfbf5274db73e35f2fb18b5.html#gab19d274a8cfbf5274db73e35f2fb18b5">gc_sweep</a></div><div class="ttdeci">size_t gc_sweep(gc_heap *h, int heap_type, size_t *sum_freed_ptr, gc_thread_data *thd)</div><div class="ttdef"><b>Definition:</b> gc.c:852</div></div>
|
||||
<div class="ttc" id="group__gc__major_gab19d274a8cfbf5274db73e35f2fb18b5_html_gab19d274a8cfbf5274db73e35f2fb18b5"><div class="ttname"><a href="group__gc__major_gab19d274a8cfbf5274db73e35f2fb18b5.html#gab19d274a8cfbf5274db73e35f2fb18b5">gc_sweep</a></div><div class="ttdeci">size_t gc_sweep(gc_heap *h, int heap_type, size_t *sum_freed_ptr, gc_thread_data *thd)</div><div class="ttdoc">Sweep portion of the GC algorithm. </div><div class="ttdef"><b>Definition:</b> gc.c:941</div></div>
|
||||
<div class="ttc" id="structprimitive__type_aa87f759c6f42c0aec7ea269cc948a631_html_aa87f759c6f42c0aec7ea269cc948a631"><div class="ttname"><a href="structprimitive__type_aa87f759c6f42c0aec7ea269cc948a631.html#aa87f759c6f42c0aec7ea269cc948a631">primitive_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:1008</div></div>
|
||||
<div class="ttc" id="structmacro__type_a0a5219e4ec67415964cad88bbf9e7811_html_a0a5219e4ec67415964cad88bbf9e7811"><div class="ttname"><a href="structmacro__type_a0a5219e4ec67415964cad88bbf9e7811.html#a0a5219e4ec67415964cad88bbf9e7811">macro_type::tag</a></div><div class="ttdeci">tag_type tag</div><div class="ttdef"><b>Definition:</b> types.h:942</div></div>
|
||||
<div class="ttc" id="structinteger__type_a4a49d52274ccc22e33c84181af566d15_html_a4a49d52274ccc22e33c84181af566d15"><div class="ttname"><a href="structinteger__type_a4a49d52274ccc22e33c84181af566d15.html#a4a49d52274ccc22e33c84181af566d15">integer_type::padding</a></div><div class="ttdeci">int padding</div><div class="ttdef"><b>Definition:</b> types.h:633</div></div>
|
||||
|
|
Loading…
Add table
Reference in a new issue