3896 if (UseParallelGC || UseParallelOldGC) { 3897 if (FLAG_IS_DEFAULT(MinHeapDeltaBytes)) { 3898 FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M); 3899 } 3900 } 3901 // UseNUMAInterleaving is set to ON for all collectors and 3902 // platforms when UseNUMA is set to ON. NUMA-aware collectors 3903 // such as the parallel collector for Linux and Solaris will 3904 // interleave old gen and survivor spaces on top of NUMA 3905 // allocation policy for the eden space. 3906 // Non NUMA-aware collectors such as CMS, G1 and Serial-GC on 3907 // all platforms and ParallelGC on Windows will interleave all 3908 // of the heap spaces across NUMA nodes. 3909 if (FLAG_IS_DEFAULT(UseNUMAInterleaving)) { 3910 FLAG_SET_ERGO(bool, UseNUMAInterleaving, true); 3911 } 3912 } 3913 return JNI_OK; 3914 } 3915 3916 // Any custom code post the final range and constraint check 3917 // can be done here. We pass a flag that specifies whether 3918 // the check passed successfully 3919 void Arguments::post_final_range_and_constraint_check(bool check_passed) { 3920 // This does not set the flag itself, but stores the value in a safe place for later usage. 3921 _min_heap_free_ratio = MinHeapFreeRatio; 3922 _max_heap_free_ratio = MaxHeapFreeRatio; 3923 } 3924 3925 int Arguments::PropertyList_count(SystemProperty* pl) { 3926 int count = 0; 3927 while(pl != NULL) { 3928 count++; 3929 pl = pl->next(); 3930 } 3931 return count; 3932 } 3933 3934 const char* Arguments::PropertyList_get_value(SystemProperty *pl, const char* key) { 3935 assert(key != NULL, "just checking"); 3936 SystemProperty* prop; 3937 for (prop = pl; prop != NULL; prop = prop->next()) { 3938 if (strcmp(key, prop->key()) == 0) return prop->value(); 3939 } | 3896 if (UseParallelGC || UseParallelOldGC) { 3897 if (FLAG_IS_DEFAULT(MinHeapDeltaBytes)) { 3898 FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M); 3899 } 3900 } 3901 // UseNUMAInterleaving is set to ON for all collectors and 3902 // platforms when UseNUMA is set to ON. NUMA-aware collectors 3903 // such as the parallel collector for Linux and Solaris will 3904 // interleave old gen and survivor spaces on top of NUMA 3905 // allocation policy for the eden space. 3906 // Non NUMA-aware collectors such as CMS, G1 and Serial-GC on 3907 // all platforms and ParallelGC on Windows will interleave all 3908 // of the heap spaces across NUMA nodes. 3909 if (FLAG_IS_DEFAULT(UseNUMAInterleaving)) { 3910 FLAG_SET_ERGO(bool, UseNUMAInterleaving, true); 3911 } 3912 } 3913 return JNI_OK; 3914 } 3915 3916 // Any custom code post the 'CommandLineFlagConstraint::AfterErgo' constraint check 3917 // can be done here. We pass a flag that specifies whether 3918 // the check passed successfully 3919 void Arguments::post_after_ergo_constraint_check(bool check_passed) { 3920 // This does not set the flag itself, but stores the value in a safe place for later usage. 3921 _min_heap_free_ratio = MinHeapFreeRatio; 3922 _max_heap_free_ratio = MaxHeapFreeRatio; 3923 } 3924 3925 int Arguments::PropertyList_count(SystemProperty* pl) { 3926 int count = 0; 3927 while(pl != NULL) { 3928 count++; 3929 pl = pl->next(); 3930 } 3931 return count; 3932 } 3933 3934 const char* Arguments::PropertyList_get_value(SystemProperty *pl, const char* key) { 3935 assert(key != NULL, "just checking"); 3936 SystemProperty* prop; 3937 for (prop = pl; prop != NULL; prop = prop->next()) { 3938 if (strcmp(key, prop->key()) == 0) return prop->value(); 3939 } |