RFR: Fix shark for latest Hotspot and LLVM

Roman Kennke rkennke at redhat.com
Wed Nov 21 09:31:34 PST 2012


Hi there,

during the last days I worked on fixing the Shark compiler for Hotspot
to get it to build and run again, with the latest Hotspot code and LLVM.
Here are some details:

- A lot of changes are just to make it build and the compiler happy. For
example, I had to remove a lot of 'const' qualifiers because of API
changes in LLVM.
- Most other changes have to do with the split of the oop and metadata
class hierarchies in Hotspot.
- Then there have been a few changes caused by LLVM changes and
improvements, most notably the LLVM intrinsics for atomic operations
(memory barrier and cmpxchg) have been removed and now have a
representation directly in LLVM's IR. This makes our code a little
nicer.

I tested this by running a number of applications, most notably Eclipse
(which is notoriously difficult on VMs), Java2Demo, SwingSet2 and a
bunch of other stuff.

I would like to get this integrated into OpenJDK now if possible. You
can find the full webrev here:

http://cr.openjdk.java.net/~rkennke/shark/webrev.00/

There are also a very minor change required in JDK:

http://cr.openjdk.java.net/~rkennke/shark/webrev-jdk-00/

In order to build it, apply the patches on hsx/hotspot-comp 's hotspot
and jdk repositories respectivly. Find my build script here:

http://cr.openjdk.java.net/~rkennke/shark/Build8-zero-shark

(Review and adjust variables to your settings, most notably you will
need to change LLVM_CONFIG to point to your LLVM 3.1 installation.)

Please let me know if there are any issues or how we can get this
integrated into Hotspot.

Best regards,
Roman




More information about the hotspot-dev mailing list