-/*
- * seq-points.c: Sequence Points functions
+/**
+ * \file
+ * Sequence Points functions
*
* Authors:
* Marcos Henrich (marcos.henrich@xamarin.com)
g_free (next);
cfg->seq_point_info = mono_seq_point_info_new (array->len, TRUE, array->data, has_debug_data, &seq_info_size);
- mono_jit_stats.allocated_seq_points_size += seq_info_size;
+ InterlockedAdd (&mono_jit_stats.allocated_seq_points_size, seq_info_size);
g_byte_array_free (array, TRUE);
// FIXME: dynamic methods
if (!cfg->compile_aot) {
mono_domain_lock (domain);
- // FIXME: How can the lookup succeed ?
+ // FIXME: The lookup can fail if the method is JITted recursively though a type cctor
if (!g_hash_table_lookup (domain_jit_info (domain)->seq_points, cfg->method_to_register))
g_hash_table_insert (domain_jit_info (domain)->seq_points, cfg->method_to_register, cfg->seq_point_info);
+ else
+ mono_seq_point_info_free (cfg->seq_point_info);
mono_domain_unlock (domain);
}