RFR: 8253757: Add LLVM-based backend for hsdis

Magnus Ihse Bursie ihse at openjdk.java.net
Sat Oct 16 08:15:47 UTC 2021


On Fri, 15 Oct 2021 15:36:14 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> The value add of this LLVM-based hsdis is two-fold:
>> - It supports platforms that aren't supported by binutils (Windows-AArch64 for example)
>> - The license being more permissive would allow to build it as part of the OpenJDK build more easily (and even maybe ship it?)
>> 
>> LLVM has a strong track record of supporting new platforms (Windows-AArch64 and macOS-AArch64 for example, mostly because of investment from Microsoft and Apple respectively), and `hsdis` is a necessary tool for porting the OpenJDK to any new platform. Since the maintenance is fairly low (small codebase, small and knowledgable user base), I would be biased towards including it with appropriate warnings.
>
>> Since the maintenance is fairly low (small codebase, small and knowledgable user base), I would be biased towards including it with appropriate warnings.
> 
> I don't think we should commit code that we know is broken. I don't believe that this view might be controversial.
> Maybe someone should try to reproduce the failure I've seen, and then we should look at fixing it. Maybe it's a local problem.
> 
> Also, this patch breaks all current hsdis builds that follow the installation instructions. Either we get revised instructions or the build should be fixed.

@theRealAph We should not push broken code, and we should not break the existing build of hsdis. I fully agree with this. I will not push this patch until all reviewers are happy, so you don't need to worry about that. :)

My initial plan was to get the unix platforms working in this push, and tackle Windows later on, but it seems now that it's better to keep this PR around for a bit longer instead, and fold Windows support into it as well. (Which means I'll wait for Monica to return and being able to test and help out.)

I need to understand better why things are failing for you. Can you describe a reproducer?

-------------

PR: https://git.openjdk.java.net/jdk/pull/5920


More information about the hotspot-compiler-dev mailing list