RFR (2nd): 8023524: Mechanism to dump generated lambda classes / log lambda code generation

Henry Jen henry.jen at oracle.com
Tue Sep 24 21:59:13 UTC 2013


Please review the new webrev at

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.


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).

More information about the core-libs-dev mailing list