[rvm-research] Compiler replay fails for DaCapo Eclipse

View: New views
4 Messages — Rating Filter:   Alert me  

[rvm-research] Compiler replay fails for DaCapo Eclipse

by Chris Ryder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

Re: [rvm-research] Compiler replay fails for DaCapo Eclipse

by Steve Blackburn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 16/05/2009, at 11:42 PM, Chris Ryder wrote:
> 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

> Has anyone else seen this error or know how to work around it?

Yes.   This is a known problem.   There's not a simple work-around,  
unfortunately.   The problem is that the replay system does not have a  
way of dealing with custom class loaders, which eclipse uses  
extensively.   This problem has existed from the beginning---it's an  
artifact of the design of the replay compilation implementation.  I've  
gone and created JIRA for it:  http://jira.codehaus.org/browse/RVM-825

--Steve

------------------------------------------------------------------------------
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

Re: [rvm-research] Compiler replay fails for DaCapo Eclipse

by Chris Ryder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 16 May 2009, at 22:02, Steve Blackburn wrote:

> On 16/05/2009, at 11:42 PM, Chris Ryder wrote:
>> 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
>
>> Has anyone else seen this error or know how to work around it?
>
> Yes.   This is a known problem.   There's not a simple work-around,
> unfortunately.   The problem is that the replay system does not have a
> way of dealing with custom class loaders, which eclipse uses
> extensively.   This problem has existed from the beginning---it's an
> artifact of the design of the replay compilation implementation.  I've
> gone and created JIRA for it:  http://jira.codehaus.org/browse/RVM-825

Ah, many thanks for the explanation Steve - at least I now know that  
its not
something broken in my environment. I noticed that the replay traces  
for Jython
also seem to include stuff for custom class loaders (if I understand  
them correctly),
yet Jython appears to run fine - am I just 'lucky' that the class  
loader identities
somehow match up between profile and replay time, or is it likely that  
the
profiles are just somehow silently applied to the wrong thing at  
replay time?

Cheers,
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

Re: [rvm-research] Compiler replay fails for DaCapo Eclipse

by Steve Blackburn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Chris,

I don't know the situation with Jython.

--Steve

On 17/05/2009, at 7:51 AM, Chris Ryder wrote:

>  noticed that the replay traces
> for Jython
> also seem to include stuff for custom class loaders (if I understand
> them correctly),
> yet Jython appears to run fine - am I just 'lucky' that the class
> loader identities
> somehow match up between profile and replay time, or is it likely that
> the
> profiles are just somehow silently applied to the wrong thing at
> replay time?



------------------------------------------------------------------------------
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