RFR (3rd): 8023524: Mechanism to dump generated lambda classes / log lambda code generation
henry.jen at oracle.com
Wed Sep 25 00:37:19 PDT 2013
Please review the update webrev at
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.
On 09/24/2013 02:59 PM, Henry Jen wrote:
> 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 lambda-dev