[12] RFR(S) 8210220: [AOT] jdwp test cases are failing with error # ERROR: TEST FAILED: Cought IOException while receiving event packet

dean.long at oracle.com dean.long at oracle.com
Thu Sep 13 01:51:32 UTC 2018


On 9/12/18 6:25 PM, Vladimir Kozlov wrote:
> Thank you, Dean
>
> Breakpoint is set at safepoint:
>
> http://hg.openjdk.java.net/jdk/jdk/file/b7bfd64e43a6/src/hotspot/share/prims/jvmtiImpl.cpp#l411 
>
>
> But why it is important to not be at safepoint in publish_aot(). If 
> AOT is registered first and then breakpoint is set AOT methods will be 
> deoptimized by CodeCache::flush_dependents_on_method() which is called 
> from BreakpointInfo::set().

I mean you can't do this:

1) check breakpoint count
2) safepoint
3) register code

The AOT code is not visible to CodeCache::flush_dependents_on_method() 
until the cmpxchg().
NoSafepointVerifier would catch any changes in the future that introduce 
a safepoint.

dl

>
> Vladimir
>
> On 9/12/18 5:45 PM, dean.long at oracle.com wrote:
>> Hi Vladimir.  C1 and C2 use ciEnv which also grabs locks and checks 
>> JvmtiExport::can_hotswap_or_post_breakpoint() and 
>> Dependencies::check_evol_method().  But if the breakpoint count can 
>> only be changed by the VM thread at a safepoint, then your fix looks 
>> good as long as we don't enter a safepoint before the code is 
>> registered.  How about adding a NoSafepointVerifier to publish_aot()?
>>
>> dl
>>
>>
>> On 9/12/18 1:52 PM, Vladimir Kozlov wrote:
>>> http://cr.openjdk.java.net/~kvn/8210220/webrev.00/
>>> https://bugs.openjdk.java.net/browse/JDK-8210220
>>>
>>> Don't register AOT method if corresponding java method has 
>>> breakpoints (for debugging) otherwise AOT method will be executed 
>>> which do not stop at breakpoint. JIT has similar check [1].
>>>
>>> I also removed AOT code which is not used and we forgot to remove.
>>>
>>> Tested hs-tier1-3.
>>>
>>> thanks,
>>> Vladimir
>>>
>>> [1] 
>>> http://hg.openjdk.java.net/jdk/jdk/file/75261571c13d/src/hotspot/share/oops/method.cpp#l845
>>



More information about the hotspot-compiler-dev mailing list