Skip to content

Commit da999f0

Browse files
committed
Use noteUseOfOpaqueTypeDescriptor instead of introducing and using markOpaqueTypeDescriptorEmitted
1 parent fc8ff70 commit da999f0

File tree

3 files changed

+3
-20
lines changed

3 files changed

+3
-20
lines changed

lib/IRGen/GenDecl.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,23 +1278,6 @@ void IRGenerator::noteUseOfFieldDescriptor(NominalTypeDecl *type) {
12781278
LazyFieldDescriptors.push_back(type);
12791279
}
12801280

1281-
void IRGenerator::markOpaqueTypeDescriptorEmitted(OpaqueTypeDecl *opaque) {
1282-
if (!opaque)
1283-
return;
1284-
1285-
auto insertResult = LazyOpaqueTypes.try_emplace(opaque);
1286-
auto &entry = insertResult.first->second;
1287-
entry.IsDescriptorUsed = true;
1288-
entry.IsDescriptorEmitted = true;
1289-
LazyOpaqueTypeDescriptors.erase(
1290-
std::remove_if(LazyOpaqueTypeDescriptors.begin(),
1291-
LazyOpaqueTypeDescriptors.end(),
1292-
[&](OpaqueTypeDecl *entry) -> bool {
1293-
return entry == opaque;
1294-
}),
1295-
LazyOpaqueTypeDescriptors.end());
1296-
}
1297-
12981281
void IRGenerator::noteUseOfOpaqueTypeDescriptor(OpaqueTypeDecl *opaque) {
12991282
if (!opaque)
13001283
return;

lib/IRGen/GenStruct.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -885,9 +885,10 @@ void IRGenModule::maybeEmitOpaqueTypeDecl(OpaqueTypeDecl *opaque) {
885885
// then emit all opaque type descriptors and make them runtime-discoverable
886886
// so that remote ast/mirror can recover them.
887887
addRuntimeResolvableType(opaque);
888-
emitOpaqueTypeDecl(opaque);
889888
if (IRGen.hasLazyMetadata(opaque))
890-
IRGen.markOpaqueTypeDescriptorEmitted(opaque);
889+
IRGen.noteUseOfOpaqueTypeDescriptor(opaque);
890+
else
891+
emitOpaqueTypeDecl(opaque);
891892
} else if (!IRGen.hasLazyMetadata(opaque)) {
892893
emitOpaqueTypeDecl(opaque);
893894
}

lib/IRGen/IRGenModule.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,6 @@ class IRGenerator {
391391
}
392392

393393
void noteUseOfOpaqueTypeDescriptor(OpaqueTypeDecl *opaque);
394-
void markOpaqueTypeDescriptorEmitted(OpaqueTypeDecl *opaque);
395394

396395
void noteUseOfFieldDescriptor(NominalTypeDecl *type);
397396

0 commit comments

Comments
 (0)