From b6cb4857d97d03bdafeaa8a9e74e207639e8fe97 Mon Sep 17 00:00:00 2001 From: "Daniel D. Daugherty" Date: Mon, 24 Mar 2008 16:23:21 -0700 Subject: [PATCH] 6547358: 2/2 j.l.i.: manifest attribute 'Can-Retransform-Classes' is ignored by isRetransformClassesSupported() IsRetransformClassesSupported() should return the capability rather than give the agent the capability Reviewed-by: ohair, sspitsyn --- jdk/src/share/instrument/JPLISAgent.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jdk/src/share/instrument/JPLISAgent.c b/jdk/src/share/instrument/JPLISAgent.c index 6deb291c9e8..9f08eaea00b 100644 --- a/jdk/src/share/instrument/JPLISAgent.c +++ b/jdk/src/share/instrument/JPLISAgent.c @@ -259,7 +259,7 @@ initializeJPLISAgent( JPLISAgent * agent, agent->mNormalEnvironment.mIsRetransformer = JNI_FALSE; agent->mRetransformEnvironment.mJVMTIEnv = NULL; /* NULL until needed */ agent->mRetransformEnvironment.mAgent = agent; - agent->mRetransformEnvironment.mIsRetransformer = JNI_TRUE; + agent->mRetransformEnvironment.mIsRetransformer = JNI_FALSE; /* JNI_FALSE until mJVMTIEnv is set */ agent->mAgentmainCaller = NULL; agent->mInstrumentationImpl = NULL; agent->mPremainCaller = NULL; @@ -998,6 +998,7 @@ retransformableEnvironment(JPLISAgent * agent) { if (jvmtierror == JVMTI_ERROR_NONE) { // install the retransforming environment agent->mRetransformEnvironment.mJVMTIEnv = retransformerEnv; + agent->mRetransformEnvironment.mIsRetransformer = JNI_TRUE; // Make it for ClassFileLoadHook handling jvmtierror = (*retransformerEnv)->SetEnvironmentLocalStorage( @@ -1032,7 +1033,7 @@ isModifiableClass(JNIEnv * jnienv, JPLISAgent * agent, jclass clazz) { jboolean isRetransformClassesSupported(JNIEnv * jnienv, JPLISAgent * agent) { - return retransformableEnvironment(agent) != NULL; + return agent->mRetransformEnvironment.mIsRetransformer; } void