If next_address isn't needed, then I think we should get rid of it.

Also, looking at the code it seems on Linux, this ends up always asking for 32-bit addresses via map_flags which expands to MAP_EXTRA_FLAGS which expands to MAP_32BIT.

I think this code should be simplified to always request / assume 32-bit allocations (which I guess means always using MAP_FIXED on FreeBSD?). What do you think?