Help understanding server compiler's register allocator
Michael Jantz
jantz.michael at gmail.com
Wed Jul 6 13:49:10 PDT 2011
Hello,
I'm a student researcher and I'd like to use the Hotspot server compiler for
a project I'm working on this summer. I'm having some trouble understanding
exactly how the register allocation algorithm is working. Specifically, I'd
like to know more about the MachSpillCopy nodes. It looks like these are
introduced by the Split routine to split register live ranges in order to
reduce register pressure and to eventually allow a complete coloring of the
register live range interference graph. My first question is: Is this always
correct? Do these nodes have any other purpose? Also, do these nodes
correspond directly to copy instructions (i.e. register to register moves)
in the final generated code? Finally, are there any other materials for
helping me to understand the intermediate representations used in this
compiler?
Thanks,
Michael Jantz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110706/f5c75576/attachment.html
More information about the hotspot-compiler-dev
mailing list