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