Skip to content

Commit

Permalink
Merge pull request #21162 from babsingh/main12
Browse files Browse the repository at this point in the history
[JDK25] Add a stub for JVMTI ClearAllFramePops
  • Loading branch information
pshipton authored Feb 20, 2025
2 parents 14b5608 + 750ffaa commit f4a42d1
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 1 deletion.
3 changes: 3 additions & 0 deletions runtime/jvmti/j9jvmti.tdf
Original file line number Diff line number Diff line change
Expand Up @@ -702,3 +702,6 @@ TraceEntry=Trc_JVMTI_jvmtiHookVMPreparingForRestore_Entry Overhead=1 Level=3 Noe
TraceExit=Trc_JVMTI_jvmtiHookVMPreparingForRestore_Exit Overhead=1 Level=3 Noenv Template="jvmtiHookVMPreparingForRestore"
TraceEntry=Trc_JVMTI_jvmtiHookVMCRIURestore_Entry Overhead=1 Level=3 Noenv Template="jvmtiHookVMCRIURestore"
TraceExit=Trc_JVMTI_jvmtiHookVMCRIURestore_Exit Overhead=1 Level=3 Noenv Template="jvmtiHookVMCRIURestore"

TraceEntry=Trc_JVMTI_jvmtiClearAllFramePops_Entry Overhead=1 Level=5 Noenv Template="ClearAllFramePops env=%p"
TraceExit=Trc_JVMTI_jvmtiClearAllFramePops_Exit Overhead=1 Level=5 Noenv Template="ClearAllFramePops returning %d"
8 changes: 7 additions & 1 deletion runtime/jvmti/jvmtiFunctionTable.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@
#define JVMTI_19_ENTRY(name) NULL
#endif /* JAVA_SPEC_VERSION >= 19 */

#if JAVA_SPEC_VERSION >= 25
#define JVMTI_25_ENTRY(name) name
#else /* JAVA_SPEC_VERSION >= 25 */
#define JVMTI_25_ENTRY(name) NULL
#endif /* JAVA_SPEC_VERSION >= 25 */

jvmtiNativeInterface jvmtiFunctionTable = {
NULL,
jvmtiSetEventNotificationMode,
Expand Down Expand Up @@ -158,7 +164,7 @@ jvmtiNativeInterface jvmtiFunctionTable = {
jvmtiGetObjectsWithTags,
jvmtiFollowReferences,
jvmtiIterateThroughHeap,
NULL,
JVMTI_25_ENTRY(jvmtiClearAllFramePops),
JVMTI_19_ENTRY(jvmtiSuspendAllVirtualThreads),
JVMTI_19_ENTRY(jvmtiResumeAllVirtualThreads),
jvmtiSetJNIFunctionTable,
Expand Down
12 changes: 12 additions & 0 deletions runtime/jvmti/jvmtiStackFrame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -882,4 +882,16 @@ jvmtiInternalGetStackTrace(
return JVMTI_ERROR_NONE;
}

#if JAVA_SPEC_VERSION >= 25
jvmtiError JNICALL
jvmtiClearAllFramePops(jvmtiEnv *env, jthread thread)
{
jvmtiError rc = JVMTI_ERROR_NONE;

Trc_JVMTI_jvmtiClearAllFramePops_Entry(env);

TRACE_JVMTI_RETURN(jvmtiClearAllFramePops);
}
#endif /* JAVA_SPEC_VERSION >= 25 */

} /* extern "C" */
12 changes: 12 additions & 0 deletions runtime/jvmti/jvmti_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -2173,6 +2173,18 @@ jvmtiNotifyFramePop(jvmtiEnv* env,
jthread thread,
jint depth);

#if JAVA_SPEC_VERSION >= 25
/**
* @brief Clear all frame pop request to prevent generation of
* FramePop events for any frames.
*
* @param env The JVMTI environment pointer
* @param thread The thread whose FramePop events will be cleared
* @return jvmtiError Error code returned by JVMTI function
*/
jvmtiError JNICALL
jvmtiClearAllFramePops(jvmtiEnv *env, jthread thread);
#endif /* JAVA_SPEC_VERSION >= 25 */

/**
* @brief
Expand Down

0 comments on commit f4a42d1

Please sign in to comment.