[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-build-dev
Subject: Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators [v3]
From: Jim Laskey <jlaskey () openjdk ! java ! net>
Date: 2020-11-24 22:31:08
Message-ID: eo6HiVnvF25OZsv90M2d0YiLn-eXT8Iq8Jx69SDmS1Q=.cc980149-58d5-4481-aaa3-52c19e48a770 () github ! com
[Download RAW message or body]
On Wed, 18 Nov 2020 00:30:53 GMT, Paul Sandoz <psandoz@openjdk.org> wrote:
> > Jim Laskey has updated the pull request with a new target base due to a merge or \
> > a rebase. The pull request now contains 40 commits:
> > - Merge branch 'master' into 8248862
> > - 8248862: Implement Enhanced Pseudo-Random Number Generators
> >
> > Update package-info.java
> > - 8248862: Implement Enhanced Pseudo-Random Number Generators
> >
> > Updated RandomGeneratorFactory javadoc.
> > - 8248862: Implement Enhanced Pseudo-Random Number Generators
> >
> > Updated documentation for RandomGeneratorFactory.
> > - Merge branch 'master' into 8248862
> > - Merge branch 'master' into 8248862
> > - 8248862: Implement Enhanced Pseudo-Random Number Generators
> >
> > Move RandomGeneratorProperty
> > - Merge branch 'master' into 8248862
> > - 8248862: Implement Enhanced Pseudo-Random Number Generators
> >
> > Clear up javadoc
> > - 8248862; Implement Enhanced Pseudo-Random Number Generators
> >
> > remove RandomGeneratorProperty from API
> > - ... and 30 more: https://git.openjdk.java.net/jdk/compare/f7517386...6fe94c68
>
> src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java line 148:
>
> > 146: */
> > 147: private static Map<String, Provider<? extends RandomGenerator>> \
> > getFactoryMap() {
> > 148: if (factoryMap == null) {
>
> `factoryMap` needs to be marked volatile when using the double checked locking \
> idiom.
fixing
> src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java line 320:
>
> > 318: }
> > 319: }
> > 320: }
>
> Add an `assert` statement that `ctor`, `ctorLong` and `ctorBytes` are all non-null?
Only `ctor` is required but yes.
> src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java line 331:
>
> > 329: */
> > 330: private void ensureConstructors() {
> > 331: if (ctor == null) {
>
> This check occurs outside of the synchronized block, field may need to be marked \
> volatile. Unsure about the other dependent fields. Might need to store values from \
> loop in `getConstructors` in locals and then assign in appropriate order, assigning \
> the volatile field last.
okay
-------------
PR: https://git.openjdk.java.net/jdk/pull/1273
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic