Of course it can be faster because it's wont need a shift, ptrs not a mask and objects not 2 words.
But usually you want to free ints which look like ptrs earlier, sync don't keep them around. It's rare, bug when happening a memory hog. Esp. On long running processes I would only do precise GC. Those simple bit shifts and masks cost almost nothing today.
For C interop you need to track pointers anyway separately.
But usually you want to free ints which look like ptrs earlier, sync don't keep them around. It's rare, bug when happening a memory hog. Esp. On long running processes I would only do precise GC. Those simple bit shifts and masks cost almost nothing today.
For C interop you need to track pointers anyway separately.