stdlib: Add some inlining attributes to help the optimizer getting the right inlining decisions.

This is more or less a workaround for some optimizations (mainly ARC opt) to avoid performance degradation with the upcoming inliner changes
In some situations it makes a big difference for ARC opt if a function is inlined or not, althought this shouldn't be the case.
This commit is contained in:
Erik Eckstein
2016-03-26 08:02:15 -07:00
parent 8e624a655b
commit 8b0e36779e
5 changed files with 51 additions and 19 deletions

View File

@@ -200,6 +200,7 @@ public struct _StringBuffer {
/// - parameter bounds: Range of the substring that the caller tries
/// to extend.
/// - parameter newUsedCount: The desired size of the substring.
@inline(__always)
mutating func grow(
oldBounds bounds: Range<UnsafePointer<_RawByte>>, newUsedCount: Int
) -> Bool {