payload: {"push_id":3281472385,"size":1,"distinct_size":1,"ref":"refs/heads/jep331gc","head":"dd4c1579acc2f684ec6742cc014f78cecdbb7aed","before":"b3b27040a06a24398f43093edbba936533cdeab6","commits":[{"sha":"dd4c1579acc2f684ec6742cc014f78cecdbb7aed","author":{"name":"Jason Feng","email":"8decf30df97932ae7177acdc4bc36bfebb0f884e@ca.ibm.com"},"message":"functionality and doesn't affect performance when the feature is not\nenabled. Further update is to add more tests and ensure the performance\ntargets are met.\n\nThe sampling feature is going to be enabled when\n`can_generate_sampled_object_alloc_events` capability is requested.\nDepends on the sampling interval requested (512KB by default), two\ndifferent approaches are used to determine how to report a sampling\nevent.\n1. When the interval requested is less than minimum `TLH` size (~0.5KB),\n`disableInlineTLHAllocate()` is applied always hence allocation has to\ngo through slow path.\n2. When the interval is not less than minimum `TLH` size,\n`GCExtensionsBase.tlhActiveMaximumSize` is set to the interval size or\nthe actual maximum `TLH` size (whichever is smaller), further `TLH`\nallocation is based on this size, when a `TLH` refresh is performed,\ncurrent `TLH` allocation size is recorded, `disableInlineTLHAllocate()`\nis invoked if the sampling interval has been reached.\nAfter `disableInlineTLHAllocate()` call, further allocation is\nout-of-line at `mgcalloc.cpp J9AllocateObject() &\nJ9AllocateIndexableObject()` where\n`TRIGGER_J9HOOK_SAMPLED_OBJECT_ALLOCATE` is invoked.\n\nOutline of changes:\n\nA new callback method:\n```\n\tvoid JNICALL SampledObjectAlloc(jvmtiEnv *jvmti_env, JNIEnv* jni_env,\njthread thread, jobject object, jclass object_klass, jlong size)\n```\nA new jvmti method:\n```\n\tjvmtiError SetHeapSamplingInterval(jvmtiEnv* env, jint\nsampling_interval)\n```\nA new event type: `JVMTI_EVENT_SAMPLED_OBJECT_ALLOC`\nA new capability: `can_generate_sampled_object_alloc_events`\nA new hook event: `J9HOOK_SAMPLED_OBJECT_ALLOCATE`\n`j9gc_set_allocation_sampling_interval`\n`j9gc_set_allocation_sampling`\n\nAdding a testcase to verify this feature in a simple allocation case.\n\nSigned-off-by: Jason Feng <fengj@ca.ibm.com>","distinct":true,"url":"https://api.github.com/repos/JasonFengJ9/openj9/commits/dd4c1579acc2f684ec6742cc014f78cecdbb7aed"}]}
other: {"actor":{"display_login":"JasonFengJ9"}}