Commits

Dave Abrahams committed d9c750eefdd
[stdlib] Remove ArrayBuffer indirection The case where Array stores class instances no longer requires an intermediate indirect buffer object. Also fixes <rdar://problem/17348939> These are the speed changes < 0.95x and > 1.05x, as I measured them. Although I don't have great confidence in these numbers, some are consistent with Arnold's measurements, FWIW. -O: 0.93 ArrayLiteral 1.56 Ary 1.39 Ary2 1.06 CaptureProp 1.93 ClassArrayGetter 1.08 DeltaBlue 1.08 DollarChain 1.13 InsertionSort 1.08 PrimeNum 1.11 RC4 0.93 Rectangles 1.08 SwiftStructuresBubbleSort -Onone: 1.06 ArrayLiteral 1.10 ArraySubscript 1.12 Ary 1.12 Ary2 1.10 Ary3 1.20 ClassArrayGetter 1.19 DeltaBlue 1.08 DollarChain 1.09 Hash 1.07 Havlak 1.10 HeapSort 1.11 ImageProc 1.17 InsertionSort 1.18 Memset 1.11 NBody 1.07 PrimeNum 1.11 QuickSort 1.12 RC4 1.08 Rectangles 1.07 SelectionSort 1.06 StringBuilder 1.12 SwiftStructuresBubbleSort 1.10 Walsh 1.12 XorLoop -Ounchecked: 0.91 ArrayLiteral 1.74 Ary 1.53 Ary2 2.08 ClassArrayGetter 1.19 DeltaBlue 1.06 DollarChain 1.07 Havlak 1.09 ImageProc 1.22 InsertionSort 0.89 PopFrontArrayGeneric 1.11 PrimeNum 0.85 QuickSort 1.10 RC4 1.12 Rectangles 1.06 StrToInt 1.11 SwiftStructuresBubbleSort Swift SVN r23551