Skip to content

Commit acc1357

Browse files
authored
Merge pull request #26001 from slavapestov/jit-class-meta-cleanup
Split up test/IRGen/jit_metadata_strategy.swift and fix the REQUIRES: line
2 parents 52a1ea0 + cea8a6d commit acc1357

File tree

4 files changed

+52
-11
lines changed

4 files changed

+52
-11
lines changed

test/IRGen/jit_metadata_strategy.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-build-swift-dylib(%t/%target-library-name(resilient_struct)) -enable-library-evolution %S/../Inputs/resilient_struct.swift -emit-module -emit-module-path %t/resilient_struct.swiftmodule -module-name resilient_struct
3-
4-
// RUN: %target-swift-frontend -use-jit %s -emit-ir -lresilient_struct -L %t -I %t -enable-objc-interop -read-legacy-type-info-path=%S/Inputs/legacy_type_info/b.yaml | %FileCheck %s
5-
// RUN: %target-swift-frontend -interpret %s -lresilient_struct -L %t -I %t -enable-objc-interop -read-legacy-type-info-path=%S/Inputs/legacy_type_info/b.yaml
2+
// RUN: %target-swift-frontend -emit-module -enable-library-evolution %S/../Inputs/resilient_struct.swift -emit-module-path %t/resilient_struct.swiftmodule
3+
// RUN: %target-swift-frontend -use-jit %s -emit-ir -lresilient_struct -L %t -I %t -enable-objc-interop -read-legacy-type-info-path=%S/Inputs/legacy_type_info/jit_metadata_strategy.yaml | %FileCheck %s
64

75
// REQUIRES: objc_interop
8-
// UNSUPPORTED: OS=ios || OS=watchos || OS=tvos
96

107
import resilient_struct
118

12-
@_optimize(none) func blackHole<T>(_: T) {}
13-
149
// ClassMetadataStrategy::Fixed
1510
class FixedSizeClass {
1611
var v4: String?
@@ -40,10 +35,6 @@ class ClassNeedingUpdate {
4035
var v6: String?
4136
}
4237

43-
blackHole(FixedSizeClass())
44-
blackHole(ClassWithGenericSuperclass())
45-
blackHole(ClassNeedingUpdate())
46-
4738
// CHECK-LABEL: define{{( protected)?}} private void @runtime_registration
4839
// CHECK: call void @swift_instantiateObjCClass({{.*}} @"$s21jit_metadata_strategy14FixedSizeClassCN")
4940
// CHECK-NOT: call void @swift_instantiateObjCClass({{.*}} @"$s21jit_metadata_strategy18ClassNeedingUpdateCN")
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Name: resilient_struct
2+
Decls:
3+
- Name: 16resilient_struct15ResilientDoubleV
4+
Size: 8
5+
Alignment: 8
6+
ExtraInhabitants: 0
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// RUN: %empty-directory(%t)
2+
// RUN: %target-build-swift-dylib(%t/%target-library-name(resilient_struct)) -enable-library-evolution %S/../Inputs/resilient_struct.swift -emit-module -emit-module-path %t/resilient_struct.swiftmodule -module-name resilient_struct
3+
4+
// RUN: %target-swift-frontend -interpret %s -lresilient_struct -L %t -I %t -enable-objc-interop -read-legacy-type-info-path=%S/Inputs/legacy_type_info/jit_metadata_strategy.yaml
5+
6+
// REQUIRES: objc_interop
7+
// REQUIRES: swift_interpreter
8+
9+
import resilient_struct
10+
11+
@_optimize(none) func blackHole<T>(_: T) {}
12+
13+
// ClassMetadataStrategy::Fixed
14+
class FixedSizeClass {
15+
var v4: String?
16+
var v5: Int?
17+
var v6: String?
18+
}
19+
20+
// ClassMetadataStrategy::Singleton
21+
class GenericSuperclass<T> { }
22+
class ClassWithGenericSuperclass: GenericSuperclass<Int> {
23+
var v1: ResilientDouble?
24+
var v2: ResilientDouble?
25+
var v3: ResilientDouble?
26+
var v4: String?
27+
var v5: Int?
28+
var v6: String?
29+
}
30+
31+
// ClassMetadataStrategy::FixedOrUpdate when compiling
32+
// ClassMetadataStrategy::Singleton when interpreting
33+
class ClassNeedingUpdate {
34+
var v1: ResilientDouble?
35+
var v2: ResilientDouble?
36+
var v3: ResilientDouble?
37+
var v4: String?
38+
var v5: Int?
39+
var v6: String?
40+
}
41+
42+
blackHole(FixedSizeClass())
43+
blackHole(ClassWithGenericSuperclass())
44+
blackHole(ClassNeedingUpdate())

0 commit comments

Comments
 (0)