harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maksim Ananjev" <maksim.anan...@gmail.com>
Subject Re: [drvm][jit] ABCD does not eliminate upper bound check
Date Wed, 18 Apr 2007 04:23:05 GMT
Mikhail, thanks! Your guidelines helped.

Now I see that ABCD fully eliminates the check in my example if placed
between uce and lower:

-XX:jit.CS_OPT.path.optimizer=ssa,devirt,inline,uce,purge,simplify,dce,uce,lazyexc,
memopt,simplify,dce,uce,classic_abcd,lower,dessa,statprof,markglobals

I tried to place classic_abcd earlier in the optimization path, but
got segmentation fault or upper bound was not eliminated. That looks a
bit strange for me, because  I thought that ABCD relies only on ssa.
But if classic_abcd is placed just after ssa, check won't be
eliminated

However - as I mentioned - ABCD being put into right place does
eliminate upper check.

So I retract the title of current thread :)

2007/4/17, Mikhail Fursov <mike.fursov@gmail.com>:
> Some advices:
> 1) update and rebuild classlib first (ant clean/svn update/ant
> fetch-depends/ant)
> 2) run 'build clean' before building updated drlvm to be sure that there are
> no object files left for removed sources.
>
> On 4/17/07, Maksim Ananjev <maksim.ananjev@gmail.com> wrote:
> >
> > I am now fully convinced that there is a problem on my side. I tried
> > applying the patch as you had described - got segmentation fault on my
> > test execution. I suppose, that's because i have rather old build.
> >
> > I tried to make "svn up" - but got compilation errors in the porting
> > layer.
> >
> > Maybe i need some time to claw through these troubles :)
> >
> >
> > 2007/4/17, Naveen Neelakantam <neelakan@uiuc.edu>:
> > > The new ABCD implementation works on the example code you posted.
> > >
> > > Perhaps the patch did not apply correctly?  I noticed that you said
> > > you unzipped vm.zip before applying abcd_update_1_full.patch, which
> > > isn't the way that the patch is intended to be used (sorry for the
> > > confusion, my fault).
> > >
> > > All you need to do is apply the abcd_update_1_full.patch, you should
> > > not unzip vm.zip.  This command should do the trick (from the svn root):
> > >  >patch -p0 < abcd_update_1_full.patch
> > >
> > > If you are still having problems, please tar (or zip) up the
> > > following: your log files, the java test source, your emconf file.
> > > Then post the tar (or zip) on the HARMONY-1788 jira along with the
> > > svn revision you are using, OS, etc.
> > >
> > > Naveen
> > >
> > > On Apr 16, 2007, at 1:25 PM, Maksim Ananjev wrote:
> > >
> > > > I've placed "classic_abcd" after the ssa construction:
> > > >
> > > > -
> > > > XDjit.CS_OPT.path.optimizer=ssa,classic_abcd,devirt,inline,uce,purge,s
> > > > implify,dce,uce,
> > > > lazyexc,memopt,simplify,dce,uce,lower,dessa,statprof,markglobals
> > > >
> > > > Nothing changed :-(
> > > >
> > > >
> > > >
> > > > 2007/4/17, Maksim Ananjev <maksim.ananjev@gmail.com>:
> > > >> Naveen,
> > > >>
> > > >> Here is a part of my opt.emconf file which states an order of
> > > >> optimization passes on HIR:
> > > >>
> > > >> -
> > > >> XDjit.CS_OPT.path.optimizer=ssa,devirt,inline,uce,purge,simplify,dce,
> > > >> uce,
> > > >> classic_abcd,lazyexc,memopt,simplify,dce,uce,lower,dessa,statprof,mar
> > > >> kglobals
> > > >>
> > > >>
> > > >> 2007/4/17, Naveen Neelakantam <neelakan@uiuc.edu>:
> > > >> > I can take a look, but I suspect that the problem is caused by
the
> > > >> > loop peeling pass.
> > > >> >
> > > >> > Can you post your modified emconf file?  Or can you tell me which
> > > >> > passes you inserted classic_abcd between?
> > > >> >
> > > >> > Thanks,
> > > >> > Naveen
> > > >> >
> > > >> > On Apr 16, 2007, at 12:39 PM, Maksim Ananjev wrote:
> > > >> >
> > > >> > > Hi!
> > > >> > >
> > > >> > > I tried to apply new ABCD optimization path to the following
> > > >> code:
> > > >> > >
> > > >> > > int[] array = new int[10];
> > > >> > > int l = array.length;
> > > >> > > for(int i =0; i<l; i++)
> > > >> > > {
> > > >> > >       array[i] = i;
> > > >> > > }
> > > >> > >
> > > >> > > However the bounds check on the assignment inside the loop
was
> > > >> not
> > > >> > > eliminated.
> > > >> > >
> > > >> > > I used the patches from here:
> > > >> > > https://issues.apache.org/jira/browse/HARMONY-1788
> > > >> > >
> > > >> > > I unzipped files in vm.zip and added them in
> > > >> > > jitrino/src/optimizer/abcd/ folder. Then I applied
> > > >> > > abcd_update_1_full.patch. Then I added "classic_abcd" to
> > > >> opt.emconf
> > > >> > >
> > > >> > > But according to log file upper bound check cannot be proved
> > > >> > > redundant. That's strange because this case looks rather
obvious.
> > > >> > >
> > > >> > > May be I did something wrong in applying the patch? Or ABCD
> > > >> really
> > > >> > > cannot deal with such case?
> > > >> > >
> > > >> > > --
> > > >> > > Maksim
> > > >> >
> > > >> >
> > > >>
> > > >>
> > > >> --
> > > >> Maksim
> > > >>
> > > >
> > > >
> > > > --
> > > > Maksim
> > >
> > >
> >
> >
> > --
> > Maksim
> >
>
>
>
> --
> Mikhail Fursov
>


-- 
Maksim

Mime
View raw message