2c051c3d51
Former-commit-id: 4f1f69b42e04def9a697c2550b23b9cae645ef29
162 lines
4.4 KiB
HTML
162 lines
4.4 KiB
HTML
<?xml version="1.0" encoding="us-ascii"?><span>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>mono-api-codegen.html</title>
|
|
<style type="text/css">
|
|
|
|
|
|
h3 {
|
|
font-size: 18px;
|
|
padding-bottom: 4pt;
|
|
border-bottom: 2px solid #dddddd;
|
|
}
|
|
|
|
.api {
|
|
border: 1px solid;
|
|
padding: 10pt;
|
|
margin: 10pt;
|
|
}
|
|
|
|
.api-entry {
|
|
border-bottom: none;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.prototype {
|
|
border: 1px solid;
|
|
background-color: #f2f2f2;
|
|
padding: 5pt;
|
|
margin-top: 5pt;
|
|
margin-bottom: 5pt;
|
|
}
|
|
|
|
.header {
|
|
border: 1px solid;
|
|
padding: 0 0 5pt 5pt;
|
|
margin: 10pt;
|
|
white-space: pre;
|
|
font-family: monospace;
|
|
}
|
|
|
|
.code {
|
|
border: 1px solid;
|
|
padding: 0 0 5pt 5pt;
|
|
margin: 10pt;
|
|
white-space: pre;
|
|
font-family: monospace;
|
|
}
|
|
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h3>Code manager</h3>
|
|
|
|
<a name="api:mono_code_manager_commit"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_code_manager_commit</div>
|
|
|
|
<div class="prototype">void
|
|
mono_code_manager_commit (MonoCodeManager *cman, void *data, int size, int newsize)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>data:</i></dt><dd> the pointer returned by mono_code_manager_reserve ()</dd><dt><i>size:</i></dt><dd> the size requested in the call to mono_code_manager_reserve ()</dd><dt><i>newsize:</i></dt><dd> the new size to reserve</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
If we reserved too much room for a method and we didn't allocate
|
|
already from the code manager, we can get back the excess allocation
|
|
for later use in the code manager.
|
|
|
|
</div> <a name="api:mono_code_manager_destroy"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_code_manager_destroy</div>
|
|
|
|
<div class="prototype">void
|
|
mono_code_manager_destroy (MonoCodeManager *cman)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Free all the memory associated with the code manager <i>cman</i>.
|
|
|
|
</div> <a name="api:mono_code_manager_foreach"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_code_manager_foreach</div>
|
|
|
|
<div class="prototype">void
|
|
mono_code_manager_foreach (MonoCodeManager *cman, MonoCodeManagerFunc func, void *user_data)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>func:</i></dt><dd> a callback function pointer</dd><dt><i>user_data:</i></dt><dd> additional data to pass to <i>func</i></dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Invokes the callback <i>func</i> for each different chunk of memory allocated
|
|
in the code manager <i>cman</i>.
|
|
|
|
</div> <a name="api:mono_code_manager_invalidate"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_code_manager_invalidate</div>
|
|
|
|
<div class="prototype">void
|
|
mono_code_manager_invalidate (MonoCodeManager *cman)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Parameters</b>
|
|
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd></blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Fill all the memory with an invalid native code value
|
|
so that any attempt to execute code allocated in the code
|
|
manager <i>cman</i> will fail. This is used for debugging purposes.
|
|
|
|
</div> <a name="api:mono_code_manager_new_dynamic"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_code_manager_new_dynamic</div>
|
|
|
|
<div class="prototype">MonoCodeManager*
|
|
mono_code_manager_new_dynamic (void)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Returns</b>
|
|
<blockquote> the new code manager
|
|
</blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Creates a new code manager suitable for holding native code that can be
|
|
used for single or small methods that need to be deallocated independently
|
|
of other native code.
|
|
|
|
|
|
</div> <a name="api:mono_code_manager_new"></a>
|
|
<div class="api">
|
|
<div class="api-entry">mono_code_manager_new</div>
|
|
|
|
<div class="prototype">MonoCodeManager*
|
|
mono_code_manager_new (void)
|
|
|
|
</div>
|
|
<p />
|
|
<b>Returns</b>
|
|
<blockquote> the new code manager
|
|
</blockquote>
|
|
<b>Remarks</b>
|
|
<p />
|
|
Creates a new code manager. A code manager can be used to allocate memory
|
|
suitable for storing native code that can be later executed.
|
|
A code manager allocates memory from the operating system in large chunks
|
|
(typically 64KB in size) so that many methods can be allocated inside them
|
|
close together, improving cache locality.
|
|
|
|
|
|
</div></body>
|
|
</html>
|
|
</span> |