6979458: VM crashes when -XX:ObjectAlignmentInBytes is too big
Set upper limit 256 for ObjectAlignmentInBytes value. Reviewed-by: never, iveresov
This commit is contained in:
parent
32ebbc92ec
commit
c5191a8103
@ -1261,12 +1261,30 @@ bool verify_object_alignment() {
|
|||||||
// Object alignment.
|
// Object alignment.
|
||||||
if (!is_power_of_2(ObjectAlignmentInBytes)) {
|
if (!is_power_of_2(ObjectAlignmentInBytes)) {
|
||||||
jio_fprintf(defaultStream::error_stream(),
|
jio_fprintf(defaultStream::error_stream(),
|
||||||
"error: ObjectAlignmentInBytes=%d must be power of 2", (int)ObjectAlignmentInBytes);
|
"error: ObjectAlignmentInBytes=%d must be power of 2\n",
|
||||||
|
(int)ObjectAlignmentInBytes);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ((int)ObjectAlignmentInBytes < BytesPerLong) {
|
if ((int)ObjectAlignmentInBytes < BytesPerLong) {
|
||||||
jio_fprintf(defaultStream::error_stream(),
|
jio_fprintf(defaultStream::error_stream(),
|
||||||
"error: ObjectAlignmentInBytes=%d must be greater or equal %d", (int)ObjectAlignmentInBytes, BytesPerLong);
|
"error: ObjectAlignmentInBytes=%d must be greater or equal %d\n",
|
||||||
|
(int)ObjectAlignmentInBytes, BytesPerLong);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// It does not make sense to have big object alignment
|
||||||
|
// since a space lost due to alignment will be greater
|
||||||
|
// then a saved space from compressed oops.
|
||||||
|
if ((int)ObjectAlignmentInBytes > 256) {
|
||||||
|
jio_fprintf(defaultStream::error_stream(),
|
||||||
|
"error: ObjectAlignmentInBytes=%d must not be greater then 256\n",
|
||||||
|
(int)ObjectAlignmentInBytes);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// In case page size is very small.
|
||||||
|
if ((int)ObjectAlignmentInBytes >= os::vm_page_size()) {
|
||||||
|
jio_fprintf(defaultStream::error_stream(),
|
||||||
|
"error: ObjectAlignmentInBytes=%d must be less then page size %d\n",
|
||||||
|
(int)ObjectAlignmentInBytes, os::vm_page_size());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user