Mercurial > hg > truffle
diff src/share/vm/runtime/arguments.cpp @ 1832:22e4420d19f7
Merge
author | kvn |
---|---|
date | Wed, 06 Oct 2010 14:18:32 -0700 |
parents | a25394352030 fe08403130db |
children | 75b0735b4d04 a7214d79fcf1 |
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp Fri Oct 01 18:04:36 2010 -0700 +++ b/src/share/vm/runtime/arguments.cpp Wed Oct 06 14:18:32 2010 -0700 @@ -1261,12 +1261,30 @@ // Object alignment. if (!is_power_of_2(ObjectAlignmentInBytes)) { 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; } if ((int)ObjectAlignmentInBytes < BytesPerLong) { 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 true;