The return of the Shark
Roman Kennke
rkennke at redhat.com
Thu Nov 22 06:19:55 PST 2012
Am Mittwoch, den 21.11.2012, 15:00 +0100 schrieb Matthias Klose:
> Am 21.11.2012 12:47, schrieb Roman Kennke:
> > Hi there,
> >
> > the last couple of days I worked on getting Shark back into shape for
> > OpenJDK8. I have it working now with LLVM 3.1 and latest OpenJDK8
> > hsx/hotspot-comp now, it successfully runs Eclipse and a bunch of other
> > apps I tried.
>
> \o/
>
> which architectures was this tested with?
So far, only on x86. I (and my team) is currently working on testing ARM
and maybe PPC.
> > I have one question to which I'd like to hear other people's input. In
> > the Shark code we have several #ifdefs that check for specific LLVM
> > versions like this:
> >
> > +#if SHARK_LLVM_VERSION >= 30
> >
> > For LLVM 3.1 I'd need to add more to this. However, I fear this will be
> > an increasingly difficult thing to do, and would actually prefer to get
> > rid of those check altogether and only support whatever is the latest
> > LLVM release (or at least, some specific known LLVM release). Even now
> > it's difficult for me to say which code is generic or specific to an
> > LLVM version, and I don't think we can possibly expect to test against
> > all those LLVM versions. And it also clutters the code unnecessarily.
> >
> > So I guess my question is, would it be ok for everybody to simply drop
> > this version check, and support latest LLVM only (3.1 as of now).? Or is
> > there a need for specific LLVM version support, and if yes, then which
> > versions are they (maybe we can then at least limit the number of
> > versions we have).
> >
> > What do you think?
>
> I don't like the idea of just supporting one llvm version, which makes it harder
> to build if you first have to build llvm. So maybe remove the version checks for
> older llvm versions (I'm ok having 3.1 as the minimal version), keep these for
> 3.1, and make sure that it works for 3.2 too (first rc was just released).
Ok, I removed the version checks for now, which means that 3.1 is the
baseline (it might even work on 3.0). Hopefully there are not too many
breaking changes coming down the line from LLVM (I will give the 3.2rc a
spin as soon as I have some time). 3.0->3.1 has been relatively smooth
as far as I can tell. *IF* there are any breaking changes, I propose to
not maintain support for more than one additional older version (e.g.
latest released LLVM and one older release, maybe a version that is
available in a majority of distros or so). Would that be ok?
Roman
More information about the zero-dev
mailing list