241 jvmti_env->Deallocate((unsigned char*)table);
242 }
243 }
244
245 #ifdef STATIC_BUILD
246 JNIEXPORT jint JNICALL Agent_OnLoad_setlocal001(JavaVM *jvm, char *options, void *reserved) {
247 return Agent_Initialize(jvm, options, reserved);
248 }
249 JNIEXPORT jint JNICALL Agent_OnAttach_setlocal001(JavaVM *jvm, char *options, void *reserved) {
250 return Agent_Initialize(jvm, options, reserved);
251 }
252 JNIEXPORT jint JNI_OnLoad_setlocal001(JavaVM *jvm, char *options, void *reserved) {
253 return JNI_VERSION_1_8;
254 }
255 #endif
256 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
257 jint res;
258 jvmtiError err;
259
260 res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
261 if ( res != JNI_OK || jvmti == NULL ) {
262 printf("Wrong result of a valid call to GetEnv !\n");
263 return JNI_ERR;
264 }
265
266 err = jvmti->GetPotentialCapabilities(&caps);
267 if (err != JVMTI_ERROR_NONE) {
268 printf("(GetPotentialCapabilities) unexpected error: %s (%d)\n",
269 TranslateError(err), err);
270 return JNI_ERR;
271 }
272
273 err = jvmti->AddCapabilities(&caps);
274 if (err != JVMTI_ERROR_NONE) {
275 printf("(AddCapabilities) unexpected error: %s (%d)\n",
276 TranslateError(err), err);
277 return JNI_ERR;
278 }
279
280 err = jvmti->GetCapabilities(&caps);
281 if (err != JVMTI_ERROR_NONE) {
|
241 jvmti_env->Deallocate((unsigned char*)table);
242 }
243 }
244
245 #ifdef STATIC_BUILD
246 JNIEXPORT jint JNICALL Agent_OnLoad_setlocal001(JavaVM *jvm, char *options, void *reserved) {
247 return Agent_Initialize(jvm, options, reserved);
248 }
249 JNIEXPORT jint JNICALL Agent_OnAttach_setlocal001(JavaVM *jvm, char *options, void *reserved) {
250 return Agent_Initialize(jvm, options, reserved);
251 }
252 JNIEXPORT jint JNI_OnLoad_setlocal001(JavaVM *jvm, char *options, void *reserved) {
253 return JNI_VERSION_1_8;
254 }
255 #endif
256 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
257 jint res;
258 jvmtiError err;
259
260 res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
261 if (res != JNI_OK || jvmti == NULL) {
262 printf("Wrong result of a valid call to GetEnv !\n");
263 return JNI_ERR;
264 }
265
266 err = jvmti->GetPotentialCapabilities(&caps);
267 if (err != JVMTI_ERROR_NONE) {
268 printf("(GetPotentialCapabilities) unexpected error: %s (%d)\n",
269 TranslateError(err), err);
270 return JNI_ERR;
271 }
272
273 err = jvmti->AddCapabilities(&caps);
274 if (err != JVMTI_ERROR_NONE) {
275 printf("(AddCapabilities) unexpected error: %s (%d)\n",
276 TranslateError(err), err);
277 return JNI_ERR;
278 }
279
280 err = jvmti->GetCapabilities(&caps);
281 if (err != JVMTI_ERROR_NONE) {
|