< prev index next >

src/share/vm/prims/whitebox.cpp

Print this page




1373   if (inc > max_size_t) {
1374     THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(),
1375         err_msg("WB_IncMetaspaceCapacityUntilGC: inc does not fit in size_t: " JLONG_FORMAT, inc));
1376   }
1377 
1378   size_t new_cap_until_GC = 0;
1379   size_t aligned_inc = align_size_down((size_t) inc, Metaspace::commit_alignment());
1380   bool success = MetaspaceGC::inc_capacity_until_GC(aligned_inc, &new_cap_until_GC);
1381   if (!success) {
1382     THROW_MSG_0(vmSymbols::java_lang_IllegalStateException(),
1383                 "WB_IncMetaspaceCapacityUntilGC: could not increase capacity until GC "
1384                 "due to contention with another thread");
1385   }
1386   return (jlong) new_cap_until_GC;
1387 WB_END
1388 
1389 WB_ENTRY(jlong, WB_MetaspaceCapacityUntilGC(JNIEnv* env, jobject wb))
1390   return (jlong) MetaspaceGC::capacity_until_GC();
1391 WB_END
1392 




1393 
1394 WB_ENTRY(void, WB_AssertMatchingSafepointCalls(JNIEnv* env, jobject o, jboolean mutexSafepointValue, jboolean attemptedNoSafepointValue))
1395   Monitor::SafepointCheckRequired sfpt_check_required = mutexSafepointValue ?
1396                                            Monitor::_safepoint_check_always :
1397                                            Monitor::_safepoint_check_never;
1398   MutexLockerEx ml(new Mutex(Mutex::leaf, "SFPT_Test_lock", true, sfpt_check_required),
1399                    attemptedNoSafepointValue == JNI_TRUE);
1400 WB_END
1401 
1402 WB_ENTRY(jboolean, WB_IsMonitorInflated(JNIEnv* env, jobject wb, jobject obj))
1403   oop obj_oop = JNIHandles::resolve(obj);
1404   return (jboolean) obj_oop->mark()->has_monitor();
1405 WB_END
1406 
1407 WB_ENTRY(void, WB_ForceSafepoint(JNIEnv* env, jobject wb))
1408   VM_ForceSafepoint force_safepoint_op;
1409   VMThread::execute(&force_safepoint_op);
1410 WB_END
1411 
1412 WB_ENTRY(jlong, WB_GetConstantPool(JNIEnv* env, jobject wb, jclass klass))


1753   {CC"getUintxVMFlag",     CC"(Ljava/lang/String;)Ljava/lang/Long;",
1754                                                       (void*)&WB_GetUintxVMFlag},
1755   {CC"getUint64VMFlag",    CC"(Ljava/lang/String;)Ljava/lang/Long;",
1756                                                       (void*)&WB_GetUint64VMFlag},
1757   {CC"getSizeTVMFlag",     CC"(Ljava/lang/String;)Ljava/lang/Long;",
1758                                                       (void*)&WB_GetSizeTVMFlag},
1759   {CC"getDoubleVMFlag",    CC"(Ljava/lang/String;)Ljava/lang/Double;",
1760                                                       (void*)&WB_GetDoubleVMFlag},
1761   {CC"getStringVMFlag",    CC"(Ljava/lang/String;)Ljava/lang/String;",
1762                                                       (void*)&WB_GetStringVMFlag},
1763   {CC"isInStringTable",    CC"(Ljava/lang/String;)Z", (void*)&WB_IsInStringTable  },
1764   {CC"fullGC",   CC"()V",                             (void*)&WB_FullGC },
1765   {CC"youngGC",  CC"()V",                             (void*)&WB_YoungGC },
1766   {CC"readReservedMemory", CC"()V",                   (void*)&WB_ReadReservedMemory },
1767   {CC"allocateMetaspace",
1768      CC"(Ljava/lang/ClassLoader;J)J",                 (void*)&WB_AllocateMetaspace },
1769   {CC"freeMetaspace",
1770      CC"(Ljava/lang/ClassLoader;JJ)V",                (void*)&WB_FreeMetaspace },
1771   {CC"incMetaspaceCapacityUntilGC", CC"(J)J",         (void*)&WB_IncMetaspaceCapacityUntilGC },
1772   {CC"metaspaceCapacityUntilGC", CC"()J",             (void*)&WB_MetaspaceCapacityUntilGC },

1773   {CC"getCPUFeatures",     CC"()Ljava/lang/String;",  (void*)&WB_GetCPUFeatures     },
1774   {CC"getNMethod0",         CC"(Ljava/lang/reflect/Executable;Z)[Ljava/lang/Object;",
1775                                                       (void*)&WB_GetNMethod         },
1776   {CC"forceNMethodSweep",  CC"()V",                   (void*)&WB_ForceNMethodSweep  },
1777   {CC"allocateCodeBlob",   CC"(II)J",                 (void*)&WB_AllocateCodeBlob   },
1778   {CC"freeCodeBlob",       CC"(J)V",                  (void*)&WB_FreeCodeBlob       },
1779   {CC"getCodeHeapEntries", CC"(I)[Ljava/lang/Object;",(void*)&WB_GetCodeHeapEntries },
1780   {CC"getCompilationActivityMode",
1781                            CC"()I",                   (void*)&WB_GetCompilationActivityMode},
1782   {CC"getMethodData0",     CC"(Ljava/lang/reflect/Executable;)J",
1783                                                       (void*)&WB_GetMethodData      },
1784   {CC"getCodeBlob",        CC"(J)[Ljava/lang/Object;",(void*)&WB_GetCodeBlob        },
1785   {CC"getThreadStackSize", CC"()J",                   (void*)&WB_GetThreadStackSize },
1786   {CC"getThreadRemainingStackSize", CC"()J",          (void*)&WB_GetThreadRemainingStackSize },
1787   {CC"DefineModule",       CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V",
1788                                                       (void*)&WB_DefineModule },
1789   {CC"AddModuleExports",   CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V",
1790                                                       (void*)&WB_AddModuleExports },
1791   {CC"AddReadsModule",     CC"(Ljava/lang/Object;Ljava/lang/Object;)V",
1792                                                       (void*)&WB_AddReadsModule },




1373   if (inc > max_size_t) {
1374     THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(),
1375         err_msg("WB_IncMetaspaceCapacityUntilGC: inc does not fit in size_t: " JLONG_FORMAT, inc));
1376   }
1377 
1378   size_t new_cap_until_GC = 0;
1379   size_t aligned_inc = align_size_down((size_t) inc, Metaspace::commit_alignment());
1380   bool success = MetaspaceGC::inc_capacity_until_GC(aligned_inc, &new_cap_until_GC);
1381   if (!success) {
1382     THROW_MSG_0(vmSymbols::java_lang_IllegalStateException(),
1383                 "WB_IncMetaspaceCapacityUntilGC: could not increase capacity until GC "
1384                 "due to contention with another thread");
1385   }
1386   return (jlong) new_cap_until_GC;
1387 WB_END
1388 
1389 WB_ENTRY(jlong, WB_MetaspaceCapacityUntilGC(JNIEnv* env, jobject wb))
1390   return (jlong) MetaspaceGC::capacity_until_GC();
1391 WB_END
1392 
1393 WB_ENTRY(jboolean, WB_MetaspaceShouldConcurrentCollect(JNIEnv* env, jobject wb))
1394   return MetaspaceGC::should_concurrent_collect();
1395 WB_END
1396 
1397 
1398 WB_ENTRY(void, WB_AssertMatchingSafepointCalls(JNIEnv* env, jobject o, jboolean mutexSafepointValue, jboolean attemptedNoSafepointValue))
1399   Monitor::SafepointCheckRequired sfpt_check_required = mutexSafepointValue ?
1400                                            Monitor::_safepoint_check_always :
1401                                            Monitor::_safepoint_check_never;
1402   MutexLockerEx ml(new Mutex(Mutex::leaf, "SFPT_Test_lock", true, sfpt_check_required),
1403                    attemptedNoSafepointValue == JNI_TRUE);
1404 WB_END
1405 
1406 WB_ENTRY(jboolean, WB_IsMonitorInflated(JNIEnv* env, jobject wb, jobject obj))
1407   oop obj_oop = JNIHandles::resolve(obj);
1408   return (jboolean) obj_oop->mark()->has_monitor();
1409 WB_END
1410 
1411 WB_ENTRY(void, WB_ForceSafepoint(JNIEnv* env, jobject wb))
1412   VM_ForceSafepoint force_safepoint_op;
1413   VMThread::execute(&force_safepoint_op);
1414 WB_END
1415 
1416 WB_ENTRY(jlong, WB_GetConstantPool(JNIEnv* env, jobject wb, jclass klass))


1757   {CC"getUintxVMFlag",     CC"(Ljava/lang/String;)Ljava/lang/Long;",
1758                                                       (void*)&WB_GetUintxVMFlag},
1759   {CC"getUint64VMFlag",    CC"(Ljava/lang/String;)Ljava/lang/Long;",
1760                                                       (void*)&WB_GetUint64VMFlag},
1761   {CC"getSizeTVMFlag",     CC"(Ljava/lang/String;)Ljava/lang/Long;",
1762                                                       (void*)&WB_GetSizeTVMFlag},
1763   {CC"getDoubleVMFlag",    CC"(Ljava/lang/String;)Ljava/lang/Double;",
1764                                                       (void*)&WB_GetDoubleVMFlag},
1765   {CC"getStringVMFlag",    CC"(Ljava/lang/String;)Ljava/lang/String;",
1766                                                       (void*)&WB_GetStringVMFlag},
1767   {CC"isInStringTable",    CC"(Ljava/lang/String;)Z", (void*)&WB_IsInStringTable  },
1768   {CC"fullGC",   CC"()V",                             (void*)&WB_FullGC },
1769   {CC"youngGC",  CC"()V",                             (void*)&WB_YoungGC },
1770   {CC"readReservedMemory", CC"()V",                   (void*)&WB_ReadReservedMemory },
1771   {CC"allocateMetaspace",
1772      CC"(Ljava/lang/ClassLoader;J)J",                 (void*)&WB_AllocateMetaspace },
1773   {CC"freeMetaspace",
1774      CC"(Ljava/lang/ClassLoader;JJ)V",                (void*)&WB_FreeMetaspace },
1775   {CC"incMetaspaceCapacityUntilGC", CC"(J)J",         (void*)&WB_IncMetaspaceCapacityUntilGC },
1776   {CC"metaspaceCapacityUntilGC", CC"()J",             (void*)&WB_MetaspaceCapacityUntilGC },
1777   {CC"metaspaceShouldConcurrentCollect", CC"()Z",     (void*)&WB_MetaspaceShouldConcurrentCollect },
1778   {CC"getCPUFeatures",     CC"()Ljava/lang/String;",  (void*)&WB_GetCPUFeatures     },
1779   {CC"getNMethod0",         CC"(Ljava/lang/reflect/Executable;Z)[Ljava/lang/Object;",
1780                                                       (void*)&WB_GetNMethod         },
1781   {CC"forceNMethodSweep",  CC"()V",                   (void*)&WB_ForceNMethodSweep  },
1782   {CC"allocateCodeBlob",   CC"(II)J",                 (void*)&WB_AllocateCodeBlob   },
1783   {CC"freeCodeBlob",       CC"(J)V",                  (void*)&WB_FreeCodeBlob       },
1784   {CC"getCodeHeapEntries", CC"(I)[Ljava/lang/Object;",(void*)&WB_GetCodeHeapEntries },
1785   {CC"getCompilationActivityMode",
1786                            CC"()I",                   (void*)&WB_GetCompilationActivityMode},
1787   {CC"getMethodData0",     CC"(Ljava/lang/reflect/Executable;)J",
1788                                                       (void*)&WB_GetMethodData      },
1789   {CC"getCodeBlob",        CC"(J)[Ljava/lang/Object;",(void*)&WB_GetCodeBlob        },
1790   {CC"getThreadStackSize", CC"()J",                   (void*)&WB_GetThreadStackSize },
1791   {CC"getThreadRemainingStackSize", CC"()J",          (void*)&WB_GetThreadRemainingStackSize },
1792   {CC"DefineModule",       CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V",
1793                                                       (void*)&WB_DefineModule },
1794   {CC"AddModuleExports",   CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V",
1795                                                       (void*)&WB_AddModuleExports },
1796   {CC"AddReadsModule",     CC"(Ljava/lang/Object;Ljava/lang/Object;)V",
1797                                                       (void*)&WB_AddReadsModule },


< prev index next >