diff options
Diffstat (limited to 'js/src/jit-test/tests/gc/bug-1435321.js')
-rw-r--r-- | js/src/jit-test/tests/gc/bug-1435321.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/gc/bug-1435321.js b/js/src/jit-test/tests/gc/bug-1435321.js new file mode 100644 index 0000000000..f8c0172d24 --- /dev/null +++ b/js/src/jit-test/tests/gc/bug-1435321.js @@ -0,0 +1,30 @@ +// Check that corresponding parameters are updated to ensure that invariants are +// preserved when updating various GC parameters. + +gcparam('highFrequencyLargeHeapGrowth', 200); +gcparam('highFrequencySmallHeapGrowth', 400); +assertEq(gcparam('highFrequencyLargeHeapGrowth'), 200); +assertEq(gcparam('highFrequencySmallHeapGrowth'), 400); + +gcparam('highFrequencySmallHeapGrowth', 150); +assertEq(gcparam('highFrequencyLargeHeapGrowth'), 150); +assertEq(gcparam('highFrequencySmallHeapGrowth'), 150); + +gcparam('highFrequencyLargeHeapGrowth', 300); +assertEq(gcparam('highFrequencyLargeHeapGrowth'), 300); +assertEq(gcparam('highFrequencySmallHeapGrowth'), 300); + +// The following parameters are stored in bytes but specified/retrieved in MiB. + +gcparam('smallHeapSizeMax', 200); +gcparam('largeHeapSizeMin', 500); +assertEq(gcparam('smallHeapSizeMax'), 200); +assertEq(gcparam('largeHeapSizeMin'), 500); + +gcparam('largeHeapSizeMin', 100); +assertEq(gcparam('smallHeapSizeMax'), 99); +assertEq(gcparam('largeHeapSizeMin'), 100); + +gcparam('smallHeapSizeMax', 300); +assertEq(gcparam('smallHeapSizeMax'), 300); +assertEq(gcparam('largeHeapSizeMin'), 300); |