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

Remi Forax forax at univ-mlv.fr
Tue Sep 24 15:13:02 PDT 2013

On 09/24/2013 11: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

I think the whole code should be moved in an auxiliary static class 
loaded only if the property is not null.
There is no need to verify more bytecodes and initialize more arrays 
than necessary if no dump is requested.


> 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 mailing list