Skip to content

Commit 263a278

Browse files
committed
WIP
1 parent 7a83015 commit 263a278

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

include/swift/AST/TypeCheckRequests.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4426,7 +4426,7 @@ class SerializeAttrGenericSignatureRequest
44264426
class IsFunctionBodySkippedRequest
44274427
: public SimpleRequest<IsFunctionBodySkippedRequest,
44284428
bool(const AbstractFunctionDecl *),
4429-
RequestFlags::Cached> {
4429+
RequestFlags::SeparatelyCached> {
44304430
public:
44314431
using SimpleRequest::SimpleRequest;
44324432

include/swift/AST/TypeCheckerTypeIDZone.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,4 +505,4 @@ SWIFT_REQUEST(TypeChecker, SerializeAttrGenericSignatureRequest,
505505
Cached, NoLocationInfo)
506506
SWIFT_REQUEST(TypeChecker, IsFunctionBodySkippedRequest,
507507
bool(const AbstractFunctionDecl *),
508-
Cached, NoLocationInfo)
508+
SeparatelyCached, NoLocationInfo)

lib/AST/Decl.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8966,7 +8966,8 @@ bool IsFunctionBodySkippedRequest::evaluate(
89668966
if (AD->getAccessorKind() == AccessorKind::DidSet)
89678967
return false;
89688968

8969-
// ALLANXXX explain, add test
8969+
// Synthesized accessors (like implicit _read or _modify accessors) need to
8970+
// be typechecked because they get serialized.
89708971
if (AD->isSynthesized())
89718972
return false;
89728973
}

lib/SIL/IR/Linker.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ void SILLinkerVisitor::deserializeAndPushToWorklist(SILFunction *F) {
100100
/// Deserialize a function and add it to the worklist for processing.
101101
void SILLinkerVisitor::maybeAddFunctionToWorklist(SILFunction *F,
102102
bool setToSerializable) {
103+
PrettyStackTraceSILFunction stackTrace("adding to linker worklist", F);
104+
103105
SILLinkage linkage = F->getLinkage();
104106
assert((!setToSerializable || F->hasValidLinkageForFragileRef() ||
105107
hasSharedVisibility(linkage)) &&

0 commit comments

Comments
 (0)