31
31
#include <string.h>
32
32
33
33
#define JNI_STRUCT_MEMBER_LIST (V ) \
34
- V(JavaVMAttachArgs, version) \
35
- V(JavaVMAttachArgs, name) \
36
- V(JavaVMAttachArgs, group) \
34
+ V(JavaVMAttachArgs, version) \
35
+ V(JavaVMAttachArgs, name) \
36
+ V(JavaVMAttachArgs, group) \
37
37
38
38
#define JVM_STRUCT_MEMBER_LIST (V ) \
39
39
V(jdk_version_info, jdk_version)
171
171
V(_jvmtiEventCallbacks, VMObjectAlloc) \
172
172
V(_jvmtiEventCallbacks, reserved85) \
173
173
V(_jvmtiEventCallbacks, SampledObjectAlloc)
174
-
174
+
175
175
#define MEMBER_INFO_STRUCT_MEMBER_LIST (V ) \
176
176
V(member_info, id) \
177
177
V(member_info, offset) \
178
178
V(member_info, next)
179
-
179
+
180
180
#define JNI_STRUCT_LIST (V ) \
181
- V(JavaVMAttachArgs) \
182
- V(JavaVMAttachArgs) \
183
- V(JavaVMAttachArgs) \
181
+ V(JavaVMAttachArgs) \
182
+ V(JavaVMAttachArgs) \
183
+ V(JavaVMAttachArgs) \
184
184
185
185
#define JVM_STRUCT_LIST (V ) \
186
186
V(jdk_version_info)
187
-
187
+
188
188
#define JVMTI_STRUCT_LIST (V ) \
189
189
V(_jvmtiThreadInfo) \
190
190
V(_jvmtiMonitorStackDepthInfo) \
208
208
V(_jvmtiTimerInfo) \
209
209
V(_jvmtiAddrLocationMap) \
210
210
V(_jvmtiEventCallbacks)
211
-
211
+
212
212
#define MEMBER_INFO_STRUCT_LIST (V ) \
213
213
V(member_info)
214
214
215
215
#define STRUCT_LIST_LIST (V ) \
216
- JNI_STRUCT_LIST(V) \
217
- JVM_STRUCT_LIST(V) \
216
+ JNI_STRUCT_LIST(V) \
217
+ JVM_STRUCT_LIST(V) \
218
218
JVMTI_STRUCT_LIST(V) \
219
219
MEMBER_INFO_STRUCT_LIST(V)
220
-
220
+
221
221
#define STRUCT_MEMBER_LIST_LIST (V ) \
222
- JNI_STRUCT_MEMBER_LIST(V) \
223
- JVM_STRUCT_MEMBER_LIST(V) \
222
+ JNI_STRUCT_MEMBER_LIST(V) \
223
+ JVM_STRUCT_MEMBER_LIST(V) \
224
224
JVMTI_STRUCT_MEMBER_LIST(V) \
225
225
MEMBER_INFO_STRUCT_MEMBER_LIST(V)
226
226
227
227
void add_member_info (member_info * * info , char * id , size_t offset ) {
228
- member_info * current = malloc (sizeof (struct member_info ));
229
- current -> id = id ;
230
- current -> offset = offset ;
231
- current -> next = (* info );
232
- * info = current ;
228
+ member_info * current = malloc (sizeof (struct member_info ));
229
+ current -> id = id ;
230
+ current -> offset = offset ;
231
+ current -> next = (* info );
232
+ * info = current ;
233
233
}
234
234
235
235
size_t lookup_member_info (member_info * * info , char * id ) {
236
- for (member_info * current = * info ; current != NULL ; current = current -> next ) {
237
- if (strcmp (id , current -> id ) == 0 ) {
238
- return current -> offset ;
239
- }
240
- }
241
- return -1 ;
236
+ for (member_info * current = * info ; current != NULL ; current = current -> next ) {
237
+ if (strcmp (id , current -> id ) == 0 ) {
238
+ return current -> offset ;
239
+ }
240
+ }
241
+ return -1 ;
242
242
}
243
243
244
244
void free_member_info (member_info * * info ) {
@@ -256,10 +256,10 @@ void free_member_info(member_info** info) {
256
256
JNIEXPORT void JNICALL initializeStructs (void (* notify_member_offset_init )(void * )) {
257
257
member_info * * info = malloc (sizeof (struct member_info * ));
258
258
(* info ) = NULL ;
259
-
259
+
260
260
#define MEMBER_INFO__ (STRUCT_NAME , MEMBER_NAME ) \
261
261
add_member_info(info, #STRUCT_NAME "." #MEMBER_NAME, offsetof(struct STRUCT_NAME, MEMBER_NAME));
262
-
262
+
263
263
STRUCT_MEMBER_LIST_LIST (MEMBER_INFO__ )
264
264
#undef MEMBER_INFO__
265
265
@@ -268,9 +268,9 @@ JNIEXPORT void JNICALL initializeStructs(void (*notify_member_offset_init)(void
268
268
269
269
STRUCT_LIST_LIST (STRUCT_INFO__ )
270
270
#undef STRUCT_INFO__
271
-
271
+
272
272
notify_member_offset_init (info );
273
-
273
+
274
274
free_member_info (info );
275
275
}
276
276
0 commit comments