Skip to content

Commit ab9b778

Browse files
committed
Use noteUseOfOpaqueTypeDescriptor instead of introducing and using markOpaqueTypeDescriptorEmitted
1 parent 5bdeffb commit ab9b778

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
@@ -1277,23 +1277,6 @@ void IRGenerator::noteUseOfFieldDescriptor(NominalTypeDecl *type) {
12771277
LazyFieldDescriptors.push_back(type);
12781278
}
12791279

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