Skip to content

Commit 81b0c9b

Browse files
committed
[RemoteMirror] Strip protocol descriptor pointers when reading the conformance cache.
Protocol descriptor pointers may be signed. Mark this as a StoredSignedPointer and strip it before handing it back to clients.
1 parent 8b4740f commit 81b0c9b

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

include/swift/RemoteInspection/ReflectionContext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1389,7 +1389,7 @@ class ReflectionContext
13891389

13901390
for (StoredSize i = 0; i < Count; i++) {
13911391
auto &Element = ElementsData[i];
1392-
Call(Element.Type, Element.Proto);
1392+
Call(Element.Type, stripSignedPointer(Element.Proto));
13931393
}
13941394
}
13951395

include/swift/RemoteInspection/RuntimeInternals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ template <typename Runtime> struct ConcurrentHashMap {
5858

5959
template <typename Runtime> struct ConformanceCacheEntry {
6060
typename Runtime::StoredPointer Type;
61-
typename Runtime::StoredPointer Proto;
61+
typename Runtime::StoredSignedPointer Proto;
6262
typename Runtime::StoredPointer Witness;
6363
};
6464

0 commit comments

Comments
 (0)