Bytecode Instrumentation
| 2004 JavaOne
SM
Conference | Session 3042 Copyright Hewlett Packard Co., 2004.
32
static void JNICALL
cbClassFileLoadHook(jvmtiEnv *jvmti_env, JNIEnv* env,
jclass class_being_redefined,
jobject loader, const char* name,
jobject protection_domain,
jint class_data_len, const unsigned char* class_data,
jint* new_class_data_len,
unsigned char** new_class_data){
if ( gdata->bci_counter == 0 ) {
class_prime_system_classes();
}
gdata->bci_counter++;
ClassIndex cnum;
loader_index = loader_find_or_create(env,loader);
if ( class_being_redefined != NULL ) {
cnum = class_find_or_create(signature, loader_index);
} else {
cnum = class_create(signature, loader_index);
}
Class file load callback
Generating the class index