Hi Claes, 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.
see http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html#jigsaw-2.1 Rémi ----- Mail original ----- > De: "Claes Redestad" <claes.redes...@oracle.com> > À: "jigsaw-dev" <jigsaw-dev@openjdk.java.net>, > hotspot-runtime-...@openjdk.java.net > Envoyé: Lundi 2 Janvier 2017 19:27:43 > Objet: RFR: 8171855: Move package name transformations during module > bootstrap into VM > Hi, > > 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. > > Thanks! > > /Claes