Skip to content

Commit 8a4af0d

Browse files
committed
Fixup jit table parsing after cherrypicking changes from unity-master to use existing functionality.
1 parent b991ab6 commit 8a4af0d

File tree

4 files changed

+6
-26
lines changed

4 files changed

+6
-26
lines changed

mono/metadata/domain-internals.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -551,9 +551,6 @@ mono_jit_info_table_free (MonoJitInfoTable *table);
551551
void
552552
mono_jit_info_table_add (MonoDomain *domain, MonoJitInfo *ji);
553553

554-
void
555-
mono_jit_info_table_foreach (MonoDomain *domain, MonoJitInfoFunc func, void *user_data);
556-
557554
void
558555
mono_jit_info_table_remove (MonoDomain *domain, MonoJitInfo *ji);
559556

@@ -670,8 +667,6 @@ void mono_assembly_cleanup_domain_bindings (guint32 domain_id);
670667

671668
MonoJitInfo* mono_jit_info_table_find_internal (MonoDomain *domain, gpointer addr, gboolean try_aot, gboolean allow_trampolines);
672669

673-
typedef void (*MonoJitInfoFunc) (MonoJitInfo *ji, gpointer user_data);
674-
675670
void
676671
mono_jit_info_table_foreach_internal (MonoDomain *domain, MonoJitInfoFunc func, gpointer user_data);
677672

mono/metadata/domain.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ mono_domain_ensure_entry_assembly (MonoDomain *domain, MonoAssembly *assembly)
10701070
MONO_API void
10711071
mono_domain_jit_foreach (MonoDomain *domain, MonoJitInfoFunc func, void *user_data)
10721072
{
1073-
mono_jit_info_table_foreach (domain, func, user_data);
1073+
mono_jit_info_table_foreach_internal (domain, func, user_data);
10741074
}
10751075

10761076
MONO_API void

mono/metadata/icall-eventpipe.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,8 @@ eventpipe_fire_method_events (
134134
static
135135
void
136136
eventpipe_fire_method_events_func (
137+
MonoDomain *domain,
138+
MonoMethod *method,
137139
MonoJitInfo *ji,
138140
gpointer user_data);
139141

@@ -388,6 +390,8 @@ eventpipe_fire_method_events (
388390
static
389391
void
390392
eventpipe_fire_method_events_func (
393+
MonoDomain *domain,
394+
MonoMethod *method,
391395
MonoJitInfo *ji,
392396
gpointer user_data)
393397
{

mono/metadata/jit-info.c

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ mono_jit_info_table_foreach_internal (MonoDomain *domain, MonoJitInfoFunc func,
355355
ji = (MonoJitInfo *)mono_get_hazardous_pointer ((gpointer volatile*)&chunk->data [jit_info_index], hp, JIT_INFO_HAZARD_INDEX);
356356

357357
if (func && !IS_JIT_INFO_TOMBSTONE (ji))
358-
func (ji, user_data);
358+
func (domain, ji->d.method, ji, user_data);
359359

360360
mono_hazard_pointer_clear (hp, JIT_INFO_HAZARD_INDEX);
361361
}
@@ -805,25 +805,6 @@ mono_jit_info_table_remove (MonoDomain *domain, MonoJitInfo *ji)
805805
*
806806
* Associate the AOT code range [start, end) with IMAGE in the JIT info table.
807807
*/
808-
void
809-
mono_jit_info_table_foreach (MonoDomain *domain, MonoJitInfoFunc func, void *user_data)
810-
{
811-
mono_domain_lock (domain);
812-
813-
MonoJitInfoTable *table = domain->jit_info_table;
814-
for (int chunk_index = 0; chunk_index < table->num_chunks; ++chunk_index) {
815-
for (int info_index = 0; info_index < table->chunks[chunk_index]->num_elements; ++info_index) {
816-
MonoJitInfo *ji = table->chunks[chunk_index]->data[info_index];
817-
if (IS_JIT_INFO_TOMBSTONE (ji) || ji->is_trampoline)
818-
continue;
819-
820-
func (domain, ji->d.method, ji, user_data);
821-
}
822-
}
823-
824-
mono_domain_unlock (domain);
825-
}
826-
827808
void
828809
mono_jit_info_add_aot_module (MonoImage *image, gpointer start, gpointer end)
829810
{

0 commit comments

Comments
 (0)