src/share/vm/prims/whitebox.cpp

Print this page

        

*** 818,840 **** : ClassLoaderData::the_null_class_loader_data(); MetadataFactory::free_array(cld, (Array<u1>*)(uintptr_t)addr); WB_END ! WB_ENTRY(jlong, WB_IncMetaspaceCapacityUntilGC(JNIEnv* env, jobject wb, jlong size)) ! if (size < 0) { THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), ! err_msg("WB_IncMetaspaceCapacityUntilGC: size is negative: " JLONG_FORMAT, size)); } ! if (size > (jlong) ((size_t) -1)) { THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), ! err_msg("WB_IncMetaspaceCapacityUntilGC: size does not fit in size_t: " JLONG_FORMAT, size)); } ! size_t new_val = MetaspaceGC::inc_capacity_until_GC(align_size_down((size_t) size, Metaspace::commit_alignment())); ! return (jlong) new_val; WB_END WB_ENTRY(jlong, WB_MetaspaceCapacityUntilGC(JNIEnv* env, jobject wb)) return (jlong) MetaspaceGC::capacity_until_GC(); WB_END --- 818,848 ---- : ClassLoaderData::the_null_class_loader_data(); MetadataFactory::free_array(cld, (Array<u1>*)(uintptr_t)addr); WB_END ! WB_ENTRY(jlong, WB_IncMetaspaceCapacityUntilGC(JNIEnv* env, jobject wb, jlong inc)) ! if (inc < 0) { THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), ! err_msg("WB_IncMetaspaceCapacityUntilGC: inc is negative: " JLONG_FORMAT, inc)); } ! jlong max_size_t = (jlong) ((size_t) -1); ! if (inc > max_size_t) { THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), ! err_msg("WB_IncMetaspaceCapacityUntilGC: inc does not fit in size_t: " JLONG_FORMAT, inc)); } ! size_t new_cap_until_GC = 0; ! size_t aligned_inc = align_size_down((size_t) inc, Metaspace::commit_alignment()); ! bool success = MetaspaceGC::inc_capacity_until_GC(aligned_inc, &new_cap_until_GC); ! if (!success) { ! THROW_MSG_0(vmSymbols::java_lang_IllegalStateException(), ! "WB_IncMetaspaceCapacityUntilGC: could not increase capacity until GC " ! "due to contention with another thread"); ! } ! return (jlong) new_cap_until_GC; WB_END WB_ENTRY(jlong, WB_MetaspaceCapacityUntilGC(JNIEnv* env, jobject wb)) return (jlong) MetaspaceGC::capacity_until_GC(); WB_END