Skip to content

Commit 6571c29

Browse files
committed
[tests] Add gc bridge test that is failing
1 parent cb73f6d commit 6571c29

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

src/tests/GC/Features/Bridge/Bridge.cs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,12 @@ public class Bridge1 : BridgeBase
8989
}
9090
}
9191

92+
[InlineArray(14)]
93+
public struct InlineData
94+
{
95+
public object obj;
96+
}
97+
9298
// 128 size
9399
public class Bridge14 : BridgeBase
94100
{
@@ -107,7 +113,7 @@ public class NonBridge2 : NonBridge
107113

108114
public class NonBridge14
109115
{
110-
public object a,b,c,d,e,f,g,h,i,j,k,l,m,n;
116+
public InlineData Data;
111117
}
112118

113119

@@ -403,6 +409,27 @@ static void SetupFragmentation<TBridge, TNonBridge>()
403409
}
404410
}
405411

412+
public static void BridgelessHeavyColorChanging()
413+
{
414+
Bridge1[] left = new Bridge1[8];
415+
for (int i = 0; i < 8; i++)
416+
left[i] = new Bridge1();
417+
Bridge[] right = new Bridge[7];
418+
for (int i = 0; i < 7; i++)
419+
right[i] = new Bridge();
420+
NonBridge2 right7 = new NonBridge2();
421+
422+
NonBridge14 mid = new NonBridge14();
423+
424+
for (int i = 0; i < 8; i++)
425+
left[i].Link = mid;
426+
for (int i = 0; i < 7; i++)
427+
mid.Data[i] = right[i];
428+
mid.Data[7] = right7;
429+
right7.Link = right[6];
430+
right7.Link2 = right[5];
431+
}
432+
406433
public static int Main(string[] args)
407434
{
408435
TestLinkedList();
@@ -417,6 +444,7 @@ public static int Main(string[] args)
417444
RunGraphTest(NestedCycles);
418445
RunGraphTest(FauxHeavyNodeWithCycles);
419446
RunGraphTest(Spider);
447+
RunGraphTest(BridgelessHeavyColorChanging);
420448
return 100;
421449
}
422450
}

0 commit comments

Comments
 (0)