Hi,
I'm trying to run the various DaCapo benchmarks using compiler replay
to factor out the JIT compiler overhead from our experiments. This is
working fine for all the benchmarks except for eclipse, which fails to
run when using compiler replay - even with a clean JikesRVM checkout
from SVN today. Here's the steps I took:
svn checkout
http://jikesrvm.svn.sourceforge.net/svnroot/jikesrvm/rvmroot/trunk
jikesrvm-svn
ant -Dhost.name=ia32-linux -Dconfig.name=FastAdaptiveGenCopy
then I generate compiler advice files with:
~/jikesrvm-svn/dist/FastAdaptiveGenCopy_ia32-linux/rvm -Xms300m -
Xmx300m -X:base:profile_edge_counters=true -
X:base:profile_edge_counter_file=my_edge_counter_file -
X:aos:enable_advice_generation=true -
X:aos:cafo=my_compiler_advice_file -
X:aos:dcfo=my_dynamic_call_graph_file -X:aos:final_report_level=2 -jar
dacapo-2006-10-MR2.jar eclipse
which outputs:
AOS generation booted
===== DaCapo eclipse starting =====
<setting up workspace...>
<creating
projects..............................................................>
<running tests at level 0...>
<performing build tests...>
org.apache.ant (not open) opening cleaning building
org.junit (not open) opening cleaning building
org.eclipse.osgi (not open) opening cleaning building
<performing type hierarchy tests...>
Hierarchy: org.eclipse.help.internal HelpPlugin
<performing AST tests...>
AST creation: org.eclipse.jdt.internal.compiler.parser
<performing completion tests...>
Completion: Completion>Name>Empty
Completion: Completion>Name>Empty>No Method
<performing search tests...>
Searching: indexing
===== DaCapo eclipse PASSED in 30807 msec =====
if i then try using that compiler advice like this:
~/jikesrvm-svn/dist/FastAdaptiveGenCopy_ia32-linux/rvm -Xms300m -
Xmx300m -X:aos:enable_replay_compile=true -
X:vm:edgeCounterFile=my_edge_counter_file -
X:aos:cafi=my_compiler_advice_file -
X:aos:dcfi=my_dynamic_call_graph_file -jar dacapo-2006-10-MR2.jar
eclipse
I get this error (and Jikes needs to be killed):
AOS: In replay mode; controller thread only runs for OSR inlining.
Exception in thread "Jikes_RBoot_Thread": java.lang.InternalError:
Unable to load class with custom class loader:
java.lang.InstantiationException
at java.lang.Error.<init>(Error.java:81)
at java.lang.VirtualMachineError.<init>(VirtualMachineError.java:71)
at java.lang.InternalError.<init>(InternalError.java:70)
at
org.jikesrvm.classloader.MemberReference.parse(MemberReference.java:128)
at
org.jikesrvm.classloader.MemberReference.parse(MemberReference.java:123)
at
org.jikesrvm.compilers.baseline.EdgeCounts.readCounts(EdgeCounts.java:
129)
at org.jikesrvm.compilers.baseline.EdgeCounts.boot(EdgeCounts.java:
59)
at org.jikesrvm.VM.finishBooting(VM.java:159)
at org.jikesrvm.VM.boot(VM.java:145)
I've tried this on both ia32-linux (Ubunto 8.10) and ia32-osx
(10.5.7), with both the current SVN head, and an older pre-native
threading version and with multiple different heap sizes. All give the
same error. All the other DaCapo benchmarks run fine using replay
advice, it's only eclipse that does this.
Has anyone else seen this error or know how to work around it?
Many thanks,
Chris.
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers