let $calls := for $i in entries/call where $i/destClass eq "sun.reflect.Reflection" and $i/destMethodName eq "getCallerClass" or $i/destClass eq "java.lang.SecurityManager" and $i/destMethodName eq "getClassContext" return $i let $methods := for $i in $calls return $i/srcClass || "." || $i/srcMethodName || $i/srcMethodParams let $methods := distinct-values($methods) let $methodlist := for $method at $i in $methods return <tr><td>{$i}</td><td>{$method}</td></tr> return <html><body><table>{$candidates}</table></body></html>The list of candidate methods comprises 86 methods, we provide a full list in methods.html.
set javapath=C:\OpenJDK\openjdk\build\windows-x86_64-normal-server-release\images\j2sdk-image\jre\bin\java set systemclasspath=../CallCounter/output set dacapopath=dacapo-9.12-bach.jar set cmd=%javapath% -Xcomp -XX:CompileThreshold=1 -server -Xmx2g -Xms2g -Xbatch -Xbatch -Xbootclasspath/p:%systemclasspath% -jar %dacapopath% -t 1 set jythoncmd=%javapath% -XX:CompileThreshold=1 -server -Xmx2g -Xms2g -Xbatch -Xbatch -Xbootclasspath/p:%systemclasspath% -jar %dacapopath% -t 1 %cmd% avrora > results/avrora-results.txt %cmd% fop > results/fop-results.txt %cmd% h2 > results/h2-results.txt %jythoncmd% jython > results/jython-results.txt %cmd% luindex > results/luindex-results.txt %cmd% lusearch > results/lusearch-results.txt %cmd% pmd > results/pmd-results.txt %cmd% sunflow > results/sunflow-results.txt %cmd% tomcat > results/tomcat-results.txt %cmd% tradebeans > results/tradebeans-results.txt %cmd% tradesoap > results/tradesoap-results.txt %cmd% xalan > results/xalan-results.txtThe helper classes will add a shutdown hook that will output call counts at the end of each benchmark run. In callcounts.pdf, we provide the results that we measured on our machine. Note, however, that the call counts for some of the benchmarks may slightly vary from run to run.