@@ -577,8 +577,7 @@ protected Object compactObjects(RubyArray array,
577
577
578
578
stores .clear (oldStore , m , size - m );
579
579
580
- array .store = newStore ;
581
- array .size = m ;
580
+ setStoreAndSize (array , newStore , m );
582
581
583
582
if (m == size ) {
584
583
return nil ;
@@ -740,8 +739,7 @@ private Object delete(RubyArray array, Object value, Object maybeBlock,
740
739
if (sameStores ) {
741
740
oldStores .clear (oldStore , i , size - i );
742
741
}
743
- array .store = newStore ;
744
- array .size = i ;
742
+ setStoreAndSize (array , newStore , i );
745
743
return found ;
746
744
} else {
747
745
if (maybeBlock == nil ) {
@@ -794,8 +792,7 @@ protected Object deleteAt(RubyArray array, int index,
794
792
final Object value = stores .read (store , i );
795
793
stores .copyContents (store , i + 1 , store , i , size - i - 1 );
796
794
stores .clear (store , size - 1 , 1 );
797
- array .store = store ;
798
- array .size = size - 1 ;
795
+ setStoreAndSize (array , store , size - 1 );
799
796
return value ;
800
797
}
801
798
}
@@ -822,8 +819,7 @@ protected Object deleteAtCopying(RubyArray array, int index,
822
819
stores .copyContents (store , 0 , mutableStore , 0 , i );
823
820
final Object value = stores .read (store , i );
824
821
stores .copyContents (store , i + 1 , mutableStore , i , size - i - 1 );
825
- array .store = mutableStore ;
826
- array .size = size - 1 ;
822
+ setStoreAndSize (array , mutableStore , size - 1 );
827
823
return value ;
828
824
}
829
825
}
@@ -2141,8 +2137,7 @@ protected Object shiftOther(RubyArray array, NotProvided n,
2141
2137
final int size = array .size ;
2142
2138
final Object value = stores .read (store , 0 );
2143
2139
stores .clear (store , 0 , 1 );
2144
- array .store = stores .extractRange (store , 1 , size );
2145
- setSize (array , size - 1 );
2140
+ setStoreAndSize (array , stores .extractRange (store , 1 , size ), size - 1 );
2146
2141
return value ;
2147
2142
}
2148
2143
@@ -2310,10 +2305,8 @@ protected RubyArray stealStorage(RubyArray array, RubyArray other,
2310
2305
2311
2306
final int size = other .size ;
2312
2307
final Object store = other .store ;
2313
- array .store = store ;
2314
- array .size = size ;
2315
- other .store = stores .initialStore (store );
2316
- other .size = 0 ;
2308
+ setStoreAndSize (array , store , size );
2309
+ setStoreAndSize (other , stores .initialStore (store ), 0 );
2317
2310
2318
2311
return array ;
2319
2312
}
0 commit comments