harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Kollegov" <kollegov.i...@gmail.com>
Subject Re: [drlvm][jit] Internal testing framework for Jitrino.OPT compiler
Date Fri, 22 Sep 2006 10:47:57 GMT
Hello JIT developers.
I am a student and want to learn JIT and understand its structure.
What should I learn first? Is there some documentation for JIT?
I think could write some tests for JITs methods. It would be useful for me.

Thanks,
Kollegov Ivan


On 9/22/06, Pavel Ozhdikhin <pavel.ozhdikhin@gmail.com> wrote:
> Mikhail,
>
> Great proposal! The IR-level JIT unit testing is not covered in
> Harmony yet. I looked into the patch and it looks quite lightweight
> though the test code would be difficult to understand without in-depth
> JIT knowledge. Anyway, I think it would be possible to use such a
> framework for unit and regression testing purposes.
>
> Thanks,
> Pavel Ozhdikhin
>
>
> On 9/21/06, Mikhail Fursov <mike.fursov@gmail.com> wrote:
> > All,
> >
> > This is the proposal to start the discussion and implementation of
> > Jitrino.OPT compiler internal testing framework.
> > There are a lot of optimizations in Jitrino with a variety of options but
> > only minor part of them is used and tested in the default configuration.
> > The result is when adding new features it's very easy to make a change that
> > conflict with one of the unused modes.
> > Another example is optimization interdependencies. Fixing a bug for a one IR
> > (intermediate compiler representation of user's code) we can turn the
> > optimization off for another IR. Once we have most of such situations
> > encoded as separate reliability tests we can run the check and found all
> > collisions.
> >
> > My vision that the most precise IR optimizations tests should check the IR
> > to prove that optimization really does what it is expected to do.
> > The tests for separate optimizations and functions inside the Jitrino
> > compiler will also require a throughout documentation and understanding of
> > the code.
> >
> > I put the initial implementation of the testing framework code to JIRA and
> > hope that the experience of JIT and QA gurus and volunteers will help us to
> > make this subproject successful.
> >
> > Here is the small description of the testing framework (the way how I
> > understand it). Hope to hear your suggestions here.
> >
> > 1)  Every test (set of tests) is executed in a separate JVM instance. The VM
> > instance is run by special adapter that is integrated into a common
> > ant+junit framework.
> > 2)  The compilation of the special 'marker' method triggers the compiler to
> > execute a test. The trigger code is placed to the action called
> > "test_runner" in the sources
> > 3)  The test_runner action gets the configuration from the cmd-line
> > parameters or Java properties.
> > 4)  The test_runner action selects the test (TestCase) from the test
> > registry (TestRegistry), prepares the environment and runs it.
> > 5)  The environment of the test is IR and is called IRTemplate.
> > 6)  Once test is passed the test_runner reports "PASSED/FAILED+details" to
> > output. The output  is processed by JVM runner (1)
> >
> > Any comments/volunteers to help me with this task? There are lot of
> > algorithms in JIT have never been tested this way, so the tasks looks very
> > interesting.
> >
> >
> > + See JIRA [ http://issues.apache.org/jira/browse/HARMONY-1531 ] for the
> > sample code.
> >
> >
> > --
> > Mikhail Fursov
> >
> >
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message