On Tue, 3 Nov 2026 06:23:08 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:
> 
>   added include_jvmit macros

src/hotspot/cpu/riscv/c1_LIRGenerator_riscv.cpp line 1019:

> 1017:   }
> 1018: 
> 1019:   deoptimize_vmalloc_for_jvmti(!x->zero_array(), info);

Please also update code in c1_LIRAssembler_riscv.cpp. RISC-V supports AOT.

test/hotspot/jtreg/compiler/escapeAnalysis/TestArrayCopyEliminationUncRematerialization.java
 line 291:

> 289:                 """
> 290:                 @Test
> 291:                 @IR(counts = { IRNode.LOAD_#{typeAbbrev}, 
> "=#{loadCountAdjusted}" },

Can you explain these changes?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/33684#discussion_r4457132605
PR Review Comment: https://git.openjdk.org/jdk/pull/33684#discussion_r4457153299

Reply via email to