RFR: 8171855: Move package name transformations during module bootstrap into VM
forax at univ-mlv.fr
Mon Jan 2 23:06:11 UTC 2017
the whole replace dance should not be needed anymore with the latest revision of the spec,
module names are not stored in internal form anymore.
----- Mail original -----
> De: "Claes Redestad" <claes.redestad at oracle.com>
> À: "jigsaw-dev" <jigsaw-dev at openjdk.java.net>, hotspot-runtime-dev at openjdk.java.net
> Envoyé: Lundi 2 Janvier 2017 19:27:43
> Objet: RFR: 8171855: Move package name transformations during module bootstrap into VM
> during jigsaw bootstrap, package names - represented in external form,
> "java.lang" - are transformed into VM internal form, "java/lang",
> before calling into the VM.
> This, however, can effectively be moved into the VM, which removes the
> need to generate a lot of short-lived strings during bootstrap and heat
> up various String.replace-related methods. This has a noticeable impact
> on startup metrics.
> Webrev: http://cr.openjdk.java.net/~redestad/8171855/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8171855
> JPRT -testset hotspot pass, and I've prepared to push this into jdk9/hs
> if there are no objections.
> Char-based replace on a UTF-8 source should be correct as long as the
> from and to chars are ASCII (0x00 through 0x7F). A more general method
> would be needed to safely deal with char values above 0x7F, so adding
> some asserts to that effect should be considered.
More information about the jigsaw-dev