Skip to content

Commit c19aa69

Browse files
committed
SIL: implement Function.isSerialized and Function.isAnySerialized with serializedKind
No need for bridging functions
1 parent c702982 commit c19aa69

File tree

3 files changed

+16
-12
lines changed

3 files changed

+16
-12
lines changed

SwiftCompilerSources/Sources/SIL/Function.swift

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,23 @@ final public class Function : CustomStringConvertible, HasShortDescription, Hash
163163
bridged.hasSemanticsAttr(BridgedStringRef(data: buffer.baseAddress!, count: buffer.count))
164164
}
165165
}
166-
public var isSerialized: Bool { bridged.isSerialized() }
166+
public var isSerialized: Bool {
167+
switch serializedKind {
168+
case .notSerialized, .serializedForPackage:
169+
return false
170+
case .serialized:
171+
return true
172+
}
173+
}
167174

168-
public var isAnySerialized: Bool { bridged.isAnySerialized() }
175+
public var isAnySerialized: Bool {
176+
switch serializedKind {
177+
case .notSerialized:
178+
return false
179+
case .serialized, .serializedForPackage:
180+
return true
181+
}
182+
}
169183

170184
public enum SerializedKind {
171185
case notSerialized, serialized, serializedForPackage

include/swift/SIL/SILBridging.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -506,8 +506,6 @@ struct BridgedFunction {
506506
BRIDGED_INLINE EffectsKind getEffectAttribute() const;
507507
BRIDGED_INLINE PerformanceConstraints getPerformanceConstraints() const;
508508
BRIDGED_INLINE InlineStrategy getInlineStrategy() const;
509-
BRIDGED_INLINE bool isSerialized() const;
510-
BRIDGED_INLINE bool isAnySerialized() const;
511509
BRIDGED_INLINE SerializedKind getSerializedKind() const;
512510
BRIDGED_INLINE bool canBeInlinedIntoCaller(SerializedKind) const;
513511
BRIDGED_INLINE bool hasValidLinkageForFragileRef(SerializedKind) const;

include/swift/SIL/SILBridgingImpl.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -820,14 +820,6 @@ void BridgedFunction::setThunk(ThunkKind kind) const {
820820
getFunction()->setThunk((swift::IsThunk_t)kind);
821821
}
822822

823-
bool BridgedFunction::isSerialized() const {
824-
return getFunction()->isSerialized();
825-
}
826-
827-
bool BridgedFunction::isAnySerialized() const {
828-
return getFunction()->isAnySerialized();
829-
}
830-
831823
BridgedFunction::SerializedKind BridgedFunction::getSerializedKind() const {
832824
return (SerializedKind)getFunction()->getSerializedKind();
833825
}

0 commit comments

Comments
 (0)