allocating memory above 2GB
Evan Wies
evan at neomantra.net
Fri Feb 14 13:52:40 PST 2014
Hello,
Is it possible to allocate memory in a defined region, specifically
anywhere above the first 2GB?
I see that mallocx with ALLOCM_ALIGN allows one to specify a base
address aligned to a power of 2. Can I grab a bunch of memory that way
and somehow tell an arena to use that space and then always mallocx with
that arena?
I'm in the midst of writing a LuaJIT [1] binding to jemalloc, and have
successfully allocated memory aligned to 2^31 but can't figure out the
next step -- short of writing my own allocator to dole out
jemalloc-allocated memory.
Context:
LuaJIT, a Lua Just-In-Time compiler, can itself only allocate memory in
the lower portions of memory (<1GB, <2GB, <4GB depending on platform).
One can get around this limitation by using its FFI to allocate memory
for FFI-bound C structures, however allocating these in the lower
regions effectively "steals" available memory from the LuaJIT VM for Lua
objects. I want to ensure maximum available memory for the LuaJIT by
allocating all my objects outside this area.
Thanks,
Evan
[1] http://www.luajit.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jemalloc.net/mailman/jemalloc-discuss/attachments/20140214/63ac3fa2/attachment.html>
More information about the jemalloc-discuss
mailing list