File tree Expand file tree Collapse file tree 3 files changed +3
-20
lines changed Expand file tree Collapse file tree 3 files changed +3
-20
lines changed Original file line number Diff line number Diff line change @@ -1277,23 +1277,6 @@ void IRGenerator::noteUseOfFieldDescriptor(NominalTypeDecl *type) {
1277
1277
LazyFieldDescriptors.push_back (type);
1278
1278
}
1279
1279
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
-
1297
1280
void IRGenerator::noteUseOfOpaqueTypeDescriptor (OpaqueTypeDecl *opaque) {
1298
1281
if (!opaque)
1299
1282
return ;
Original file line number Diff line number Diff line change @@ -885,9 +885,10 @@ void IRGenModule::maybeEmitOpaqueTypeDecl(OpaqueTypeDecl *opaque) {
885
885
// then emit all opaque type descriptors and make them runtime-discoverable
886
886
// so that remote ast/mirror can recover them.
887
887
addRuntimeResolvableType (opaque);
888
- emitOpaqueTypeDecl (opaque);
889
888
if (IRGen.hasLazyMetadata (opaque))
890
- IRGen.markOpaqueTypeDescriptorEmitted (opaque);
889
+ IRGen.noteUseOfOpaqueTypeDescriptor (opaque);
890
+ else
891
+ emitOpaqueTypeDecl (opaque);
891
892
} else if (!IRGen.hasLazyMetadata (opaque)) {
892
893
emitOpaqueTypeDecl (opaque);
893
894
}
Original file line number Diff line number Diff line change @@ -391,7 +391,6 @@ class IRGenerator {
391
391
}
392
392
393
393
void noteUseOfOpaqueTypeDescriptor (OpaqueTypeDecl *opaque);
394
- void markOpaqueTypeDescriptorEmitted (OpaqueTypeDecl *opaque);
395
394
396
395
void noteUseOfFieldDescriptor (NominalTypeDecl *type);
397
396
You can’t perform that action at this time.
0 commit comments