Hi,

The current blocker bug for a simple "hello, world" application is in
the way  Jato handles mimic stack on basic block boundaries. The problem
is that a mimic stack can be non-empty at the end of a basic block
because of, for example, the ternary operator. You can find a full
explanation of the problem in the following paper:

  http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.6374

[ Just search for "mimic stack" for the relevant section. ]

To fix the bug, I had to change the bytecode parsing code to work on
basic blocks so that we can actually do the mimic stack spilling and
reloading. The infrastructure changes are done now but the actual
spilling/reloading logic is still missing.

You can find the failing regression test case here:

http://git.kernel.org/?p=java/jato/jato.git;a=commitdiff;h=a75b9eafb156bd9065a6d3f48bc4047d800e79f2

and the per basic block parsing code here:

http://git.kernel.org/?p=java/jato/jato.git;a=commitdiff;h=39012fdc943f747dd740369d69140bdfa5658e85

Unfortunately I cannot commit the latter to mainline as the change
exposes a latent bug in the current regression tests.

                Pekka


------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to