RFR: 8171853: Remove Shark compiler

Roman Kennke rkennke at redhat.com
Sun Oct 15 20:34:46 UTC 2017

Am 15.10.2017 um 22:26 schrieb John Paul Adrian Glaubitz:
> Hi Roman!
> On 10/15/2017 12:41 AM, Roman Kennke wrote:
>> The JEP to remove the Shark compiler has received exclusively positive
>> feedback (JDK-8189173) on zero-dev. So here comes the big patch to 
>> remove it.
> I have now read through the JEP and I have to say, I'm sad to see 
> Shark go.
> In my opinion, Shark should be a supported version of the JVM as LLVM 
> is gaining
> code generation support for more and more architectures. I have always 
> liked the
> idea to split out the code generation of compilers into a separate 
> project and,
> in fact, the compilers for many other languages like Rust and Julia 
> rely on LLVM.
> It's a pity that this value is not seen within the OpenJDK project.

Yes, I agree with you. However, at this point, fixing Shark amounts to 
almost complete rewrite of it. It would nowadays be based on jvmci. It 
would use the new and presumably much better JIT interface of LLVM. It 
would not use a shadow stack and a sane interface between LLVM and the 
GC (which hasn't existed back then). It's a project I'd personally like 
to do just for the fun of it, but I simply don't have enough time and 
the nerve to pull it off alone. In any case, as I said, it would 
probably make sense to start it from scratch.

>> I tested by building a regular x86 JVM and running JTREG tests. All 
>> looks fine.
>> - I could not build zero because it seems broken because of the 
>> recent Atomic::* changes
> I just performed a Zero test build with the current HG revision of 
> OpenJDK on x86_64
> without any problems and Zero on SPARC builds fine as well, so the 
> problem you are
> seeing has apparently been fixed now. I have not tested your patch yet 
> though, I just
> wanted to verify whether Zero still builds fine.
I checked and noticed that it only affects debug builds. That's probably 
why it slipped through.

I filed https://bugs.openjdk.java.net/browse/JDK-8189333 and will post 
an RFR later.

>> - I could not test any of the other arches that seemed to reference 
>> Shark (arm and sparc)
> I will test this later. I am currently waiting for JDK-8186579 to get 
> merged which fixes
> the last problem on Linux-SPARC.

Okidoki, thanks a lot!!

Cheers, Roman

More information about the hotspot-dev mailing list