Differences From Artifact [33b8900615]:
- File tests/RuntimeTests.m — part of check-in [4461f85857] at 2020-07-04 13:09:21 on branch tagged-pointers — RuntimeTests: Make certain versions of Clang happy (user: js, size: 2677) [annotate] [blame] [check-ins using] [more...]
To Artifact [eff11f992f]:
- File
tests/RuntimeTests.m
— part of check-in
[2fee820b5d]
at
2020-09-29 22:21:14
on branch trunk
— runtime: Make object_isTaggedPointer() a function
If it is an inline, changing how tagged pointers work internally would
break the ABI and require recompiling everything, making future changes
harder. (user: js, size: 2664) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
97 98 99 100 101 102 103 | else abort(); TEST(@"Tagged pointers", (cid1 = objc_registerTaggedPointerClass([OFString class])) != -1 && (cid2 = objc_registerTaggedPointerClass([OFNumber class])) != -1 && (object = objc_createTaggedPointer(cid2, (uintptr_t)value)) && | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | else abort(); TEST(@"Tagged pointers", (cid1 = objc_registerTaggedPointerClass([OFString class])) != -1 && (cid2 = objc_registerTaggedPointerClass([OFNumber class])) != -1 && (object = objc_createTaggedPointer(cid2, (uintptr_t)value)) && object_getClass(object) == [OFNumber class] && [object class] == [OFNumber class] && object_getTaggedPointerValue(object) == value && objc_createTaggedPointer(cid2, UINTPTR_MAX >> 4) != nil && objc_createTaggedPointer(cid2, (UINTPTR_MAX >> 4) + 1) == nil) #endif objc_autoreleasePoolPop(pool); } @end |