int ThrowNewException(JNIEnv* env, jclass exception_class, constchar* msg, jobject cause);
// Enables native stack checking for field and method resolutions via JNI. This should be called // during runtime initialization after libjavacore and libopenjdk have been dlopen()'ed. void JniInitializeNativeCallerCheck();
// Finds the method using JNI semantics and initializes any classes. template <bool kEnableIndexIds>
jmethodID FindMethodID(const ScopedObjectAccess& soa,
jclass jni_class, constchar* name, constchar* sig, bool is_static, void* caller_address) REQUIRES_SHARED(Locks::mutator_lock_);
// Finds the field using JNI semantics and initializes any classes. template <bool kEnableIndexIds>
jfieldID FindFieldID(const ScopedObjectAccess& soa,
jclass jni_class, constchar* name, constchar* sig, bool is_static, void* caller_address) REQUIRES_SHARED(Locks::mutator_lock_);
// Finds the method using JNI semantics and initializes any classes. Does not encode the method in a // JNI id
ArtMethod* FindMethodJNI(const ScopedObjectAccess& soa,
jclass java_class, constchar* name, constchar* sig, bool is_static, void* caller_address) REQUIRES_SHARED(Locks::mutator_lock_);
// Finds the field using JNI semantics and initializes any classes. Does not encode the method in a // JNI id.
ArtField* FindFieldJNI(const ScopedObjectAccess& soa,
jclass java_class, constchar* name, constchar* sig, bool is_static, void* caller_address) REQUIRES_SHARED(Locks::mutator_lock_);
// We want to maintain a branchless fast-path for performance reasons. The JniIdManager is the // ultimate source of truth for how the IDs are handed out but we inline the normal non-index cases // here.
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.