> The AOT allocates objects while holding lock. The jvmti events can't be 
> posted in such case. The allocation sampling might be just temporary disabled 
> while AOT objects are allocated. 
> 
> I prefer to disable jvmti events for allocation only, not for AOT globally. 
> If there are more events should be generated during AOT initialization, we 
> might want to preserve them and post after initialization is completed. 
> 
> The existing failure could be reproduced by running tests with jvmti stress 
> agent and ZGC enabled. Like
> make run-test JTREG_JVMTI_STRESS_AGENT=debugger=true 
> TEST=gc/z/TestGarbageCollectorMXBean.java
> 
> Note: 
> I prelaced NoJvmtiVMObjectAllocMark, it was not used. Also it was incorrect. 
> The 
> NoJvmtiEventsMark should be set even if jvmti events are not enable for this 
> thread. Since jvmti events might be enabled just in the middle of the mark.

Leonid Mesnik has updated the pull request incrementally with seven additional 
commits since the last revision:

 - Apply suggestion from @alexmenkov
   
   Co-authored-by: Alex Menkov <[email protected]>
 - Apply suggestion from @alexmenkov
   
   Co-authored-by: Alex Menkov <[email protected]>
 - Apply suggestion from @alexmenkov
   
   Co-authored-by: Alex Menkov <[email protected]>
 - Update 
test/hotspot/jtreg/serviceability/jvmti/events/SampledObjectAlloc/SamplingDuringInit/libSamplingDuringInit.cpp
   
   Co-authored-by: Alex Menkov <[email protected]>
 - Update 
test/hotspot/jtreg/serviceability/jvmti/events/SampledObjectAlloc/SamplingDuringInit/SamplingDuringInit.java
   
   Co-authored-by: Alex Menkov <[email protected]>
 - Update src/hotspot/share/runtime/javaThread.hpp
   
   Co-authored-by: Alex Menkov <[email protected]>
 - Update src/hotspot/share/runtime/javaThread.cpp
   
   Co-authored-by: Alex Menkov <[email protected]>

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/28544/files
  - new: https://git.openjdk.org/jdk/pull/28544/files/f7e869b2..aaa0ccbb

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28544&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28544&range=03-04

  Stats: 9 lines in 4 files changed: 1 ins; 4 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/28544.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28544/head:pull/28544

PR: https://git.openjdk.org/jdk/pull/28544

Reply via email to