JDK-8003868 : fix shark for latest HotSpot and LLVM
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2012-11-21
  • Updated: 2013-04-30
  • Resolved: 2012-11-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 Other
8Fixed hs25Fixed
Description
http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-November/007294.html


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