So I can't explain this one well... However on the 1.9 branch, on our android devices we had a bunch of memory corruption issues in the arc weak reference table. I managed to track a few of them down by compiling and running our software under Addresses Sanitizer on armv7-a arch devices.
There seemed to be a hash table bug, and perhaps something related to these functions. I swapped out the the implementations with what's suggested in the arc spec and stability improved. I'm not sure what the performance impact was however.
So I can't explain this one well... However on the 1.9 branch, on our android devices we had a bunch of memory corruption issues in the arc weak reference table. I managed to track a few of them down by compiling and running our software under Addresses Sanitizer on armv7-a arch devices.
There seemed to be a hash table bug, and perhaps something related to these functions. I swapped out the the implementations with what's suggested in the arc spec and stability improved. I'm not sure what the performance impact was however.