8152910: Get performance improvement with Stable annotation

Brian Burkhalter brian.burkhalter at oracle.com
Mon Oct 1 21:31:22 UTC 2018


Please review at your convenience:

https://bugs.openjdk.java.net/browse/JDK-8152910

JMH benchmarks do show a slight but measurable performance improvement with the below patch applied.

Thanks,

Brian

--- a/src/java.base/share/classes/java/math/BigInteger.java
+++ b/src/java.base/share/classes/java/math/BigInteger.java
@@ -41,6 +41,7 @@
 import jdk.internal.math.DoubleConsts;
 import jdk.internal.math.FloatConsts;
 import jdk.internal.HotSpotIntrinsicCandidate;
+import jdk.internal.vm.annotation.Stable;
 
 /**
  * Immutable arbitrary-precision integers.  All operations behave as if
@@ -1219,8 +1220,10 @@
      * Initialize static constant array when class is loaded.
      */
     private static final int MAX_CONSTANT = 16;
-    private static BigInteger posConst[] = new BigInteger[MAX_CONSTANT+1];
-    private static BigInteger negConst[] = new BigInteger[MAX_CONSTANT+1];
+    @Stable
+    private static final BigInteger posConst[] = new BigInteger[MAX_CONSTANT+1];
+    @Stable
+    private static final BigInteger negConst[] = new BigInteger[MAX_CONSTANT+1];



More information about the core-libs-dev mailing list