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 @@ -1278,23 +1278,6 @@ void IRGenerator::noteUseOfFieldDescriptor(NominalTypeDecl *type) {
1278
1278
LazyFieldDescriptors.push_back (type);
1279
1279
}
1280
1280
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
-
1298
1281
void IRGenerator::noteUseOfOpaqueTypeDescriptor (OpaqueTypeDecl *opaque) {
1299
1282
if (!opaque)
1300
1283
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