Commit Graph

7 Commits

Author SHA1 Message Date
Karoy Lorentey
deeff6b55e [test] SmallString: Don’t import Foundation where it’s not available 2019-04-18 11:44:17 -07:00
Karoy Lorentey
a2f8ba691c [test] Re-enable SmallString tests with correct platform checks 2019-04-17 16:45:23 -07:00
Xi Ge
b2b128caa0 test: temporarily disable several failing tests on CI. rdar://49026133 2019-03-19 11:18:05 -07:00
Michael Ilseman
e6582c37ee [test] Adjust String tests for UTF-8 representation.
Adjust tests for the UTF-8 representation, in preparation for 32-bit
support. Includes UTF-8 literal update.
2018-11-04 10:42:41 -08:00
Michael Ilseman
1859ae404a [test] Internalize SmallString; NFC 2018-08-01 14:23:56 -07:00
Michael Ilseman
459833725e [String] Streamline more String creation logic.
Streamline and de-genericize non-inlinable internal functions to
create a String from UTF-8 efficiently.
2018-05-13 07:38:55 -07:00
Michael Ilseman
cb9dc84d72 [string] Initial small string implementation.
This adds a small string representation capable of holding up to 15
ASCII code units directly in registers. This is extendable to UTF-8 in
the future.

It is intended to be the preferred representation whenever possible
for String, and is intended to be a String fast-path. Future small
forms may be added in the future (likely off the fast-path).

Small strings are available on 64-bit, where they are most beneficial
and well accomodated by limited address spaces. They are unavailable
on 32-bit, where they are less of a win and would require much more
hackery due to full address spaces.
2018-03-27 14:00:55 -07:00