Parameters
Remarkscman: a code manager data: the pointer returned by mono_code_manager_reserve () size: the size requested in the call to mono_code_manager_reserve () newsize: the new size to reserve
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.
Parameters
Remarkscman: a code manager
Free all the memory associated with the code manager cman.
Parameters
Remarkscman: a code manager func: a callback function pointer user_data: additional data to pass to func
Invokes the callback func for each different chunk of memory allocated in the code manager cman.
Parameters
Remarkscman: a code manager
Fill all the memory with an invalid native code value so that any attempt to execute code allocated in the code manager cman will fail. This is used for debugging purposes.
Returns
the new code managerRemarks
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.
Returns
the new code managerRemarks
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.
Parameters
Returnscman: a code manager size: size of memory to allocate
the pointer to the allocated memory or NULL on failureRemarks
Allocates at least size bytes of memory inside the code manager cman.
The core services of Mono are independent of the execution system. The interpreter and the native code generator both use the functions in the following section to register handlers to execute code with the execution system.
These APIs would allow a different execution engine (code generator or interpreter) to be hooked to the rest of the Mono VM.
Parameters
Remarksfunc: function to install
This is a VM internal routine
Parameters
Remarksfunc: pointer to the MonoFreeMethodFunc used to release a method
This is an internal VM routine, it is used for the engines to register a handler to release the resources associated with a method. Methods are freed when no more references to the delegate that holds them are left.
Parameters
Remarksfunc: exception handler
This is an internal JIT routine used to install the handler for exceptions being throwh.
Parameters
Remarksfunc: Function to install
This is a VM internal routine