157 JVM_LoadZipLibrary();
158
159 JNIEXPORT void * JNICALL
160 JVM_LoadLibrary(const char *name, jboolean throwException);
161
162 JNIEXPORT void JNICALL
163 JVM_UnloadLibrary(void * handle);
164
165 JNIEXPORT void * JNICALL
166 JVM_FindLibraryEntry(void *handle, const char *name);
167
168 JNIEXPORT jboolean JNICALL
169 JVM_IsSupportedJNIVersion(jint version);
170
171 JNIEXPORT jobjectArray JNICALL
172 JVM_GetVmArguments(JNIEnv *env);
173
174 JNIEXPORT jboolean JNICALL
175 JVM_IsPreviewEnabled(void);
176
177 JNIEXPORT jboolean JNICALL
178 JVM_IsContinuationsSupported(void);
179
180 JNIEXPORT jboolean JNICALL
181 JVM_IsForeignLinkerSupported(void);
182
183 JNIEXPORT jboolean JNICALL
184 JVM_IsStaticallyLinked(void);
185
186 JNIEXPORT void JNICALL
187 JVM_InitializeFromArchive(JNIEnv* env, jclass cls);
188
189 JNIEXPORT void JNICALL
190 JVM_RegisterLambdaProxyClassForArchiving(JNIEnv* env, jclass caller,
191 jstring interfaceMethodName,
192 jobject factoryType,
193 jobject interfaceMethodType,
194 jobject implementationMember,
195 jobject dynamicMethodType,
196 jclass lambdaProxyClass);
402 * JVM_GetCallerClass. The Method.invoke and other frames due to
403 * reflection machinery are skipped.
404 *
405 * The caller is expected to be marked with
406 * jdk.internal.reflect.CallerSensitive. The JVM will throw an
407 * error if it is not marked properly.
408 */
409 JNIEXPORT jclass JNICALL
410 JVM_GetCallerClass(JNIEnv *env);
411
412
413 /*
414 * Find primitive classes
415 * utf: class name
416 */
417 JNIEXPORT jclass JNICALL
418 JVM_FindPrimitiveClass(JNIEnv *env, const char *utf);
419
420
421 /*
422 * Find a class from a boot class loader. Returns NULL if class not found.
423 */
424 JNIEXPORT jclass JNICALL
425 JVM_FindClassFromBootLoader(JNIEnv *env, const char *name);
426
427 /*
428 * Find a class from a given class loader. Throws ClassNotFoundException.
429 * name: name of class
430 * init: whether initialization is done
431 * loader: class loader to look up the class. This may not be the same as the caller's
432 * class loader.
433 * caller: initiating class. The initiating class may be null when a security
434 * manager is not installed.
435 */
436 JNIEXPORT jclass JNICALL
437 JVM_FindClassFromCaller(JNIEnv *env, const char *name, jboolean init,
438 jobject loader, jclass caller);
439
440 /*
441 * Find a class from a given class.
442 */
547 JVM_InitClassName(JNIEnv *env, jclass cls);
548
549 JNIEXPORT jobjectArray JNICALL
550 JVM_GetClassInterfaces(JNIEnv *env, jclass cls);
551
552 JNIEXPORT jboolean JNICALL
553 JVM_IsInterface(JNIEnv *env, jclass cls);
554
555 JNIEXPORT jobject JNICALL
556 JVM_GetProtectionDomain(JNIEnv *env, jclass cls);
557
558 JNIEXPORT jboolean JNICALL
559 JVM_IsArrayClass(JNIEnv *env, jclass cls);
560
561 JNIEXPORT jboolean JNICALL
562 JVM_IsPrimitiveClass(JNIEnv *env, jclass cls);
563
564 JNIEXPORT jboolean JNICALL
565 JVM_IsHiddenClass(JNIEnv *env, jclass cls);
566
567 JNIEXPORT jint JNICALL
568 JVM_GetClassModifiers(JNIEnv *env, jclass cls);
569
570 JNIEXPORT jobjectArray JNICALL
571 JVM_GetDeclaredClasses(JNIEnv *env, jclass ofClass);
572
573 JNIEXPORT jclass JNICALL
574 JVM_GetDeclaringClass(JNIEnv *env, jclass ofClass);
575
576 JNIEXPORT jstring JNICALL
577 JVM_GetSimpleBinaryName(JNIEnv *env, jclass ofClass);
578
579 /* Generics support (JDK 1.5) */
580 JNIEXPORT jstring JNICALL
581 JVM_GetClassSignature(JNIEnv *env, jclass cls);
582
583 /* Annotations support (JDK 1.5) */
584 JNIEXPORT jbyteArray JNICALL
585 JVM_GetClassAnnotations(JNIEnv *env, jclass cls);
586
1096 JNIEXPORT void JNICALL
1097 JVM_RawMonitorExit(void *mon);
1098
1099 /*
1100 * java.lang.management support
1101 */
1102 JNIEXPORT void* JNICALL
1103 JVM_GetManagement(jint version);
1104
1105 /*
1106 * com.sun.tools.attach.VirtualMachine support
1107 *
1108 * Initialize the agent properties with the properties maintained in the VM.
1109 */
1110 JNIEXPORT jobject JNICALL
1111 JVM_InitAgentProperties(JNIEnv *env, jobject agent_props);
1112
1113 JNIEXPORT jstring JNICALL
1114 JVM_GetTemporaryDirectory(JNIEnv *env);
1115
1116 /* Generics reflection support.
1117 *
1118 * Returns information about the given class's EnclosingMethod
1119 * attribute, if present, or null if the class had no enclosing
1120 * method.
1121 *
1122 * If non-null, the returned array contains three elements. Element 0
1123 * is the java.lang.Class of which the enclosing method is a member,
1124 * and elements 1 and 2 are the java.lang.Strings for the enclosing
1125 * method's name and descriptor, respectively.
1126 */
1127 JNIEXPORT jobjectArray JNICALL
1128 JVM_GetEnclosingMethodInfo(JNIEnv* env, jclass ofClass);
1129
1130 /*
1131 * Virtual thread support.
1132 */
1133 JNIEXPORT void JNICALL
1134 JVM_VirtualThreadStart(JNIEnv* env, jobject vthread);
1135
|
157 JVM_LoadZipLibrary();
158
159 JNIEXPORT void * JNICALL
160 JVM_LoadLibrary(const char *name, jboolean throwException);
161
162 JNIEXPORT void JNICALL
163 JVM_UnloadLibrary(void * handle);
164
165 JNIEXPORT void * JNICALL
166 JVM_FindLibraryEntry(void *handle, const char *name);
167
168 JNIEXPORT jboolean JNICALL
169 JVM_IsSupportedJNIVersion(jint version);
170
171 JNIEXPORT jobjectArray JNICALL
172 JVM_GetVmArguments(JNIEnv *env);
173
174 JNIEXPORT jboolean JNICALL
175 JVM_IsPreviewEnabled(void);
176
177 JNIEXPORT jboolean JNICALL
178 JVM_IsValhallaEnabled(void);
179
180 JNIEXPORT jboolean JNICALL
181 JVM_IsContinuationsSupported(void);
182
183 JNIEXPORT jboolean JNICALL
184 JVM_IsForeignLinkerSupported(void);
185
186 JNIEXPORT jboolean JNICALL
187 JVM_IsStaticallyLinked(void);
188
189 JNIEXPORT void JNICALL
190 JVM_InitializeFromArchive(JNIEnv* env, jclass cls);
191
192 JNIEXPORT void JNICALL
193 JVM_RegisterLambdaProxyClassForArchiving(JNIEnv* env, jclass caller,
194 jstring interfaceMethodName,
195 jobject factoryType,
196 jobject interfaceMethodType,
197 jobject implementationMember,
198 jobject dynamicMethodType,
199 jclass lambdaProxyClass);
405 * JVM_GetCallerClass. The Method.invoke and other frames due to
406 * reflection machinery are skipped.
407 *
408 * The caller is expected to be marked with
409 * jdk.internal.reflect.CallerSensitive. The JVM will throw an
410 * error if it is not marked properly.
411 */
412 JNIEXPORT jclass JNICALL
413 JVM_GetCallerClass(JNIEnv *env);
414
415
416 /*
417 * Find primitive classes
418 * utf: class name
419 */
420 JNIEXPORT jclass JNICALL
421 JVM_FindPrimitiveClass(JNIEnv *env, const char *utf);
422
423
424 /*
425 * Find a class from a boot class loader. Returns nullptr if class not found.
426 */
427 JNIEXPORT jclass JNICALL
428 JVM_FindClassFromBootLoader(JNIEnv *env, const char *name);
429
430 /*
431 * Find a class from a given class loader. Throws ClassNotFoundException.
432 * name: name of class
433 * init: whether initialization is done
434 * loader: class loader to look up the class. This may not be the same as the caller's
435 * class loader.
436 * caller: initiating class. The initiating class may be null when a security
437 * manager is not installed.
438 */
439 JNIEXPORT jclass JNICALL
440 JVM_FindClassFromCaller(JNIEnv *env, const char *name, jboolean init,
441 jobject loader, jclass caller);
442
443 /*
444 * Find a class from a given class.
445 */
550 JVM_InitClassName(JNIEnv *env, jclass cls);
551
552 JNIEXPORT jobjectArray JNICALL
553 JVM_GetClassInterfaces(JNIEnv *env, jclass cls);
554
555 JNIEXPORT jboolean JNICALL
556 JVM_IsInterface(JNIEnv *env, jclass cls);
557
558 JNIEXPORT jobject JNICALL
559 JVM_GetProtectionDomain(JNIEnv *env, jclass cls);
560
561 JNIEXPORT jboolean JNICALL
562 JVM_IsArrayClass(JNIEnv *env, jclass cls);
563
564 JNIEXPORT jboolean JNICALL
565 JVM_IsPrimitiveClass(JNIEnv *env, jclass cls);
566
567 JNIEXPORT jboolean JNICALL
568 JVM_IsHiddenClass(JNIEnv *env, jclass cls);
569
570 JNIEXPORT jboolean JNICALL
571 JVM_IsIdentityClass(JNIEnv *env, jclass cls);
572
573 JNIEXPORT jboolean JNICALL
574 JVM_IsImplicitlyConstructibleClass(JNIEnv *env, jclass cls);
575
576 JNIEXPORT jint JNICALL
577 JVM_GetClassModifiers(JNIEnv *env, jclass cls);
578
579 JNIEXPORT jobjectArray JNICALL
580 JVM_GetDeclaredClasses(JNIEnv *env, jclass ofClass);
581
582 JNIEXPORT jclass JNICALL
583 JVM_GetDeclaringClass(JNIEnv *env, jclass ofClass);
584
585 JNIEXPORT jstring JNICALL
586 JVM_GetSimpleBinaryName(JNIEnv *env, jclass ofClass);
587
588 /* Generics support (JDK 1.5) */
589 JNIEXPORT jstring JNICALL
590 JVM_GetClassSignature(JNIEnv *env, jclass cls);
591
592 /* Annotations support (JDK 1.5) */
593 JNIEXPORT jbyteArray JNICALL
594 JVM_GetClassAnnotations(JNIEnv *env, jclass cls);
595
1105 JNIEXPORT void JNICALL
1106 JVM_RawMonitorExit(void *mon);
1107
1108 /*
1109 * java.lang.management support
1110 */
1111 JNIEXPORT void* JNICALL
1112 JVM_GetManagement(jint version);
1113
1114 /*
1115 * com.sun.tools.attach.VirtualMachine support
1116 *
1117 * Initialize the agent properties with the properties maintained in the VM.
1118 */
1119 JNIEXPORT jobject JNICALL
1120 JVM_InitAgentProperties(JNIEnv *env, jobject agent_props);
1121
1122 JNIEXPORT jstring JNICALL
1123 JVM_GetTemporaryDirectory(JNIEnv *env);
1124
1125 JNIEXPORT jarray JNICALL
1126 JVM_NewNullRestrictedArray(JNIEnv *env, jclass elmClass, jint len);
1127
1128 JNIEXPORT jboolean JNICALL
1129 JVM_IsNullRestrictedArray(JNIEnv *env, jobject obj);
1130
1131 /* Generics reflection support.
1132 *
1133 * Returns information about the given class's EnclosingMethod
1134 * attribute, if present, or null if the class had no enclosing
1135 * method.
1136 *
1137 * If non-null, the returned array contains three elements. Element 0
1138 * is the java.lang.Class of which the enclosing method is a member,
1139 * and elements 1 and 2 are the java.lang.Strings for the enclosing
1140 * method's name and descriptor, respectively.
1141 */
1142 JNIEXPORT jobjectArray JNICALL
1143 JVM_GetEnclosingMethodInfo(JNIEnv* env, jclass ofClass);
1144
1145 /*
1146 * Virtual thread support.
1147 */
1148 JNIEXPORT void JNICALL
1149 JVM_VirtualThreadStart(JNIEnv* env, jobject vthread);
1150
|