Re: New portion of improvements for Dual-Pivot Quicksort

2010-07-06 Thread David Holmes
I asked someone to take a look at this and it seems that the problem is that a[less++] requires introduction of a temporary to store the pre-incremented index value which in turn increases register pressure and can lead to a register spill. This seems to not only be architecture dependent but e

Re: New portion of improvements for Dual-Pivot Quicksort

2010-07-06 Thread Osvaldo Doederlein
The ironic thing is that these operators were originally introduced in the C language, at least according to well-known folklore, as an optimization - taking advantage of inc/dec instructions from the PDP arch, in the old times when (I suppose) compilers wouldn't do even basic strength-reduction op

hg: jdk7/tl/jdk: 6963723: Project Coin: Retrofit more JDK classes for ARM

2010-07-06 Thread joe . darcy
Changeset: 425960cef714 Author:darcy Date: 2010-07-06 18:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/425960cef714 6963723: Project Coin: Retrofit more JDK classes for ARM Reviewed-by: alanb, malenkov, prr, amenkov ! src/share/classes/java/beans/XMLDecoder.java ! src/sh

Re: New portion of improvements for Dual-Pivot Quicksort

2010-07-06 Thread Tom Rodriguez
I actually looked into this in some detail and the reason for the difference in C1 is two fold. First the state of the JVM at array load is slightly different for a[i++] vs. a[i], i++. In the first case the top state has a copy of the original i but the local for i has i+1. In the second ther