On Fri, 19 Nov 2021 15:32:24 GMT, Leonid Mesnik <lmes...@openjdk.org> wrote:

> The VMObjectAlloc jvmti event was not generated for objects created using 
> MethodHanldle. The fix adds posting of the event into Unsafe_AllocateInstance.
> 
> While fixing this bug I noticed that event is not posted in the intrinsics 
> version for many functions where it is used. Including  but not limited to 
> clone(), invoke()m allocateInstance() and allocateUninitializedArray(). There 
> are might be other intensified functions (not analogs JVM_ENTRY versions) 
> that allocate objects without post events. 
> 
> I think it is needed to implement some common way to handle this and cover it 
> in another issue.

Hi Leonid,

Functional fix looks good. A couple of minor nits below.

I agree that fixing intrinsics should be a separate issue - I have to worry 
that the overhead of posting events can dwarf the operation itself. I would 
guess the intrinsic would need a short-cut to check if the event is enabled and 
if so drop back to non-intrinsic version.

Thanks,
David

test/hotspot/jtreg/serviceability/jvmti/VMObjectAlloc/VMObjectAllocTest.java 
line 49:

> 47:         mh.invoke("str");
> 48: 
> 49:         if(getNumberOfAllocation() != 1) {

space after 'if' please

test/hotspot/jtreg/serviceability/jvmti/VMObjectAlloc/libVMObjectAlloc.cpp line 
91:

> 89: }
> 90: 
> 91: }

This looks spurious ??

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

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/6478

Reply via email to