54 #include "services/memTracker.hpp" |
54 #include "services/memTracker.hpp" |
55 #include "utilities/nativeCallStack.hpp" |
55 #include "utilities/nativeCallStack.hpp" |
56 #endif // INCLUDE_NMT |
56 #endif // INCLUDE_NMT |
57 |
57 |
58 #include "compiler/compileBroker.hpp" |
58 #include "compiler/compileBroker.hpp" |
|
59 #include "jvmtifiles/jvmtiEnv.hpp" |
59 #include "runtime/compilationPolicy.hpp" |
60 #include "runtime/compilationPolicy.hpp" |
60 |
61 |
61 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC |
62 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC |
62 |
63 |
63 #define SIZE_T_MAX_VALUE ((size_t) -1) |
64 #define SIZE_T_MAX_VALUE ((size_t) -1) |
123 jintArray result = JVM_GetResourceLookupCache(env, loader, resource_name); |
124 jintArray result = JVM_GetResourceLookupCache(env, loader, resource_name); |
124 |
125 |
125 env->ReleaseStringUTFChars(name, resource_name); |
126 env->ReleaseStringUTFChars(name, resource_name); |
126 return result; |
127 return result; |
127 WB_END |
128 WB_END |
|
129 |
|
130 WB_ENTRY(void, WB_AddToBootstrapClassLoaderSearch(JNIEnv* env, jobject o, jstring segment)) { |
|
131 #if INCLUDE_JVMTI |
|
132 ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI |
|
133 const char* seg = env->GetStringUTFChars(segment, NULL); |
|
134 JvmtiEnv* jvmti_env = JvmtiEnv::create_a_jvmti(JVMTI_VERSION); |
|
135 jvmtiError err = jvmti_env->AddToBootstrapClassLoaderSearch(seg); |
|
136 assert(err == JVMTI_ERROR_NONE, "must not fail"); |
|
137 env->ReleaseStringUTFChars(segment, seg); |
|
138 #endif |
|
139 } |
|
140 WB_END |
|
141 |
|
142 WB_ENTRY(void, WB_AddToSystemClassLoaderSearch(JNIEnv* env, jobject o, jstring segment)) { |
|
143 #if INCLUDE_JVMTI |
|
144 ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI |
|
145 const char* seg = env->GetStringUTFChars(segment, NULL); |
|
146 JvmtiEnv* jvmti_env = JvmtiEnv::create_a_jvmti(JVMTI_VERSION); |
|
147 jvmtiError err = jvmti_env->AddToSystemClassLoaderSearch(seg); |
|
148 assert(err == JVMTI_ERROR_NONE, "must not fail"); |
|
149 env->ReleaseStringUTFChars(segment, seg); |
|
150 #endif |
|
151 } |
|
152 WB_END |
|
153 |
128 |
154 |
129 WB_ENTRY(jlong, WB_GetCompressedOopsMaxHeapSize(JNIEnv* env, jobject o)) { |
155 WB_ENTRY(jlong, WB_GetCompressedOopsMaxHeapSize(JNIEnv* env, jobject o)) { |
130 return (jlong)Arguments::max_heap_for_compressed_oops(); |
156 return (jlong)Arguments::max_heap_for_compressed_oops(); |
131 } |
157 } |
132 WB_END |
158 WB_END |
956 (void*)&WB_GetLookupCacheMatches}, |
982 (void*)&WB_GetLookupCacheMatches}, |
957 {CC"parseCommandLine", |
983 {CC"parseCommandLine", |
958 CC"(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;", |
984 CC"(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;", |
959 (void*) &WB_ParseCommandLine |
985 (void*) &WB_ParseCommandLine |
960 }, |
986 }, |
|
987 {CC"addToBootstrapClassLoaderSearch", CC"(Ljava/lang/String;)V", |
|
988 (void*)&WB_AddToBootstrapClassLoaderSearch}, |
|
989 {CC"addToSystemClassLoaderSearch", CC"(Ljava/lang/String;)V", |
|
990 (void*)&WB_AddToSystemClassLoaderSearch}, |
961 {CC"getCompressedOopsMaxHeapSize", CC"()J", |
991 {CC"getCompressedOopsMaxHeapSize", CC"()J", |
962 (void*)&WB_GetCompressedOopsMaxHeapSize}, |
992 (void*)&WB_GetCompressedOopsMaxHeapSize}, |
963 {CC"printHeapSizes", CC"()V", (void*)&WB_PrintHeapSizes }, |
993 {CC"printHeapSizes", CC"()V", (void*)&WB_PrintHeapSizes }, |
964 {CC"runMemoryUnitTests", CC"()V", (void*)&WB_RunMemoryUnitTests}, |
994 {CC"runMemoryUnitTests", CC"()V", (void*)&WB_RunMemoryUnitTests}, |
965 {CC"readFromNoaccessArea",CC"()V", (void*)&WB_ReadFromNoaccessArea}, |
995 {CC"readFromNoaccessArea",CC"()V", (void*)&WB_ReadFromNoaccessArea}, |