mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Add protocol witness tables to existential metatype
layouts. Introduce new SIL instructions to initialize and open existential metatype values. Don't actually, y'know, lift any of the restriction on existential metatypes; just pointlessly burn extra memory storing them. Swift SVN r22592
This commit is contained in:
@@ -113,6 +113,7 @@ static bool isTransitiveEscapeInst(SILInstruction *Inst) {
|
||||
case ValueKind::InitBlockStorageHeaderInst:
|
||||
case ValueKind::InitEnumDataAddrInst:
|
||||
case ValueKind::InitExistentialInst:
|
||||
case ValueKind::InitExistentialMetatypeInst:
|
||||
case ValueKind::InitExistentialRefInst:
|
||||
case ValueKind::ObjCExistentialMetatypeToObjectInst:
|
||||
case ValueKind::ObjCMetatypeToObjectInst:
|
||||
@@ -122,6 +123,7 @@ static bool isTransitiveEscapeInst(SILInstruction *Inst) {
|
||||
case ValueKind::UncheckedTrivialBitCastInst:
|
||||
case ValueKind::UncheckedRefBitCastInst:
|
||||
case ValueKind::OpenExistentialInst:
|
||||
case ValueKind::OpenExistentialMetatypeInst:
|
||||
case ValueKind::OpenExistentialRefInst:
|
||||
case ValueKind::PartialApplyInst:
|
||||
case ValueKind::PointerToAddressInst:
|
||||
|
||||
Reference in New Issue
Block a user