Itai Ferber
71819ef4e0
Merge pull request #10105 from linqingmo/dictionary-decodable-fix
...
Dictionary decodable fix
2017-06-05 09:33:53 -07:00
sushangjin
279f4d9f8e
ditionary-decodable-fix
2017-06-05 11:40:12 +08:00
Roman Levenstein
0f788727bf
Merge pull request #10096 from swiftix/inliner-improvements2
...
Reduce code size of the stdlib
2017-06-04 20:29:13 -07:00
Dave Abrahams
eb04df45f4
[stdlib] Eliminate over-constraint on StringProtocol
2017-06-03 17:18:20 -07:00
Roman Levenstein
ecff16cba3
Reduce code size of the stdlib
...
This should reduce the code size of the stdlib by 1.5%.
2017-06-03 14:22:12 -07:00
Dave Abrahams
9050d74647
[stdlib] Inline fast paths of String append
2017-06-03 13:33:58 -07:00
Dave Abrahams
508e9a627d
[stdlib] ASCII fastpath for UTF16.transcodedLength
2017-06-03 13:08:11 -07:00
Dave Abrahams
ceff7a5573
[stdlib] Rewrite UTF16.transcodedLength
2017-06-03 13:08:11 -07:00
Dave Abrahams
7db9ba8dd2
[stdlib] Replace UTF8.EncodedScalar
...
This is a way of testing infrastructure for an updated UTF8View iterator
2017-06-03 13:08:11 -07:00
Ben Cohen
d0c0043f93
[stdlib] Use ephemeral string for substring comparison ( #10009 )
...
* Use _ephemeralString for substring comparison
Add back != for String/Substring comparison
* OK fine, Linux, if you're going to be difficult
* Different forms of comparison, tests
2017-06-03 11:20:01 -07:00
Roman Levenstein
f98f1269be
Merge pull request #10080 from swiftix/inliner-improvements2
...
[sil-generic-specializer] Do not specialize Mirror._superclassIterator to reduce the stdlib code size
2017-06-03 10:16:59 -07:00
swift-ci
dbad2eb785
Merge pull request #10082 from dabrahams/inline-character-comparison-fast-paths
2017-06-02 18:44:24 -07:00
Dave Abrahams
8fdee4cdb7
[stdlib] Inline Character comparison fast paths
2017-06-02 16:28:48 -07:00
Roman Levenstein
28c14a976d
[sil-generic-specializer] Do not specialize Mirror._superclassIterator to reduce the stdlib code size
...
This shaves off 3.2% of the stdlib’s code size.
2017-06-02 15:29:41 -07:00
Arnold Schwaighofer
326ff7efad
Merge pull request #10044 from aschwaighofer/stdlib_outline_parseASCII
...
stdlib: Outline integer parsing code in FixedWidthInteger.init(_: radix:) on the slow paths
2017-06-02 12:49:39 -07:00
Dave Abrahams
f212fac717
[stdlib] Access a Character's .unicodeScalars without allocation
2017-06-02 11:52:33 -07:00
Dave Abrahams
3a7a30a822
Merge pull request #10059 from apple/utf16-small-character
...
[stdlib] Encode small Characters as UTF-16
2017-06-02 11:49:40 -07:00
swift-ci
5ecbde9a42
Merge pull request #10051 from apple/debug-only-single-grapheme-check
2017-06-02 11:37:33 -07:00
Arnold Schwaighofer
3f7fcfadeb
Address review comments
...
Rename _parseASCIIOutlined to _parseASCIISlowPath.
Change doc comment to regular comment.
2017-06-02 11:27:42 -07:00
Dave Abrahams
51bf3a615f
[stdlib] Make single-grapheme check debug-only
...
Because of the way grapheme breaking changes across updates to ICU and the Unicode standard, it may not even be legit to check this at all. It's certainly not unsafe to skip the check, so let's see if we can do that in release builds, as grapheme breaking is expensive.
2017-06-02 09:53:22 -07:00
Arnold Schwaighofer
d289236f79
stdlib: Move _parseASCIIOutlined into the FixedWidthInteger extension
2017-06-02 07:24:20 -07:00
Dave Abrahams
2778dc85ea
Add and use _ExpressibleByBuiltinUTF16ExtendedGraphemeClusterLiteral
2017-06-02 07:01:03 -07:00
Roman Levenstein
d6bddd20b9
Merge pull request #10040 from swiftix/inliner-improvements2
...
[sil-generic-specializer] Add @_semantics("optimize.sil.specialize.generic.partial.never") to disable partial specialization on specific functions
2017-06-01 21:56:10 -07:00
Dave Abrahams
562fd79aa6
[stdlib] Encode small Characters as UTF-16
...
This takes care of the standard library portion, but we need a new
BuiltinUTF16ExtendedGraphemeClusterLiteralConvertible protocol in order to
fully recover the performance of character literals.
Note that part of the character_literals.swift test is currently disabled. That
will need to be fixed before we can merge this work.
2017-06-01 20:57:25 -07:00
Roman Levenstein
00d663d172
[sil-generic-specializer] Add @_semantics("optimize.sil.specialize.generic.partial.never") to disable partial specialization on functions
...
This new @_semantics is used to annotate some very big functions in the standard library. It reduced the code size of the stdlib by 2%.
2017-06-01 16:33:18 -07:00
Arnold Schwaighofer
d457adb776
stdlib: Outline integer parsing code in FixedWidthInteger.init(_: radix:) on the slow paths
...
This reduces code size by 20k on an app that uses this function.
rdar://32519912
2017-06-01 15:18:54 -07:00
Ben Cohen
28c470da45
Test if two ascii string pointers are equal before memcmp ( #10018 )
2017-06-01 15:01:42 -07:00
Nate Cook
42efcdb246
One more from @xwu + 80-column fixes
2017-06-01 12:53:05 -05:00
Michael Ilseman
022c973d77
Merge pull request #10002 from milseman/i_dream_of_grapheme
...
[stdlib] Grapheme break fast-paths for Cyrillic, Arabic, Hangul
2017-06-01 08:59:25 -07:00
Dave Abrahams
b2e4bd5d09
[stdlib] Replace _HeapBuffer with a thin wrapper
...
...over ManagedBufferPointer
2017-06-01 04:40:52 -07:00
Dave Abrahams
ce804529a1
[stdlib] Dump _StringStorage.grow()
...
This implementation detail was adding lots of needless complexity
2017-05-31 16:12:22 -07:00
Michael Ilseman
44cccba22d
[stdlib] Change dynamic check to sanity check.
...
Double-checking for CR-LF is redundant in
_internalExtraCheckGraphemeBreakBetween. Add in a sanity check and
omit the overly conservative CR check.
2017-05-31 14:55:24 -07:00
Michael Ilseman
0a88de53d3
[stdlib] Grapheme break fast-paths for Cyrillic, Arabic, Hangul
...
Add in more grapheme break fast paths for scripts based on Cyrillic,
Arabic, or Hangul. Generates significant performance wins, similar to
those for the unihan fast paths.
While every extra check does slow down the runtime of
_internalExtraCheckGraphemeBreakBetween as currently implemented, I've
not found the performance cost to be relevant for workloads with
occasional mixed emoji contents, nor for workloads that his the
earlier checks. A pure Korean workload (currently the last check) does
pays a rather noticable price for the previous checks, but this is
only because the workload is now so greatly improved. Optimizing this
implementation is interesting future work, but not urgent.
2017-05-31 11:09:43 -07:00
swift-ci
9e76bc371d
Merge pull request #9771 from Jnosh/patch-1
2017-05-30 13:09:15 -07:00
Maxim Moiseev
6c836dbd04
Merge pull request #9949 from moiseev/renames
...
[stdlib] Renames and tests for Swift 3 compatibility mode
2017-05-30 10:26:01 -07:00
Max Moiseev
53004a1015
[stdlib] Renames and tests for Swift 3 compatibility mode
...
Addresses <rdar://problem/32432481>
2017-05-26 16:28:11 -07:00
Max Moiseev
612a07fc73
[stdlib] Fixing build with -swift-stdlib-enable-resiliency
...
Fixes: <rdar://problem/32409661>
2017-05-26 13:18:00 -07:00
Janosch Hildebrand
ba067aa9c8
[Documentation] Add missing 'of' to UnicodeScalar documentation.
2017-05-26 21:23:04 +02:00
Joe Groff
8022266404
Merge pull request #9933 from jckarter/partial-key-path-application
...
Support application of AnyKeyPath/PartialKeyPath.
2017-05-26 08:45:55 -07:00
Nate Cook
2612e00eaf
Additional notes from @xwu
2017-05-26 08:46:42 -05:00
Nate Cook
2f9bf3cb1c
Add an abstract for DoubleWidth
2017-05-25 18:38:45 -05:00
Nate Cook
1149eeac16
Incorporate feedback from @moiseev
...
- Also clean up some 80-column issues
- And improve some tests from before literal expressibility
2017-05-25 18:32:15 -05:00
Dave Abrahams
4cb60a0873
Merge pull request #9915 from apple/swift-3-api-preserving-changes
...
Swift 3 api preserving changes
2017-05-25 16:31:36 -07:00
Joe Groff
cdc7a5c945
Support application of AnyKeyPath/PartialKeyPath.
...
rdar://problem/32237567
2017-05-25 15:51:22 -07:00
Nate Cook
237d8775dc
Catch overflow into high bit in signed multiplication
2017-05-25 15:04:34 -05:00
Nate Cook
e5fb87128e
Revert multipliedFullWidth for 64-bit ints on 32-bit platforms
2017-05-25 03:47:52 -05:00
practicalswift
0d2b0cc666
Merge pull request #9911 from practicalswift/gardening-20170524
...
[gardening] Add copyright header. Fix \t:s and spacing. Use isa instead of dyn_cast where appropriate.
2017-05-25 08:06:56 +02:00
Nate Cook
5ab34bf6f0
Add floating-point initializers and tests
2017-05-24 19:16:26 -05:00
Nate Cook
06490e6a44
Shortcut on binary division
2017-05-24 19:16:26 -05:00
Nate Cook
7353042a4f
Fix overflow issue
2017-05-24 19:16:26 -05:00