< prev index next >

src/hotspot/share/prims/whitebox.cpp

Print this page




1721   if (GetMethodOption <double> (thread, env, method, name, &result)) {
1722     // can't be in VM when we call JNI
1723     ThreadToNativeFromVM ttnfv(thread);
1724     return doubleBox(thread, env, result);
1725   }
1726   return NULL;
1727 WB_END
1728 
1729 WB_ENTRY(jobject, WB_GetMethodStringOption(JNIEnv* env, jobject wb, jobject method, jstring name))
1730   ccstr ccstrResult;
1731   if (GetMethodOption <ccstr> (thread, env, method, name, &ccstrResult)) {
1732     // can't be in VM when we call JNI
1733     ThreadToNativeFromVM ttnfv(thread);
1734     jstring result = env->NewStringUTF(ccstrResult);
1735     CHECK_JNI_EXCEPTION_(env, NULL);
1736     return result;
1737   }
1738   return NULL;
1739 WB_END
1740 














1741 WB_ENTRY(jboolean, WB_IsShared(JNIEnv* env, jobject wb, jobject obj))
1742   oop obj_oop = JNIHandles::resolve(obj);
1743   return MetaspaceShared::is_archive_object(obj_oop);
1744 WB_END
1745 
1746 WB_ENTRY(jboolean, WB_IsSharedClass(JNIEnv* env, jobject wb, jclass clazz))
1747   return (jboolean)MetaspaceShared::is_in_shared_metaspace(java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
1748 WB_END
1749 
1750 WB_ENTRY(jboolean, WB_AreSharedStringsIgnored(JNIEnv* env))
1751   return !StringTable::shared_string_mapped();
1752 WB_END
1753 
1754 WB_ENTRY(jobject, WB_GetResolvedReferences(JNIEnv* env, jobject wb, jclass clazz))
1755   Klass *k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz));
1756   if (k->is_instance_klass()) {
1757     InstanceKlass *ik = InstanceKlass::cast(k);
1758     ConstantPool *cp = ik->constants();
1759     objArrayOop refs =  cp->resolved_references();
1760     return (jobject)JNIHandles::make_local(env, refs);


2149   {CC"getConstantPoolCacheLength0", CC"(Ljava/lang/Class;)I",  (void*)&WB_GetConstantPoolCacheLength},
2150   {CC"remapInstructionOperandFromCPCache0",
2151       CC"(Ljava/lang/Class;I)I",                      (void*)&WB_ConstantPoolRemapInstructionOperandFromCache},
2152   {CC"encodeConstantPoolIndyIndex0",
2153       CC"(I)I",                      (void*)&WB_ConstantPoolEncodeIndyIndex},
2154   {CC"getMethodBooleanOption",
2155       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Boolean;",
2156                                                       (void*)&WB_GetMethodBooleaneOption},
2157   {CC"getMethodIntxOption",
2158       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Long;",
2159                                                       (void*)&WB_GetMethodIntxOption},
2160   {CC"getMethodUintxOption",
2161       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Long;",
2162                                                       (void*)&WB_GetMethodUintxOption},
2163   {CC"getMethodDoubleOption",
2164       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Double;",
2165                                                       (void*)&WB_GetMethodDoubleOption},
2166   {CC"getMethodStringOption",
2167       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/String;",
2168                                                       (void*)&WB_GetMethodStringOption},



2169   {CC"isShared",           CC"(Ljava/lang/Object;)Z", (void*)&WB_IsShared },
2170   {CC"isSharedClass",      CC"(Ljava/lang/Class;)Z",  (void*)&WB_IsSharedClass },
2171   {CC"areSharedStringsIgnored",           CC"()Z",    (void*)&WB_AreSharedStringsIgnored },
2172   {CC"getResolvedReferences", CC"(Ljava/lang/Class;)Ljava/lang/Object;", (void*)&WB_GetResolvedReferences},
2173   {CC"areOpenArchiveHeapObjectsMapped",   CC"()Z",    (void*)&WB_AreOpenArchiveHeapObjectsMapped},
2174   {CC"isCDSIncludedInVmBuild",            CC"()Z",    (void*)&WB_IsCDSIncludedInVmBuild },
2175   {CC"isJFRIncludedInVmBuild",            CC"()Z",    (void*)&WB_IsJFRIncludedInVmBuild },
2176   {CC"isJavaHeapArchiveSupported",      CC"()Z",      (void*)&WB_IsJavaHeapArchiveSupported },
2177 
2178   {CC"clearInlineCaches0",  CC"(Z)V",                 (void*)&WB_ClearInlineCaches },
2179   {CC"handshakeWalkStack", CC"(Ljava/lang/Thread;Z)I", (void*)&WB_HandshakeWalkStack },
2180   {CC"addCompilerDirective",    CC"(Ljava/lang/String;)I",
2181                                                       (void*)&WB_AddCompilerDirective },
2182   {CC"removeCompilerDirective",   CC"(I)V",           (void*)&WB_RemoveCompilerDirective },
2183   {CC"isGCSupported",             CC"(I)Z",           (void*)&WB_IsGCSupported},
2184   {CC"isGCSelected",              CC"(I)Z",           (void*)&WB_IsGCSelected},
2185   {CC"isGCSelectedErgonomically", CC"()Z",            (void*)&WB_IsGCSelectedErgonomically},
2186   {CC"supportsConcurrentGCPhaseControl", CC"()Z",     (void*)&WB_SupportsConcurrentGCPhaseControl},
2187   {CC"getConcurrentGCPhases",     CC"()[Ljava/lang/String;",
2188                                                       (void*)&WB_GetConcurrentGCPhases},




1721   if (GetMethodOption <double> (thread, env, method, name, &result)) {
1722     // can't be in VM when we call JNI
1723     ThreadToNativeFromVM ttnfv(thread);
1724     return doubleBox(thread, env, result);
1725   }
1726   return NULL;
1727 WB_END
1728 
1729 WB_ENTRY(jobject, WB_GetMethodStringOption(JNIEnv* env, jobject wb, jobject method, jstring name))
1730   ccstr ccstrResult;
1731   if (GetMethodOption <ccstr> (thread, env, method, name, &ccstrResult)) {
1732     // can't be in VM when we call JNI
1733     ThreadToNativeFromVM ttnfv(thread);
1734     jstring result = env->NewStringUTF(ccstrResult);
1735     CHECK_JNI_EXCEPTION_(env, NULL);
1736     return result;
1737   }
1738   return NULL;
1739 WB_END
1740 
1741 WB_ENTRY(jobject, WB_GetDefaultArchivePath(JNIEnv* env, jobject wb))
1742   const char* p = Arguments::get_default_shared_archive_path();
1743   ThreadToNativeFromVM ttn(thread);
1744   jstring path_string = env->NewStringUTF(p);
1745 
1746   CHECK_JNI_EXCEPTION_(env, NULL);
1747 
1748   return path_string;
1749 WB_END
1750 
1751 WB_ENTRY(jboolean, WB_IsSharingEnabled(JNIEnv* env, jobject wb))
1752   return UseSharedSpaces;
1753 WB_END
1754 
1755 WB_ENTRY(jboolean, WB_IsShared(JNIEnv* env, jobject wb, jobject obj))
1756   oop obj_oop = JNIHandles::resolve(obj);
1757   return MetaspaceShared::is_archive_object(obj_oop);
1758 WB_END
1759 
1760 WB_ENTRY(jboolean, WB_IsSharedClass(JNIEnv* env, jobject wb, jclass clazz))
1761   return (jboolean)MetaspaceShared::is_in_shared_metaspace(java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
1762 WB_END
1763 
1764 WB_ENTRY(jboolean, WB_AreSharedStringsIgnored(JNIEnv* env))
1765   return !StringTable::shared_string_mapped();
1766 WB_END
1767 
1768 WB_ENTRY(jobject, WB_GetResolvedReferences(JNIEnv* env, jobject wb, jclass clazz))
1769   Klass *k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz));
1770   if (k->is_instance_klass()) {
1771     InstanceKlass *ik = InstanceKlass::cast(k);
1772     ConstantPool *cp = ik->constants();
1773     objArrayOop refs =  cp->resolved_references();
1774     return (jobject)JNIHandles::make_local(env, refs);


2163   {CC"getConstantPoolCacheLength0", CC"(Ljava/lang/Class;)I",  (void*)&WB_GetConstantPoolCacheLength},
2164   {CC"remapInstructionOperandFromCPCache0",
2165       CC"(Ljava/lang/Class;I)I",                      (void*)&WB_ConstantPoolRemapInstructionOperandFromCache},
2166   {CC"encodeConstantPoolIndyIndex0",
2167       CC"(I)I",                      (void*)&WB_ConstantPoolEncodeIndyIndex},
2168   {CC"getMethodBooleanOption",
2169       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Boolean;",
2170                                                       (void*)&WB_GetMethodBooleaneOption},
2171   {CC"getMethodIntxOption",
2172       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Long;",
2173                                                       (void*)&WB_GetMethodIntxOption},
2174   {CC"getMethodUintxOption",
2175       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Long;",
2176                                                       (void*)&WB_GetMethodUintxOption},
2177   {CC"getMethodDoubleOption",
2178       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/Double;",
2179                                                       (void*)&WB_GetMethodDoubleOption},
2180   {CC"getMethodStringOption",
2181       CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/String;",
2182                                                       (void*)&WB_GetMethodStringOption},
2183   {CC"getDefaultArchivePath",             CC"()Ljava/lang/String;",
2184                                                       (void*)&WB_GetDefaultArchivePath},
2185   {CC"isSharingEnabled",   CC"()Z",                   (void*)&WB_IsSharingEnabled},
2186   {CC"isShared",           CC"(Ljava/lang/Object;)Z", (void*)&WB_IsShared },
2187   {CC"isSharedClass",      CC"(Ljava/lang/Class;)Z",  (void*)&WB_IsSharedClass },
2188   {CC"areSharedStringsIgnored",           CC"()Z",    (void*)&WB_AreSharedStringsIgnored },
2189   {CC"getResolvedReferences", CC"(Ljava/lang/Class;)Ljava/lang/Object;", (void*)&WB_GetResolvedReferences},
2190   {CC"areOpenArchiveHeapObjectsMapped",   CC"()Z",    (void*)&WB_AreOpenArchiveHeapObjectsMapped},
2191   {CC"isCDSIncludedInVmBuild",            CC"()Z",    (void*)&WB_IsCDSIncludedInVmBuild },
2192   {CC"isJFRIncludedInVmBuild",            CC"()Z",    (void*)&WB_IsJFRIncludedInVmBuild },
2193   {CC"isJavaHeapArchiveSupported",      CC"()Z",      (void*)&WB_IsJavaHeapArchiveSupported },
2194 
2195   {CC"clearInlineCaches0",  CC"(Z)V",                 (void*)&WB_ClearInlineCaches },
2196   {CC"handshakeWalkStack", CC"(Ljava/lang/Thread;Z)I", (void*)&WB_HandshakeWalkStack },
2197   {CC"addCompilerDirective",    CC"(Ljava/lang/String;)I",
2198                                                       (void*)&WB_AddCompilerDirective },
2199   {CC"removeCompilerDirective",   CC"(I)V",           (void*)&WB_RemoveCompilerDirective },
2200   {CC"isGCSupported",             CC"(I)Z",           (void*)&WB_IsGCSupported},
2201   {CC"isGCSelected",              CC"(I)Z",           (void*)&WB_IsGCSelected},
2202   {CC"isGCSelectedErgonomically", CC"()Z",            (void*)&WB_IsGCSelectedErgonomically},
2203   {CC"supportsConcurrentGCPhaseControl", CC"()Z",     (void*)&WB_SupportsConcurrentGCPhaseControl},
2204   {CC"getConcurrentGCPhases",     CC"()[Ljava/lang/String;",
2205                                                       (void*)&WB_GetConcurrentGCPhases},


< prev index next >