RFR (XXS) 8066292: Test java/nio/file/Files/CheckPermissions.java triggers stack overflow with -server -Xcomp
Dean Long
dean.long at oracle.com
Wed Feb 24 01:59:06 UTC 2016
On 2/23/2016 4:28 PM, Dean Long wrote:
> On 2/23/2016 2:03 PM, Vladimir Kozlov wrote:
>> On 2/22/16 2:31 PM, Dean Long wrote:
>>> https://bugs.openjdk.java.net/browse/JDK-8066292
>>>
>>> http://cr.openjdk.java.net/~dlong/8066292/webrev/
>>>
>>> With -Xcomp, a cycle between compile requests and class loading can
>>> cause infinite recursion resulting in
>>> StackOverflowError's that are silently ignored. To break the cycle,
>>> this changeset removes the ancient call to
>>> Method::load_signature_classes() for C2. This call is no longer
>>> needed.
>>
>> "This call is no longer needed" because ...? Why it is not needed? C2
>> can't compile methods if these classes are not loaded.
>>
>
> That was my understanding from internal discussions. Chris or John,
> can you chime in here?
>
> I know that C2 creates placeholder classes if a class isn't loaded.
> Can you point me to where we fail the compilation is signature classes
> are not loaded?
>
> dl
>
Hi Vladimir, I took another look, and I think you must have been
thinking about inlining. Yes, we won't inline a callee if its signature
classes aren't loaded. But if we really wanted to maximum inlining for
-Xcomp mode, (which some people think should just go away), wouldn't it
be better to execute the method in the interpreter a few times, so that
more of the callee tree would have its classes loaded?
dl
>> Thanks,
>> Vladimir
>>
>>>
>>> Tested in RBT with --test
>>> vm.compiler.testlist,hotspot/test/:hotspot_compiler_closed,hotspot/test/:hotspot_compiler_1,hotspot/test/:hotspot_compiler_2,hotspot/test/:hotspot_compiler_3
>>>
>>>
>>>
>>> dl
>
More information about the hotspot-compiler-dev
mailing list