#define CHECK_CALL_SUCCESS(c) \ do { \ if ((c) != JNI_OK) { \
Println("call "#c" did not succeed"); \ return -1; \
} \
} while (false)
if (vm->GetEnv(reinterpret_cast<void**>(&env), kArtTiVersion) == JNI_OK) {
Println("Created env for kArtTiVersion");
CHECK_CALL_SUCCESS(env->DisposeEnvironment());
env = nullptr;
} else {
Println("Failed to create env for kArtTiVersion"); return -1;
} if (vm->GetEnv(reinterpret_cast<void**>(&env), JVMTI_VERSION_1_0) != JNI_OK) {
Println("Unable to create env for JVMTI_VERSION_1_0"); return0;
}
CHECK_CALL_SUCCESS(vm->GetEnv(reinterpret_cast<void**>(&env2), JVMTI_VERSION_1_0)); if (env == env2) {
Println("GetEnv returned same environment twice!"); return -1;
} unsignedchar* local_data = nullptr;
CHECK_CALL_SUCCESS(env->Allocate(8, &local_data));
strcpy(reinterpret_cast<char*>(local_data), "hello!!");
CHECK_CALL_SUCCESS(env->SetEnvironmentLocalStorage(local_data)); unsignedchar* get_data = nullptr;
CHECK_CALL_SUCCESS(env->GetEnvironmentLocalStorage(reinterpret_cast<void**>(&get_data))); if (get_data != local_data) {
Println("Got different data from local storage then what was set!"); return -1;
}
CHECK_CALL_SUCCESS(env2->GetEnvironmentLocalStorage(reinterpret_cast<void**>(&get_data))); if (get_data != nullptr) {
Println("env2 did not have nullptr local storage."); return -1;
}
CHECK_CALL_SUCCESS(env->Deallocate(local_data));
jint version = 0;
CHECK_CALL_SUCCESS(env->GetVersionNumber(&version)); if ((version & JVMTI_VERSION_1) != JVMTI_VERSION_1) {
Println("Unexpected version number!"); return -1;
}
CHECK_CALL_SUCCESS(env->DisposeEnvironment());
CHECK_CALL_SUCCESS(env2->DisposeEnvironment()); #undef CHECK_CALL_SUCCESS return JNI_OK;
}
} // namespace Test909AttachAgent
} // namespace art
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-06-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.