< prev index next >
test/gc/TestSmallHeap.java
Print this page
*** 41,58 ****
* minimal heap size of 2m but on Solaris/Sparc we have a page size of 8k and
* get a minimal heap size of 4m. And on platforms where the page size is 64k
* we get a minimal heap size of 32m. We never use large pages for the card table.
*
* There is also no check in the VM for verifying that the maximum heap size
! * is larger than the supported minimal heap size. This means that specifying
! * -Xmx1m on the command line is fine but will give a heap of 2m (or 4m or 32m).
*
! * To work around these rather strange behaviors this test uses -Xmx2m but then
* calculates what the expected heap size should be. The calculation is a
* simplified version of the code in the VM. We assume that the card table will
* use one page. Each byte in the card table corresponds to 512 bytes on the heap.
* So, the expected heap size is page_size * 512.
*/
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
--- 41,62 ----
* minimal heap size of 2m but on Solaris/Sparc we have a page size of 8k and
* get a minimal heap size of 4m. And on platforms where the page size is 64k
* we get a minimal heap size of 32m. We never use large pages for the card table.
*
* There is also no check in the VM for verifying that the maximum heap size
! * is larger than the supported minimal heap size.
*
! * To work around these rather strange behaviors this test uses -Xmx4m but then
* calculates what the expected heap size should be. The calculation is a
* simplified version of the code in the VM. We assume that the card table will
* use one page. Each byte in the card table corresponds to 512 bytes on the heap.
* So, the expected heap size is page_size * 512.
+ *
+ * There is no formal requirement for the minimal value of the maximum heap size
+ * the VM should support. In most cases the VM could start with -Xmx2m.
+ * But with 2m limit GC could be triggered before VM initialization completed.
+ * Therefore, the positive checks start the VM with -Xmx4m as minimum.
*/
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
< prev index next >