8152910: Get performance improvement with Stable annotation

Joseph D. Darcy joe.darcy at oracle.com
Thu Oct 11 00:45:49 UTC 2018


Looks fine Brian; thanks,

-Joe

On 10/1/2018 2:31 PM, Brian Burkhalter wrote:
> 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