« Return to Thread: Re: [rvm-core] [rvm-commits] SF.net SVN: jikesrvm:[15318] rvmroot/trunk

Re: [rvm-core] [rvm-commits] SF.net SVN: jikesrvm:[15318] rvmroot/trunk

by Steve Blackburn :: Rate this Message:

Reply to Author | View in Thread

Thanks Ian,

> This is a speedup primarily on Intel baseline code.

Have you had the opportunity to measure the performance effect of  
these changes?

I can see (below) what motivated you to pursue these changes, but my  
experience (and I have to tell you I have recently spent a *lot* of  
time on barrier performance) is that intuition is generally not a good  
guide for these issues.  The only way to know is to map out a few  
logical alternatives and then measure each of them thoroughly *and*  
measure them on different platforms.  We found that the performance of  
different barrier alternatives changed significantly depending on the  
platform (out of order / in order, IA32/PPC) and also on whether the  
builds were built with profiling or not, etc.

Changes to code like this (which is performance-critical and is  
important to other people) should be discussed first.   Whether the  
particular ideas are ultimately deemed good or not, it is important to  
discuss them with others (and evaluate them) beforehand.

Cheers,

--Steve

> aastore:
> previously: the aastore would emit a call to checkstore and then a
> call to the aastore barrier
> now: a single aastore helper can inline both of these calls and
> therefore we pay only 1 call. Another consequence of this is the
> baseline compiler emits less code (which should make it faster).
>
> putfield/putstatic:
> previously: the arguments to the barrier routines in MemoryManager
> were in a different order to the values on the JVM's operand stack, to
> call the barrier the parameters were shuffled
> now: the order of operands on the barrier routines now match, we no
> longer need to shuffle parameters losing around 2 instructions (long 4
> byte instructions) per baseline barrier call.

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Jikesrvm-core mailing list
Jikesrvm-core@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-core

 « Return to Thread: Re: [rvm-core] [rvm-commits] SF.net SVN: jikesrvm:[15318] rvmroot/trunk