Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • I modified mx/projects so that what I thought were the unnecessary project sets would not be included in graal.jar (so truffle, sparc, ptx.  Note that we do need the graal amd64 backend because of the way hsail deoptimization is done).

  • Then I took the graal java sources for the classes that were still in graal.jar and added them to the sumatra-dev/jdk.

  •  I   I also took the hotspot src tree from graal (which is a modification of hs25-b63, graal has stayed at that hotspot revision lately) and used that as an overlay of the vanilla hs25-b63 tag in sumatra-dev/hotspot.
    • There were a couple of graal-generated files graalRuntime.inline.hpp and HotspotVMConfig.inline.hpp which I also manually added to sumatra-dev/hotspot
    • Some minor modifications to the hotspot/Makefile to make the graal flavor be the default flavor.

With the above we are able to build the release build and execute HSAIL offloads hterethere. (there is some problem with building the fastdebug build involving libjsig.so).

...

The changes are the addition of the src files that made up the abbreviated graal.jar.  As mentioned earlier this includes the graal AMD64 backend because of the way we do deoptimization thru trampoline code.and the way the hsail backend defers to the host backend for things that it doesn't override.  It is possible that some of the files in core graal are not really used by the HSAIL backend of the AMD64 bakckend trampoline code but this fine tuning has not been done yet.

  • abbreviated graal sources, 171K lines of code,  1083 java files
  • full graal.jar                            209K lines of code,  1319 java files
  • rest of JDK                                                                8200 java files

hg diff-stat of sumatra-dev/jdk with added graal files

 

sumatra-dev/hotspot

The changes are the changes that the graal project for their own hotspot fork.  In particular, this includes the HSA execution time code that resides in the VM (files starting with src/gpu/hsail/vm).  But it also includes all the other changes made to hotspot by graal.    At the time of this experiment, graal was still forked off of hs25-b63 so I used that as a starting point for this diff. 

hg diff-stat of sumatra-dev/hotspot vanilla hs25-b63