On Tue, 3 Nov 2026 21:37:40 GMT, Leonid Mesnik <[email protected]> wrote:

>> Hi 
>> 
>> During testing of 
>> [JDK-8383787](https://bugs.openjdk.org/browse/JDK-8383787): 
>> JVMTI_EVENT_SAMPLED_OBJECT_ALLOC may make a cloned object accessible to Java 
>> before clone
>> 
>> I find that clone() intrinsic doesn't call JVMTI VMObjectAlloc as well as 
>> SampledObjecAlloc. There is no requirement for SampledObjectAlloc to be 
>> triggered by any allocation. While VMObjectAlloc should be called. 
>> I find 2 compiler optimizations that allocated object during clone without 
>> corresponding notification.
>> 
>> I applied fix similar to
>> [JDK-8307462](https://bugs.openjdk.org/browse/JDK-8307462) [REDO] 
>> VmObjectAlloc is not generated by intrinsics methods which allocate objects
>> 
>> The allocation check if notification are enabled using 
>> JvmtiExport::_should_notify_object_alloc and deoptimize clone in this case.
>> 
>> I verified that VMObjectAllocCloneTest.java failed with `-Xcomp 
>> -XX:-TieredCompilation `and -`Xcomp -XX:TieredStopAtLevel=1`. However I 
>> haven't added them as separate testcases.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Leonid Mesnik has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   fixed risc-v instr

Looks good.

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

Marked as reviewed by kvn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/33684#pullrequestreview-5760309030

Reply via email to