Adding packages to modules

Alan Bateman Alan.Bateman at oracle.com
Thu Apr 28 14:45:45 UTC 2016


On 28/04/2016 14:45, Peter Levart wrote:
> Hi Alan,
>
> I also have a little optimization for Module.extraPackages:
>
> http://cr.openjdk.java.net/~plevart/jdk9-dev/Module.extraPackages/webrev.01/ 
>
>
> This is only used from java.lang.reflect.Proxy presently, so what is 
> currently there is not performance critical, but if it gets used more, 
> then the provided patch gives smaller footprint and O(n) instead of 
> O(n^2) time to add n packages to a module + doesn't produce so much 
> garbage.
>
> What do you think?
No objection to changing this from copy-on-write to a CHM. The original 
implementation was to keep it simple and to special-case the one package 
case. It hasn't been a performance issue so far but if we have a lot of 
Proxy classes generated into the same module then it has potential.

Your patch reminds me that we should probably change 
JVM_AddModulePackage to make it idempotent as dropping the 
computeIfAbsent here would make this more readable.

I see you've changed to toArray in getPackages to use the size and 
curious if that helps (just thinking of Aleksey essay on this topic [1]).

-Alan

[1] http://shipilev.net/blog/2016/arrays-wisdom-ancients/


More information about the jigsaw-dev mailing list