New candidate JEP: 362: Deprecate the Solaris and SPARC Ports

Roman Kennke roman at kennke.org
Wed Nov 6 14:46:42 UTC 2019


>>>> I wish Shark wouldn't have fallen into oblivion [2] as using LLVM is
>>>> a really good idea in order to achieve both portability and
>>>> reasonable performance which is why LLVM is popular with other
>>>> languages like Rust, Swift, Julia and many more [3].
>>>
>>> Shark was a good idea (it was -- partly -- my idea) but it couldn't
>>> keep up. It might not be a bad idea to create a "modern" Shark,
>>> perhaps along the lines of Azul's Falcon.
>>
>> What was the main reason it couldn't keep up? Lack of interest or was
>> it that OpenJDK changed too much low-level code too often?
> 
> LLVM, especially its JIT support, was horribly unstable. The only way
> to get a bug fixed was to "wait for the next release", at which point
> something else would break, repeat ad nauseam. We'd have had to fork
> LLVM and tried to stabilize the silly thing.  Also, the support for
> garbage collection was awful. I believe this is fixed now.
> 
> Later on they rewrote the JIT support and I hear it's much better. In
> hindsight LLVM just wasn't ready, and was oversold.


Yes, all that. Plus, in the meantime we've got JVMCI. Any reasonable way
forward with LLVM/Shark would have amounted to a rewrite anyway, using
JVMCI, using the new LLVM JIT and GC stuff, and so on.

Roman


More information about the jdk-dev mailing list