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

Peter Levart peter.levart at gmail.com
Tue Sep 24 22:56:26 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.

Hi Henry,

Just a thought. How does URLClassLoader do the class name -> path to 
resource translation? Perhaps there's already some code that does this 
correctly and in a platform-specific way (haven't looked)...

Regards, Peter

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