AdaptiveSizePolicyを利用するとOld領域へ移動する閾値の計算方法が変わる

パラレルGCを利用すると、デフォルトでAdaptiveSizePolicyが有効になりますが、シリアルGCで動作するOld領域へ移動するためにNew領域に留まる閾値の計算方法が異なるようです。

ソースコードを参照すると、マイナーGCとメジャーGCのコストを比較して、マイナーGCの方がコストがかかっていると、閾値を下げ、メジャーGCの方がコストがかかっていると閾値をあげるようになっているように見受けられます。この場合、メジャーGCが発生しないとメジャーGCのコストが0なので閾値が下がる一方になります。そもそもAdaptiveSizePolicyを利用している場合はNew領域のEden、Survivorのサイズが動的に変化することでも最適化しているように思われるので、閾値を高く保つことがチューニングのすべてではないようです*1