Jikes

From Sniper
Revision as of 07:16, 12 August 2014 by Wheirman (talk | contribs)
Jump to navigation Jump to search

It is possible to run the Jikes RVM (Research Virtual Machine) and the DaCapo benchmarks suite on top of Sniper. The latest Benchmarks release contains all code necessary to do this.

WARNING This setup can be complicated to make it work correctly! Expect to have to experiment to find a right combination of host machine and OS that works for you. In general, AMD machines seem to cause issues. Running on a 32-bit OS, or in a 32-bit changeroot, is preferable over cross-compiling on a 64-bit OS.

Steps:

  • Compile Sniper in 32-bit mode: by default on a 32-bit host OS, or to cross-compile use make SNIPER_TARGET_ARCH=i386
  • Obtain the benchmarks, and follow these steps to compile Jikes
    • export SNIPER_ROOT=/path/to/sniper
    • cd benchmarks
    • export BENCHMARKS_ROOT=$(pwd)
    • make -C tools/hooks
    • make -C jikes
  • The last command will download the DaCapo benchmarks, compile the probes.jar framework which allows for ROI selection and replay compilation, and download a compiled version of Jikes that has been patched to support Sniper's magic instructions for ROI begin/end
    • To compile Jikes from source instead, allowing you to modify the flow and potentially make other changes to its source, you can start from the jikesrvm target in benchmarks/jikes/Makefile
  • You should now be able to run DaCapo+Jikes applications on Sniper using
$BENCHMARKS_ROOT/run-sniper -c gainestown -c jikes -n 4 -p jikes-APP
    • You can change the target architecture configuration (replace -c gainestown with e.g. -c silvermont), but you should keep -c jikes in place.
    • The applications that work are: antlr avrora bloat fop jython luindex lusearch lusearch.fix pmd sunflow xalan
{"cc_re__cc_re__cc_by_3_0": ["key=\"p\">Printable version</a></li><li id=\"t-permalink\"><a href=\"/w/index.php?title=Jikes&amp;oldid=573\" title=\"Permanent link to this revision of the page\">Permanent link</a></li><li id=\"t-info\"><a href=\"/w/index.php?title=Jikes&amp;action=info\" title=\"More information about this page\">Page information</a></li>\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t</div>\n\t\t\t\t</div>\n\t\t</div>\n\t\t\t\t<div id=\"footer\" role=\"contentinfo\">\n\t\t\t\t\t\t<ul id=\"footer-info\">\n\t\t\t\t\t\t\t\t<li id=\"footer-info-copyright\">Content is available under <a class=\"external\" rel=\"nofollow\" href=\"http://creativecommons.org/licenses/by/3.0/\">Attribution 3.0 Unported</a> unless otherwise noted.</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<ul id=\"footer-places\">\n\t\t\t\t\t\t\t\t<li id=\"footer-places-privacy\"><a href=\"/w/Sniper:Privacy_policy\" title=\"Sniper:Privacy policy\">Privacy policy</a></li>\n\t\t\t\t\t\t\t\t<li id=\"footer-places-about\"><a href=\"/w/Sniper:About\" title=\"Sniper:About\">About Sniper</a></li>\n\t\t\t\t\t\t\t\t<li id=\"footer-places-disclaimer\"><a href=\"/w/Sniper:General_disclaimer\" title=\"Sniper:General disclaimer\">Disclaimers</a></li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t<ul id", "l id=\"footer-places\">\n\t\t\t\t\t\t\t\t<li id=\"footer-places-privacy\"><a href=\"/w/Sniper:Privacy_policy\" title=\"Sniper:Privacy policy\">Privacy policy</a></li>\n\t\t\t\t\t\t\t\t<li id=\"footer-places-about\"><a href=\"/w/Sniper:About\" title=\"Sniper:About\">About Sniper</a></li>\n\t\t\t\t\t\t\t\t<li id=\"footer-places-disclaimer\"><a href=\"/w/Sniper:General_disclaimer\" title=\"Sniper:General disclaimer\">Disclaimers</a></li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t<ul id=\"footer-icons\" class=\"noprint\">\n\t\t\t\t\t\t\t\t\t\t<li id=\"footer-copyrightico\">\n\t\t\t\t\t\t<a href=\"http://creativecommons.org/licenses/by/3.0/\"><img src=\"http://i.creativecommons.org/l/by/3.0/88x31.png\" alt=\"Attribution 3.0 Unported\" width=\"88\" height=\"31\"/></a>\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t<li id=\"footer-poweredbyico\">\n\t\t\t\t\t\t<a href=\"https://www.mediawiki.org/\"><img src=\"/w/resources/assets/poweredby_mediawiki_88x31.png\" alt=\"Powered by MediaWiki\" srcset=\"/w/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /w/resources/assets/poweredby_mediawiki_176x62.png 2x\" width=\"88\" height=\"31\"/></a>\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<div style=\"clear: b"], "copyright__copyright__copyright": ["r changes to its source, you can start from the jikesrvm target in benchmarks/jikes/Makefile\n  \u2022 You should now be able to run DaCapo+Jikes applications on Sniper using\n$BENCHMARKS_ROOT/run-sniper -c gainestown -c jikes -n 4 -p jikes-APP\n    \u2022 You can change the target architecture configuration (replace -c gainestown with e.g. -c silvermont), but you should keep -c jikes in place.\n    \u2022 The applications that work are: antlr avrora bloat fop jython luindex lusearch lusearch.fix pmd sunflow xalan", "r changes to its source, you can start from the jikesrvm target in benchmarks/jikes/Makefile\n  \u2022 You should now be able to run DaCapo+Jikes applications on Sniper using\n$BENCHMARKS_ROOT/run-sniper -c gainestown -c jikes -n 4 -p jikes-APP\n    \u2022 You can change the target architecture configuration (replace -c gainestown with e.g. -c silvermont), but you should keep -c jikes in place.\n    \u2022 The applications that work are: antlr avrora bloat fop jython luindex lusearch lusearch.fix pmd sunflow xalan"]}