There are some exceptions where you can lock the physical memory allocated (system resources do this). That handle has to be used every time you go access even your own allocated memory, not to mention your own code in the case of self-modifying code (which is a no-no on the Mac).
Instead, you get a handle (which is a pointer to a pointer). This is why you don't get a physical memory address when you allocate memory on a Mac. Apple's memory manager moves code around all of the time as it needs to. Do the Apple math libraries just handle transcendentals badly on 040/060? Do they just rely on exception trapping? What about running on a system that also has Cyberpatcher/Oxypatcher that sticks a JIT cached version into the code after the first trap?