Differences From Artifact [f477f1a478]:
- File src/runtime/morphos-clib.h — part of check-in [0bfac2b513] at 2020-07-12 11:50:29 on branch tagged-pointers — Obfuscate tagged pointers (user: js, size: 4479) [annotate] [blame] [check-ins using] [more...]
To Artifact [252cb36e71]:
- File
src/runtime/morphos-clib.h
— 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: 4517) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
83 84 85 86 87 88 89 90 91 92 | void glue_objc_hashtable_set(struct objc_hashtable *, const void *, const void *); void *glue_objc_hashtable_get(struct objc_hashtable *, const void *); void glue_objc_hashtable_delete(struct objc_hashtable *, const void *); void glue_objc_hashtable_free(struct objc_hashtable *); /* Public functions again */ void glue_objc_setTaggedPointerSecret(uintptr_t); int glue_objc_registerTaggedPointerClass(Class); Class _Nullable glue_object_getTaggedPointerClass(id); uintptr_t glue_object_getTaggedPointerValue(id); id glue_objc_createTaggedPointer(int, uintptr_t); | > | 83 84 85 86 87 88 89 90 91 92 93 | void glue_objc_hashtable_set(struct objc_hashtable *, const void *, const void *); void *glue_objc_hashtable_get(struct objc_hashtable *, const void *); void glue_objc_hashtable_delete(struct objc_hashtable *, const void *); void glue_objc_hashtable_free(struct objc_hashtable *); /* Public functions again */ void glue_objc_setTaggedPointerSecret(uintptr_t); int glue_objc_registerTaggedPointerClass(Class); bool glue_object_isTaggedPointer(id); Class _Nullable glue_object_getTaggedPointerClass(id); uintptr_t glue_object_getTaggedPointerValue(id); id glue_objc_createTaggedPointer(int, uintptr_t); |