Re: [rvm-core] [rvm-regress] [perf.5562] 436 FAILURES

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

Parent Message unknown Re: [rvm-core] [rvm-regress] [perf.5562] 436 FAILURES

by Ian Rogers :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Apologies for the delay, the failure is due to the changes in the table
switch. We are estimating a short branch can span a tableswitch when it
can't. I'm trying to figure out how to convince the short branch it
can't span the tableswitch but the code to change could use better
documentation. The bug is exposed by profiled images and hence has
effected performance regressions. I hope to have this fixed asap.

Regards,
Ian

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Jikesrvm-core mailing list
Jikesrvm-core@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-core

Re: [rvm-core] [rvm-regress] [perf.5562] 436 FAILURES

by David P Grove :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ian Rogers <rogers.email@...> wrote on 10/03/2008 09:03:03 AM:
> Apologies for the delay, the failure is due to the changes in the table
> switch. We are estimating a short branch can span a tableswitch when it
> can't. I'm trying to figure out how to convince the short branch it
> can't span the tableswitch but the code to change could use better
> documentation. The bug is exposed by profiled images and hence has
> effected performance regressions. I hope to have this fixed asap.

Most likely the thing you need to fix is the estimate of space for a tableswitch.  A conservative approximation would be to just say that a tableswitch takes 127 bytes and therefore we'll never try to use a short branch to span it.  I suspect the estimate that is there now was assuming the expansion of the table by FinalMIRExpansion (and therefore didn't account for the data).  The code itself is pretty straightforward (see AssemblerBase.estimateSize); all you should need to do is to add a case for tableswitch instead of falling through to the default case.



--dave

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Jikesrvm-core mailing list
Jikesrvm-core@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-core