109 if(!NSK_VERIFY(nsk_jvmti_resumeSync()))
110 return;
111 }
112
113 #ifdef STATIC_BUILD
114 JNIEXPORT jint JNICALL Agent_OnLoad_Abort(JavaVM *jvm, char *options, void *reserved) {
115 return Agent_Initialize(jvm, options, reserved);
116 }
117 JNIEXPORT jint JNICALL Agent_OnAttach_Abort(JavaVM *jvm, char *options, void *reserved) {
118 return Agent_Initialize(jvm, options, reserved);
119 }
120 JNIEXPORT jint JNI_OnLoad_Abort(JavaVM *jvm, char *options, void *reserved) {
121 return JNI_VERSION_1_8;
122 }
123 #endif
124 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
125 jvmtiEnv *jvmti;
126 jvmtiCapabilities caps;
127 jvmtiEventCallbacks event_callbacks;
128
129 if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
130 return JNI_ERR;
131 }
132
133 nsk_jvmti_parseOptions(options);
134
135 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
136
137 memset(&caps, 0, sizeof(caps));
138 caps.can_tag_objects = 1;
139 caps.can_generate_object_free_events = 1;
140
141 if(!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
142 return JNI_ERR;
143 }
144
145 memset(&event_callbacks, 0, sizeof(jvmtiEventCallbacks));
146 if(!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&event_callbacks, sizeof(jvmtiEventCallbacks)))) {
147 return JNI_ERR;
148 }
149
|
109 if(!NSK_VERIFY(nsk_jvmti_resumeSync()))
110 return;
111 }
112
113 #ifdef STATIC_BUILD
114 JNIEXPORT jint JNICALL Agent_OnLoad_Abort(JavaVM *jvm, char *options, void *reserved) {
115 return Agent_Initialize(jvm, options, reserved);
116 }
117 JNIEXPORT jint JNICALL Agent_OnAttach_Abort(JavaVM *jvm, char *options, void *reserved) {
118 return Agent_Initialize(jvm, options, reserved);
119 }
120 JNIEXPORT jint JNI_OnLoad_Abort(JavaVM *jvm, char *options, void *reserved) {
121 return JNI_VERSION_1_8;
122 }
123 #endif
124 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
125 jvmtiEnv *jvmti;
126 jvmtiCapabilities caps;
127 jvmtiEventCallbacks event_callbacks;
128
129 jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
130 if(!NSK_VERIFY(jvmti != NULL)) {
131 return JNI_ERR;
132 }
133
134 nsk_jvmti_parseOptions(options);
135
136 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
137
138 memset(&caps, 0, sizeof(caps));
139 caps.can_tag_objects = 1;
140 caps.can_generate_object_free_events = 1;
141
142 if(!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
143 return JNI_ERR;
144 }
145
146 memset(&event_callbacks, 0, sizeof(jvmtiEventCallbacks));
147 if(!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&event_callbacks, sizeof(jvmtiEventCallbacks)))) {
148 return JNI_ERR;
149 }
150
|