Review Request -- CR6565585: Performance improvements to Method.invoke(), Contrstuctor.newInstance() and Field.getFieldAccessor()

Mike Duigou mike.duigou at oracle.com
Thu Mar 17 22:07:58 UTC 2011


Method.invoke(), Contrstuctor.newInstance() and Field.getFieldAccessor() all have a needless critical section, causing large slowdowns. This patch a replaces the synchronizations by volatile references. Finally, the changes remove a doubled reference to another volatile variable.  This also simplifies the generated code by commoning up the corresponding load instruction used in the fast execution path. 

Speedups from this change are uniformly 2x or better.

The proposed improvement and patch was originated by John Rose.

Thanks,

Mike


More information about the core-libs-dev mailing list