Differences between revisions 2 and 3
Revision 2 as of 2008-05-12 09:01:02
Size: 965
Comment:
Revision 3 as of 2009-09-20 21:54:36
Size: 965
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

The 'layout' is LIR transformation used to assign relative positions for basic blocks in memory. Three different layout algorithms are supported today:

1) Topological (reverse-postorder) layout of basic blocks 2) Top-down layout algorithm 3) Bottom-up layout algorithm

To read more about top-down and bottom-up algorithm details check "Profile guided code positioning" paper by Hansen & Pettis.

Command line line options:

-XX:jit.arg.codegen.layout.type=topological - enables topological layout

-XX:jit.arg.codegen.layout.type=topdown     - enables top-down layout

-XX:jit.arg.codegen.layout.type=bottomup    - enables bottom-up layout

-XX:jit.arg.codegen.layout.type=mixed       - enables top-down layout for methods without loops and bottom-up for methods with loops

Source files:

src/codegenerator/ia32/Ia32CodeLayout.*

src/codegenerator/ia32/Ia32CodeLayoutTopDown.*

src/codegenerator/ia32/Ia32CodeLayoutBottomUp.*

Jitrino_OPT/layout (last edited 2009-09-20 21:54:36 by localhost)