Re: Very Expensive Approach / Details
If I understand the ARM concept correctly, they need very fat pointers to store all the safety information.
Compared to that, a Sappeur program needs just the native pointer size(can be anything from 16 to 64 bits) plus a reference counter(typically 4 octets plus pthread_mutex for multithreaded objects) at the targeted object.
ARM seems to consume 16 octets for a safe pointer. That is a lot of cache bloat and a lot of excess memory transfer bandwidth spent.
Compile this sample to see it yourself: http://gauss.ddnss.de/