Hi, Please review the update webrev at http://cr.openjdk.java.net/~henryjen/ccc/8023524/2/webrev/
In this revision, I moved out code for dumping the generated class files into a separate class as Remi suggested, so that the code is only loaded if the property is set. (Verified with -XX:+TraceClassLoading). I also fixed two type as Jon brought to my attention. Cheers, Henry On 09/24/2013 02:59 PM, Henry Jen wrote: > Hi, > > Please review the new webrev at > http://cr.openjdk.java.net/~henryjen/ccc/8023524/1/webrev/ > > The updated code will attempt to escape potentially bad characters(based > on our best knowledge on Windows and common systems), it's not likely we > can avoid problem for all file systems. > > Anyhow, we avoid characters that can be used to navigate (known) file > system, and if there is any other invalid characters, that should cause > an IOException failed to create file and just skip dumping of that class. > > Let me know if there are other concerns. > > Cheers, > Henry > > > On 09/19/2013 12:27 AM, Florian Weimer wrote: >> On 09/19/2013 01:00 AM, Henry Jen wrote: >> >>>> Class names can contain '\' and other characters which are problematic >>>> on Windows. >> >>> Thanks for reviewing, I suspect you are pointing out a potential issue >>> to look at, not that the problem exists in current implementation. >>> >>> According to JLS 3.8, the classname(an identifier) can only have >>> letters, digits, plus '_' and '$'. >> >> You need to look at the JVM specification, there are only very few >> characters it excludes. The restrictions come from javac, not the JVM. >> For example, on Linux, "java '\'" will load a \.class file and run it >> (yes, I tried). >> >