Review Request -- CR6565585: Performance improvements to Method.invoke(), Contrstuctor.newInstance() and Field.getFieldAccessor()
mike.duigou at oracle.com
Thu Mar 17 15:07:58 PDT 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.
More information about the core-libs-dev