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). ------------- Commit messages: - added new line - space added - small refactoring - Merge branch 'master' of https://github.com/openjdk/jdk into 8396399 - Updated C1 allocation for array. - 8396399: VMObjectAlloc is not called from clone() intrinsic Changes: https://git.openjdk.org/jdk/pull/33684/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33684&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8396399 Stats: 236 lines in 11 files changed: 236 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/33684.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/33684/head:pull/33684 PR: https://git.openjdk.org/jdk/pull/33684
