RFR (3rd): 8023524: Mechanism to dump generated lambda classes / log lambda code generation

Henry Jen henry.jen at oracle.com
Wed Sep 25 07:37:19 UTC 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:
> 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).

More information about the core-libs-dev mailing list