Getting thread-local mem..
Keith.McGuigan at Sun.COM
Fri Dec 7 05:52:39 PST 2007
If you need the memory to stay alive only within a particular function scope
(even a high-level one), you can use resource memory, which is thread-specific
and is automatically cleaned up by a ResourceMark. It is not global memory,
though - it will be reclaimed when the ResourceMark destructor is called. But
if you put it at a high enough level maybe this will do what you need?
Take a look at allocation.hpp for info on this and other possibilities (for
example if you are going to allocate out of C-heap, there are routines in there
for doing that too).
Peter Helfer wrote:
> I need some thread-local memory, which is not GC'd, but on death of
> thread freed for sure (although I would call free for each alloced
> elem). I've seen | threadLocalAllocBuffer.hpp
> which offers HeapWord* allocate(size_t size) - but where is the
> corresponding free(HeapWord* ) ?
> Or is there a better alternative - apart from using malloc/free directly ?
> Regards, Peter
More information about the hotspot-runtime-dev