It looks like both malloc and jemalloc allocate to the low 32-bits of memory. But jemalloc is a little bit better.
I think these two mailing list threads converge on why, but I don't totally understand what's going on....
Using jemalloc 3.5 and Luajit 2.1 alpha on Mavericks on a MacBook Air
./malloc_test.lua 1000 malloc
malloc: 5 allocs of 1000 bytes
cdata<void *>: 0x00103a30
cdata<void *>: 0x00103e20
cdata<void *>: 0x00104210
cdata<void *>: 0x00104600
cdata<void *>: 0x001049f0
cdata<void *>: 0x00104de0
$ DYLD_INSERT_LIBRARIES=/usr/local/Cellar/jemalloc/3.5.0/lib/libjemalloc.1.dylib ./malloc_test.lua 1000 jemalloc
jemalloc: 5 allocs of 1000 bytes
cdata<void *>: 0x01419400
cdata<void *>: 0x01419800
cdata<void *>: 0x01419c00
cdata<void *>: 0x0141a000
cdata<void *>: 0x0141a400
cdata<void *>: 0x0141a800