From d0e13041d8c090a15af8f066c32a94a12c45bfbc Mon Sep 17 00:00:00 2001 From: Vlad Brezae Date: Fri, 31 Oct 2025 12:22:23 +0200 Subject: [PATCH 1/2] [mono][sgen] Fix print of color data index during debug dumping --- src/mono/mono/metadata/sgen-tarjan-bridge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mono/mono/metadata/sgen-tarjan-bridge.c b/src/mono/mono/metadata/sgen-tarjan-bridge.c index 7a8ad5961d98e7..09b53051321353 100644 --- a/src/mono/mono/metadata/sgen-tarjan-bridge.c +++ b/src/mono/mono/metadata/sgen-tarjan-bridge.c @@ -976,9 +976,9 @@ dump_color_table (const char *why, gboolean do_index) int i = 0, j; printf ("colors%s:\n", why); - for (cur = root_color_bucket; cur; cur = cur->next, ++i) { + for (cur = root_color_bucket; cur; cur = cur->next) { ColorData *cd; - for (cd = &cur->data [0]; cd < cur->next_data; ++cd) { + for (cd = &cur->data [0]; cd < cur->next_data; ++cd, ++i) { if (do_index) printf ("\t%d(%d):", i, cd->api_index); else From 8c199203ebd8a7e21bc047ff0ba71075014b273f Mon Sep 17 00:00:00 2001 From: Vlad Brezae Date: Fri, 31 Oct 2025 12:30:30 +0200 Subject: [PATCH 2/2] [mono][sgen] Add option to disable tarjan gc bridge optimization This option is also currently causing crashes in the gc bridge. --- src/mono/mono/metadata/sgen-bridge.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mono/mono/metadata/sgen-bridge.c b/src/mono/mono/metadata/sgen-bridge.c index 1f7dc31c9b4b11..d29e2ff50cceac 100644 --- a/src/mono/mono/metadata/sgen-bridge.c +++ b/src/mono/mono/metadata/sgen-bridge.c @@ -687,6 +687,8 @@ sgen_bridge_handle_gc_param (const char *opt) if (!strcmp (opt, "bridge-require-precise-merge")) { bridge_processor_config.scc_precise_merge = TRUE; + } else if (!strcmp (opt, "disable-non-bridge-scc")) { + bridge_processor_config.disable_non_bridge_scc = TRUE; } else { return FALSE; }