#define MONO_DAC_MODULE_MAX_PATH 1024
static void
-mono_arch_unwindinfo_init_table_no_lock (void)
+init_table_no_lock (void)
{
if (g_dyn_func_table_inited == FALSE) {
g_assert_checked (g_dynamic_function_table_begin == NULL);
AcquireSRWLockExclusive (&g_dynamic_function_table_lock);
- mono_arch_unwindinfo_init_table_no_lock ();
+ init_table_no_lock ();
ReleaseSRWLockExclusive (&g_dynamic_function_table_lock);
}
}
static void
-mono_arch_unwindinfo_terminate_table_no_lock (void)
+terminate_table_no_lock (void)
{
if (g_dyn_func_table_inited == TRUE) {
if (g_dynamic_function_table_begin != NULL) {
AcquireSRWLockExclusive (&g_dynamic_function_table_lock);
- mono_arch_unwindinfo_terminate_table_no_lock ();
+ terminate_table_no_lock ();
ReleaseSRWLockExclusive (&g_dynamic_function_table_lock);
}
}
static GList *
-mono_arch_unwindinfo_fast_find_range_in_table_no_lock_ex (gsize begin_range, gsize end_range, gboolean *continue_search)
+fast_find_range_in_table_no_lock_ex (gsize begin_range, gsize end_range, gboolean *continue_search)
{
GList *found_entry = NULL;
}
static inline DynamicFunctionTableEntry *
-mono_arch_unwindinfo_fast_find_range_in_table_no_lock (gsize begin_range, gsize end_range, gboolean *continue_search)
+fast_find_range_in_table_no_lock (gsize begin_range, gsize end_range, gboolean *continue_search)
{
- GList *found_entry = mono_arch_unwindinfo_fast_find_range_in_table_no_lock_ex (begin_range, end_range, continue_search);
+ GList *found_entry = fast_find_range_in_table_no_lock_ex (begin_range, end_range, continue_search);
return (found_entry != NULL) ? (DynamicFunctionTableEntry *)found_entry->data : NULL;
}
static GList *
-mono_arch_unwindinfo_find_range_in_table_no_lock_ex (const gpointer code_block, gsize block_size)
+find_range_in_table_no_lock_ex (const gpointer code_block, gsize block_size)
{
GList *found_entry = NULL;
gboolean continue_search = FALSE;
gsize end_range = begin_range + block_size;
// Fast path, check table boundaries.
- found_entry = mono_arch_unwindinfo_fast_find_range_in_table_no_lock_ex (begin_range, end_range, &continue_search);
+ found_entry = fast_find_range_in_table_no_lock_ex (begin_range, end_range, &continue_search);
if (found_entry || continue_search == FALSE)
return found_entry;
}
static inline DynamicFunctionTableEntry *
-mono_arch_unwindinfo_find_range_in_table_no_lock (const gpointer code_block, gsize block_size)
+find_range_in_table_no_lock (const gpointer code_block, gsize block_size)
{
- GList *found_entry = mono_arch_unwindinfo_find_range_in_table_no_lock_ex (code_block, block_size);
+ GList *found_entry = find_range_in_table_no_lock_ex (code_block, block_size);
return (found_entry != NULL) ? (DynamicFunctionTableEntry *)found_entry->data : NULL;
}
static GList *
-mono_arch_unwindinfo_find_pc_in_table_no_lock_ex (const gpointer pc)
+find_pc_in_table_no_lock_ex (const gpointer pc)
{
GList *found_entry = NULL;
gboolean continue_search = FALSE;
gsize end_range = begin_range;
// Fast path, check table boundaries.
- found_entry = mono_arch_unwindinfo_fast_find_range_in_table_no_lock_ex (begin_range, begin_range, &continue_search);
+ found_entry = fast_find_range_in_table_no_lock_ex (begin_range, begin_range, &continue_search);
if (found_entry || continue_search == FALSE)
return found_entry;
}
static inline DynamicFunctionTableEntry *
-mono_arch_unwindinfo_find_pc_in_table_no_lock (const gpointer pc)
+find_pc_in_table_no_lock (const gpointer pc)
{
- GList *found_entry = mono_arch_unwindinfo_find_pc_in_table_no_lock_ex (pc);
+ GList *found_entry = find_pc_in_table_no_lock_ex (pc);
return (found_entry != NULL) ? (DynamicFunctionTableEntry *)found_entry->data : NULL;
}
#ifdef ENABLE_CHECKED_BUILD_UNWINDINFO
static void
-mono_arch_unwindinfo_validate_table_no_lock (void)
+validate_table_no_lock (void)
{
// Validation method checking that table is sorted as expected and don't include overlapped regions.
// Method will assert on failure to explicitly indicate what check failed.
#else
static inline void
-mono_arch_unwindinfo_validate_table_no_lock (void)
+validate_table_no_lock (void)
{
;
}
gsize end_range = begin_range + block_size;
AcquireSRWLockExclusive (&g_dynamic_function_table_lock);
- mono_arch_unwindinfo_init_table_no_lock ();
- new_entry = mono_arch_unwindinfo_find_range_in_table_no_lock (code_block, block_size);
+ init_table_no_lock ();
+ new_entry = find_range_in_table_no_lock (code_block, block_size);
if (new_entry == NULL) {
// Allocate new entry.
new_entry = g_new0 (DynamicFunctionTableEntry, 1);
}
// Only included in checked builds. Validates the structure of table after insert.
- mono_arch_unwindinfo_validate_table_no_lock ();
+ validate_table_no_lock ();
} else {
g_free (new_entry);
}
static void
-mono_arch_unwindinfo_remove_range_in_table_no_lock (GList *entry)
+remove_range_in_table_no_lock (GList *entry)
{
if (entry != NULL) {
if (entry == g_dynamic_function_table_end)
}
// Only included in checked builds. Validates the structure of table after remove.
- mono_arch_unwindinfo_validate_table_no_lock ();
+ validate_table_no_lock ();
}
void
{
AcquireSRWLockExclusive (&g_dynamic_function_table_lock);
- GList *found_entry = mono_arch_unwindinfo_find_pc_in_table_no_lock_ex (code);
+ GList *found_entry = find_pc_in_table_no_lock_ex (code);
g_assert_checked (found_entry != NULL || ((DynamicFunctionTableEntry *)found_entry->data)->begin_range == (gsize)code);
- mono_arch_unwindinfo_remove_range_in_table_no_lock (found_entry);
+ remove_range_in_table_no_lock (found_entry);
ReleaseSRWLockExclusive (&g_dynamic_function_table_lock);
}
{
AcquireSRWLockExclusive (&g_dynamic_function_table_lock);
- GList *found_entry = mono_arch_unwindinfo_find_range_in_table_no_lock_ex (code_block, block_size);
+ GList *found_entry = find_range_in_table_no_lock_ex (code_block, block_size);
g_assert_checked (found_entry != NULL || ((DynamicFunctionTableEntry *)found_entry->data)->begin_range == (gsize)code_block);
- mono_arch_unwindinfo_remove_range_in_table_no_lock (found_entry);
+ remove_range_in_table_no_lock (found_entry);
ReleaseSRWLockExclusive (&g_dynamic_function_table_lock);
}
AcquireSRWLockShared (&g_dynamic_function_table_lock);
- DynamicFunctionTableEntry *found_entry = mono_arch_unwindinfo_find_pc_in_table_no_lock (code);
+ DynamicFunctionTableEntry *found_entry = find_pc_in_table_no_lock (code);
if (found_entry != NULL) {
#ifdef ENABLE_CHECKED_BUILD_UNWINDINFO
static void
-mono_arch_unwindinfo_validate_rt_funcs_in_table_no_lock (DynamicFunctionTableEntry *entry)
+validate_rt_funcs_in_table_no_lock (DynamicFunctionTableEntry *entry)
{
// Validation method checking that runtime function table is sorted as expected and don't include overlapped regions.
// Method will assert on failure to explicitly indicate what check failed.
#else
static inline void
-mono_arch_unwindinfo_validate_rt_funcs_in_table_no_lock (DynamicFunctionTableEntry *entry)
+validate_rt_funcs_in_table_no_lock (DynamicFunctionTableEntry *entry)
{
;
}
AcquireSRWLockShared (&g_dynamic_function_table_lock);
- DynamicFunctionTableEntry *found_entry = mono_arch_unwindinfo_find_pc_in_table_no_lock (code);
+ DynamicFunctionTableEntry *found_entry = find_pc_in_table_no_lock (code);
if (found_entry != NULL) {
}
// Only included in checked builds. Validates the structure of table after insert.
- mono_arch_unwindinfo_validate_rt_funcs_in_table_no_lock (found_entry);
+ validate_rt_funcs_in_table_no_lock (found_entry);
ReleaseSRWLockExclusive (&found_entry->lock);
}
}
static void
-mono_arch_unwindinfo_initialize_unwind_info_internal_ex (GSList *unwind_ops, PUNWIND_INFO unwindinfo)
+initialize_unwind_info_internal_ex (GSList *unwind_ops, PUNWIND_INFO unwindinfo)
{
if (unwind_ops != NULL && unwindinfo != NULL) {
MonoUnwindOp *unwind_op_data;
}
static PUNWIND_INFO
-mono_arch_unwindinfo_initialize_unwind_info_internal (GSList *unwind_ops)
+initialize_unwind_info_internal (GSList *unwind_ops)
{
PUNWIND_INFO unwindinfo;
mono_arch_unwindinfo_create (&unwindinfo);
- mono_arch_unwindinfo_initialize_unwind_info_internal_ex (unwind_ops, unwindinfo);
+ initialize_unwind_info_internal_ex (unwind_ops, unwindinfo);
return unwindinfo;
}
mono_arch_unwindinfo_get_code_count (GSList *unwind_ops)
{
UNWIND_INFO unwindinfo = {0};
- mono_arch_unwindinfo_initialize_unwind_info_internal_ex (unwind_ops, &unwindinfo);
+ initialize_unwind_info_internal_ex (unwind_ops, &unwindinfo);
return unwindinfo.CountOfCodes;
}
{
MonoCompile * current_cfg = (MonoCompile *)cfg;
g_assert (current_cfg->arch.unwindinfo == NULL);
- current_cfg->arch.unwindinfo = mono_arch_unwindinfo_initialize_unwind_info_internal (current_cfg->unwind_ops);
+ current_cfg->arch.unwindinfo = initialize_unwind_info_internal (current_cfg->unwind_ops);
return mono_arch_unwindinfo_get_size (((PUNWIND_INFO)(current_cfg->arch.unwindinfo))->CountOfCodes);
}
void
mono_arch_unwindinfo_install_tramp_unwind_info (GSList *unwind_ops, gpointer code, guint code_size)
{
- PUNWIND_INFO unwindinfo = mono_arch_unwindinfo_initialize_unwind_info_internal (unwind_ops);
+ PUNWIND_INFO unwindinfo = initialize_unwind_info_internal (unwind_ops);
if (unwindinfo != NULL) {
mono_arch_unwindinfo_install_method_unwind_info (&unwindinfo, code, code_size);
}