diff --git a/src/mono/mono/metadata/sgen-tarjan-bridge.c b/src/mono/mono/metadata/sgen-tarjan-bridge.c index e8e85df84cde32..9e120f01db6f6f 100644 --- a/src/mono/mono/metadata/sgen-tarjan-bridge.c +++ b/src/mono/mono/metadata/sgen-tarjan-bridge.c @@ -746,7 +746,7 @@ create_scc (ScanData *data) for (i = dyn_array_ptr_size (&loop_stack) - 1; i >= 0; --i) { ScanData *other = (ScanData *)dyn_array_ptr_get (&loop_stack, i); found_bridge |= other->is_bridge; - if (dyn_array_ptr_size (&other->xrefs) > 0) { + if (dyn_array_ptr_size (&other->xrefs) > 0 || found_bridge) { // This scc will have more xrefs than the ones from the color_merge_array, // we will need to create a new color to store this information. can_reduce_color = FALSE; diff --git a/src/tests/GC/Features/Bridge/BridgeTester.csproj b/src/tests/GC/Features/Bridge/BridgeTester.csproj index 623a1d7c045415..5045d91e4c89a8 100644 --- a/src/tests/GC/Features/Bridge/BridgeTester.csproj +++ b/src/tests/GC/Features/Bridge/BridgeTester.csproj @@ -1,7 +1,7 @@ true - true + true