Re: [rvm-research] How to fix buggy SSA

Lei Zhao <[email protected]>
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <[email protected]>
Hi,

  I need to modify the code in SSA form and get problems. So I poked around and here I made my issue more specific with the hope someone could guess where the problem might be:

Observation 1: in opt compiler, if I create a phase where I insert a call to an empty function before every getfield (or putfield, getstatic, putstatic) in SSA form, like the following, I get a crash on some benchmarks.

ir.options.SSA = true;
new SSATuneUp().perform(ir);
// insert "call dummy()" before every getfield in the IR, where dummy() does nothing
new LeaveSSA().perform(ir);
ir.options.SSA = false;

Observation 2: if I insert a fence instead of a function call, everything works fine.

Observation 3: if I still insert function calls but in non-SSA form, everything works fine.

I used the default SSATuneUp configuration, aka, scalars only.

Any idea would be appreciated. Thanks.

- Lei

On Apr 26, 2013, at 11:02 AM, Erik Brangs wrote:

> Hi,
> 
> On 24.04.2013 17:03, Lei Zhao wrote:
>> It seems SSA is buggy in the opt compiler.
> 
> Yes, that's why it's disabled by default.
> 
>> I need to have a working
>> SSA for my project but unfortunately have no clue where to start fixing
>> it. 
> 
> I assume that you only need scalar SSA. IIRC the heap-array SSA form is
> considered so broken that it would be easier to rewrite it.
> 
>> Could someone familiar with this give me some advice? Thanks.
> 
> If you haven't done so already, you could search the researchers mailing
> list archive for information about SSA. There were various threads about
> it in the past few months. IIRC David Grove and Ian Rogers answered the
> bulk of the questions.
> 
> 
> Kind regards,
> 
> Erik Brangs
> 
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service 
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> Jikesrvm-researchers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr

_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.