@@ -264,17 +264,6 @@ func caRef1() { ca(Ref1.self) }
264
264
func caRef2( ) { ca ( Ref2 . self) }
265
265
func caRef3( ) { ca ( Ref3 . self) }
266
266
func caRef4( ) { ca ( Ref4 . self) }
267
- @inline ( never)
268
- func grabArray( ) -> [ Existential ] { // transfer array ownership to caller
269
- // FIXME: This is causing Illegal Instruction: 4 crash
270
- // defer { array = nil }
271
- // return array
272
- // This doesn't work either:
273
- // let a = array!
274
- // array = nil
275
- // return a
276
- return array!
277
- }
278
267
279
268
// `setUpFunctions` that determine which existential type will be tested
280
269
var existentialType : Existential . Type !
@@ -540,7 +529,7 @@ func run_Array_init(_ N: Int) {
540
529
}
541
530
542
531
func run_Array_method1x( _ N: Int ) {
543
- let existentialArray = grabArray ( )
532
+ let existentialArray = array!
544
533
for _ in 0 ..< N * 100 {
545
534
for elt in existentialArray {
546
535
if !elt. doIt ( ) {
@@ -551,7 +540,7 @@ func run_Array_method1x(_ N: Int) {
551
540
}
552
541
553
542
func run_Array_method2x( _ N: Int ) {
554
- let existentialArray = grabArray ( )
543
+ let existentialArray = array!
555
544
for _ in 0 ..< N * 100 {
556
545
for elt in existentialArray {
557
546
if !elt. doIt ( ) || !elt. reallyDoIt ( ) {
@@ -562,8 +551,8 @@ func run_Array_method2x(_ N: Int) {
562
551
}
563
552
564
553
func run_ArrayMutating( _ N: Int ) {
565
- var existentialArray = grabArray ( )
566
- for _ in 0 ..< N * 100 {
554
+ var existentialArray = array!
555
+ for _ in 0 ..< N * 500 {
567
556
for i in 0 ..< existentialArray. count {
568
557
if !existentialArray[ i] . mutateIt ( ) {
569
558
fatalError ( " expected true " )
@@ -573,7 +562,7 @@ func run_ArrayMutating(_ N: Int) {
573
562
}
574
563
575
564
func run_ArrayShift( _ N: Int ) {
576
- var existentialArray = grabArray ( )
565
+ var existentialArray = array!
577
566
for _ in 0 ..< N * 25 {
578
567
for i in 0 ..< existentialArray. count- 1 {
579
568
existentialArray. swapAt ( i, i+ 1 )
@@ -582,7 +571,7 @@ func run_ArrayShift(_ N: Int) {
582
571
}
583
572
584
573
func run_ArrayConditionalShift( _ N: Int ) {
585
- var existentialArray = grabArray ( )
574
+ var existentialArray = array!
586
575
for _ in 0 ..< N * 25 {
587
576
for i in 0 ..< existentialArray. count- 1 {
588
577
let curr = existentialArray [ i]
0 commit comments