RFR: 8067951: System.loadLibrary cannot find library when path contains quoted entry

Ivan Gerasimov ivan.gerasimov at oracle.com
Mon Jan 5 17:49:08 UTC 2015

Hi Roger!

I've updated the webrev similarly to what you've suggested:
1) Presence of quotes is checked when counting the separators.
2) If quotes weren't found, we'll execute the same optimized loop as for 


Sincerely yours,

On 05.01.2015 18:40, Roger wrote:
> Hi Ivan,
> For this small difference in the implementations, I'd recommend 
> against having
> two different source files.  The path initialization function is a one 
> time function and
> the performance improvement is not significant.
>  I'd suggest a few comments on your 2nd version[1].
> - The windows check should check the system property or other 
> definitive os check
>   and could be better expressed (as Alan suggested) as quotesAllowed.
> - in the loop testing for the quote (") can come before the 
> quotesAllowed check to
>   speed things up (no need to check if they are allowed if they do not 
> occur).
>   This code is unlikely to be executed enough times to optimized.
> Roger
> [1] http://cr.openjdk.java.net/~igerasim/8067951/2/webrev/
> On 1/4/2015 3:23 PM, Ivan Gerasimov wrote:
>> On 04.01.2015 22:50, Alan Bateman wrote:
>>> On 03/01/2015 17:39, Ivan Gerasimov wrote:
>>>> Currently, there are tree variants of ClassLoaderHelper: for 
>>>> Windows, for Unix and for MacOS.
>>>> We have to either duplicate code in Unix and MacOS realizations, or 
>>>> introduce another Helper class for initializing paths only, which 
>>>> would have only two realizations: for Windows and all Unixes.
>>> When I made the comment then I was thinking of a method such as 
>>> allowsQuotedPathElements (or a better name) that returns a boolean 
>>> to indicate if quoting of path elements is allowed or not. That 
>>> would abstract the capability a bit without needing to do isWindows 
>>> checks.
>> Ah, I see.
>> Though, not needing to check for quotes allows a bit more efficient 
>> implementation, so splitting the code for different platforms may 
>> also make sense.
>> I did it with another helper class in this webrev:
>> http://cr.openjdk.java.net/~igerasim/8067951/3/webrev/
>> Sincerely yours,
>> Ivan
>>> -Alan.

More information about the core-libs-dev mailing list