I recently downloaded the latest Dolphin release. I was curious to check out the much talked about stack allocation feature. Is this available in the Dolphin release and if so how do I turn it on. Please advice
Currently there is no support for stack allocation in hotspot. EA currently is
only used for lock elision and there's work in progress to support scalar
replacement of objects.
Because hotspot GC is precise, true stack allocation trickles out into the rest
of the system since code which was expecting to see a pointer into the heap
might instead see pointers into the stack. It's tractable but somewhat tricky.
An alternative would be to have a thread local area in the heap which can be
managed directly by compiled code for the purposes of stack allocation.
We have an ongoing research project with the University of Linz in Austria
around the hotspot compilers and as part that they developed an escape analysis
algorithm for the client compiler along with the needed runtime support for
rematerialization of objects which was needed to support deoptimization. The
runtime support has been integrated into hotspot already but C2 uses a different
algorithm than was used in the C1 work. Anyway, you might find the papers at
as they discuss supporting true stack allocation.
Avinash Lakshman wrote:
> Hi All
> I recently downloaded the latest Dolphin release. I was curious to check
> out the much talked about stack allocation feature. Is this available in
> the Dolphin release and if so how do I turn it on. Please advice