Skip to content

Commit efde5ca

Browse files
committed
---
yaml --- r: 341503 b: refs/heads/rxwei-patch-1 c: 95eea2f h: refs/heads/master i: 341501: 31d1629 341499: 56e1a9b 341495: 11192cf 341487: 24f8390 341471: 6d89038 341439: df109e1 341375: 2994580 341247: 0ae5c1c 340991: 70f7c1d
1 parent 6e5a132 commit efde5ca

File tree

86 files changed

+1594
-1322
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1594
-1322
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-08-18-a: b10b1fce14385faa6d44f6b933e95
10151015
refs/heads/rdar-43033749-fix-batch-mode-no-diags-swift-5.0-branch: a14e64eaad30de89f0f5f0b2a782eed7ecdcb255
10161016
refs/heads/revert-19006-error-bridging-integer-type: 8a9065a3696535305ea53fe9b71f91cbe6702019
10171017
refs/heads/revert-19050-revert-19006-error-bridging-integer-type: ecf752d54b05dd0a20f510f0bfa54a3fec3bcaca
1018-
refs/heads/rxwei-patch-1: 3cc6376459342e32060f0fe78b2d0042600dd190
1018+
refs/heads/rxwei-patch-1: 95eea2f3e915f53ffea667e912924292ed39d1ad
10191019
refs/heads/shahmishal-patch-1: e58ec0f7488258d42bef51bc3e6d7b3dc74d7b2a
10201020
refs/heads/typelist-existential: 4046359efd541fb5c72d69a92eefc0a784df8f5e
10211021
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-08-20-a: 4319ba09e4fb8650ee86061075c74a016b6baab9

branches/rxwei-patch-1/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
|**[Debian 9.1 (Raspberry Pi)](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/armv7_debian_stretch.json)** | ARMv7 | [![Build Status](https://ci-external.swift.org/job/oss-swift-RA-linux-debian-9_1/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-RA-linux-debian-9_1)|
1818
|**[Fedora 27](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/x86_64_fedora_27.json)** | x86_64 |[![Build Status](https://ci-external.swift.org/job/oss-swift-RA-linux-fedora-27/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-RA-linux-fedora-27)|
1919
|**[Ubuntu 16.04](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/x86_64_ubuntu_16_04.json)** | x86_64 |[![Build Status](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04)|
20-
|**[Ubuntu 16.04 ](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/ppc64le_ubuntu_16_04.json)** | PPC64LE |[![Build Status](https://ci-external.swift.org/job/oss-swift-5.1-RA-linux-ubuntu-16.04-ppc64le/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-5.1-RA-linux-ubuntu-16.04-ppc64le)|
20+
|**[Ubuntu 16.04 ](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/ppc64le_ubuntu_16_04.json)** | PPC64LE |[![Build Status](https://ci-external.swift.org/job/oss-swift-4.1-RA-linux-ubuntu-16.04-ppc64le/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-4.1-RA-linux-ubuntu-16.04-ppc64le)|
2121
|**[Ubuntu 16.04 ](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/aarch64_ubuntu_16.04.json)** | AArch64 |[![Build Status](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-aarch64/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-aarch64)|
2222
|**[Android](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/x86_64_ubuntu_16_04_LTS_android.json)** | ARMv7 |[![Build Status](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android)|
2323
|**[Android](https://github.com/apple/swift-community-hosted-continuous-integration/blob/master/nodes/x86_64_ubuntu_16_04_LTS_android.json)** | AArch64 |[![Build Status](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android-arm64/lastCompletedBuild/badge/icon)](https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android-arm64)|

branches/rxwei-patch-1/benchmark/single-source/AngryPhonebook.swift

Lines changed: 5 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -14,59 +14,11 @@
1414
// to test uppercase and lowercase ASCII string fast paths.
1515
import TestsUtils
1616

17-
let t: [BenchmarkCategory] = [.validation, .api, .String]
18-
19-
public let AngryPhonebook = [
20-
BenchmarkInfo(
21-
name: "AngryPhonebook",
22-
runFunction: run_AngryPhonebook,
23-
tags: t,
24-
legacyFactor: 7),
25-
26-
// Small String Workloads
27-
BenchmarkInfo(
28-
name: "AngryPhonebook.ASCII.Small",
29-
runFunction: { angryPhonebook($0, ascii) },
30-
tags: t,
31-
setUpFunction: { blackHole(ascii) }),
32-
BenchmarkInfo(
33-
name: "AngryPhonebook.Strasse.Small",
34-
runFunction: { angryPhonebook($0, strasse) },
35-
tags: t,
36-
setUpFunction: { blackHole(strasse) }),
37-
BenchmarkInfo(
38-
name: "AngryPhonebook.Armenian.Small",
39-
runFunction: { angryPhonebook($0, armenian) },
40-
tags: t,
41-
setUpFunction: { blackHole(armenian) }),
42-
BenchmarkInfo(
43-
name: "AngryPhonebook.Cyrillic.Small",
44-
runFunction: { angryPhonebook($0, cyrillic) },
45-
tags: t,
46-
setUpFunction: { blackHole(cyrillic) }),
47-
48-
// Regular String Workloads
49-
BenchmarkInfo(
50-
name: "AngryPhonebook.ASCII",
51-
runFunction: { angryPhonebook($0, precomposed: longASCII) },
52-
tags: t,
53-
setUpFunction: { blackHole(longASCII) }),
54-
BenchmarkInfo(
55-
name: "AngryPhonebook.Strasse",
56-
runFunction: { angryPhonebook($0, precomposed: longStrasse) },
57-
tags: t,
58-
setUpFunction: { blackHole(longStrasse) }),
59-
BenchmarkInfo(
60-
name: "AngryPhonebook.Armenian",
61-
runFunction: { angryPhonebook($0, precomposed: longArmenian) },
62-
tags: t,
63-
setUpFunction: { blackHole(longArmenian) }),
64-
BenchmarkInfo(
65-
name: "AngryPhonebook.Cyrillic",
66-
runFunction: { angryPhonebook($0, precomposed: longCyrillic) },
67-
tags: t,
68-
setUpFunction: { blackHole(longCyrillic) })
69-
]
17+
public let AngryPhonebook = BenchmarkInfo(
18+
name: "AngryPhonebook",
19+
runFunction: run_AngryPhonebook,
20+
tags: [.validation, .api, .String],
21+
legacyFactor: 7)
7022

7123
let words = [
7224
"James", "John", "Robert", "Michael", "William", "David", "Richard", "Joseph",
@@ -86,67 +38,3 @@ public func run_AngryPhonebook(_ N: Int) {
8638
}
8739
}
8840
}
89-
90-
// Workloads for various scripts. Always 20 names for 400 pairings.
91-
// To keep the performance of various scripts roughly comparable, aim for
92-
// a total length of approximately 120 characters.
93-
// E.g.: `ascii.joined(separator: "").count == 124`
94-
// Every name should fit in 15-bytes UTF-8 encoded, to excercise the small
95-
// string optimization.
96-
// E.g.: `armenian.allSatisfy { $0._guts.isSmall } == true`
97-
98-
// Workload Size Statistics
99-
// SMALL | UTF-8 | UTF-16 | REGULAR | UTF-8 | UTF-16
100-
// ---------|-------|--------|--------------|---------|--------
101-
// ascii | 124 B | 248 B | longASCII | 6158 B | 12316 B
102-
// strasse | 140 B | 240 B | longStrasse | 6798 B | 11996 B
103-
// armenian | 232 B | 232 B | longArmenian | 10478 B | 11676 B
104-
// cyrillic | 238 B | 238 B | longCyrillic | 10718 B | 11916 B
105-
106-
let ascii = Array(words.prefix(20))
107-
// Pathological case, uppercase: ß -> SS
108-
let strasse = Array(repeating: "Straße", count: 20)
109-
110-
let armenian = [
111-
"Արմեն", "Աննա", "Հարութ", "Միքայել", "Մարիա", "Դավիթ", "Վարդան",
112-
"Նարինե", "Տիգրան", "Տաթևիկ", "Թագուհի", "Թամարա", "Ազնաուր", "Գրիգոր",
113-
"Կոմիտաս", "Հայկ", "Գառնիկ", "Վահրամ", "Վահագն", "Գևորգ"]
114-
115-
let cyrillic = [
116-
"Ульяна", "Аркадий", "Аня", "Даниил", "Дмитрий", "Эдуард", "Юрій", "Давид",
117-
"Анна", "Дмитрий", "Евгений", "Борис", "Ксения", "Артур", "Аполлон",
118-
"Соломон", "Николай", "Кристи", "Надежда", "Спартак"]
119-
120-
/// Precompose the phonebook into one large string of comma separated names.
121-
func phonebook(_ names: [String]) -> String {
122-
names.map { firstName in
123-
names.map { lastName in
124-
firstName + " " + lastName
125-
}.joined(separator: ", ")
126-
}.joined(separator: ", ")
127-
}
128-
129-
let longASCII = phonebook(ascii)
130-
let longStrasse = phonebook(strasse)
131-
let longArmenian = phonebook(armenian)
132-
let longCyrillic = phonebook(cyrillic)
133-
134-
@inline(never)
135-
public func angryPhonebook(_ N: Int, _ names: [String]) {
136-
assert(names.count == 20)
137-
// Permute the names.
138-
for _ in 1...N {
139-
for firstname in names {
140-
for lastname in names {
141-
blackHole((firstname.uppercased(), lastname.lowercased()))
142-
}
143-
}
144-
}
145-
}
146-
147-
@inline(never)
148-
public func angryPhonebook(_ N: Int, precomposed names: String) {
149-
for _ in 1...N {
150-
blackHole((names.uppercased(), names.lowercased()))
151-
}
152-
}

branches/rxwei-patch-1/cmake/modules/AddSwift.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1905,7 +1905,7 @@ function(add_swift_target_library name)
19051905
if(SWIFTLIB_SHARED)
19061906
if(sdk IN_LIST SWIFT_APPLE_PLATFORMS)
19071907
list(APPEND swiftlib_link_flags_all "-dynamiclib -Wl,-headerpad_max_install_names")
1908-
elseif(${sdk} STREQUAL ANDROID)
1908+
elseif(sdk STREQUAL ANDROID)
19091909
list(APPEND swiftlib_link_flags_all "-shared")
19101910
# TODO: Instead of `lib${name}.so` find variable or target property which already have this value.
19111911
list(APPEND swiftlib_link_flags_all "-Wl,-soname,lib${name}.so")

branches/rxwei-patch-1/include/swift/AST/Decl.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ namespace swift {
7070
class GenericSignature;
7171
class GenericTypeParamDecl;
7272
class GenericTypeParamType;
73+
class LazyResolver;
7374
class ModuleDecl;
7475
class EnumCaseDecl;
7576
class EnumElementDecl;
@@ -3955,7 +3956,10 @@ class ClassDecl final : public NominalTypeDecl {
39553956

39563957
/// Determine whether this class inherits the convenience initializers
39573958
/// from its superclass.
3958-
bool inheritsSuperclassInitializers();
3959+
///
3960+
/// \param resolver Used to resolve the signatures of initializers, which is
3961+
/// required for name lookup.
3962+
bool inheritsSuperclassInitializers(LazyResolver *resolver);
39593963

39603964
/// Marks that this class inherits convenience initializers from its
39613965
/// superclass.
@@ -4139,7 +4143,7 @@ class ProtocolDecl final : public NominalTypeDecl {
41394143

41404144
bool existentialConformsToSelfSlow();
41414145

4142-
bool existentialTypeSupportedSlow();
4146+
bool existentialTypeSupportedSlow(LazyResolver *resolver);
41434147

41444148
ArrayRef<ProtocolDecl *> getInheritedProtocolsSlow();
41454149

@@ -4265,12 +4269,12 @@ class ProtocolDecl final : public NominalTypeDecl {
42654269
/// conforming to this protocol. This is only permitted if the types of
42664270
/// all the members do not contain any associated types, and do not
42674271
/// contain 'Self' in 'parameter' or 'other' position.
4268-
bool existentialTypeSupported() const {
4272+
bool existentialTypeSupported(LazyResolver *resolver) const {
42694273
if (Bits.ProtocolDecl.ExistentialTypeSupportedValid)
42704274
return Bits.ProtocolDecl.ExistentialTypeSupported;
42714275

42724276
return const_cast<ProtocolDecl *>(this)
4273-
->existentialTypeSupportedSlow();
4277+
->existentialTypeSupportedSlow(resolver);
42744278
}
42754279

42764280
/// Explicitly set the existentialTypeSupported flag, without computing

branches/rxwei-patch-1/include/swift/AST/DiagnosticsParse.def

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ ERROR(expected_decl,none,
216216
"expected declaration", ())
217217
ERROR(expected_identifier_in_decl,none,
218218
"expected identifier in %0 declaration", (StringRef))
219+
ERROR(expected_keyword_in_decl,none,
220+
"expected '%0' keyword in %1 declaration", (StringRef, StringRef))
219221
ERROR(number_cant_start_decl_name,none,
220222
"%0 name can only start with a letter or underscore, not a number",
221223
(StringRef))

0 commit comments

Comments
 (0)