@@ -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
9399public class Bridge14 : BridgeBase
94100{
@@ -107,7 +113,7 @@ public class NonBridge2 : NonBridge
107113
108114public 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