--- old/test/sun/misc/FloatingDecimal/TestFDBigInteger.java 2013-06-21 11:49:37.000000000 -0700 +++ new/test/sun/misc/FloatingDecimal/TestFDBigInteger.java 2013-06-21 11:49:37.000000000 -0700 @@ -351,6 +351,10 @@ if (!isImmutable && diff != left) { throw new Exception("leftInplaceSub of doesn't reuse its argument"); } + if (isImmutable) { + check(biLeft, left, "leftInplaceSub corrupts its left immutable argument"); + } + check(biRight, right, "leftInplaceSub corrupts its right argument"); check(biLeft.subtract(biRight), diff, "leftInplaceSub returns wrong result"); } @@ -381,6 +385,10 @@ if (!isImmutable && diff != right) { throw new Exception("rightInplaceSub of doesn't reuse its argument"); } + check(biLeft, left, "leftInplaceSub corrupts its left argument"); + if (isImmutable) { + check(biRight, right, "leftInplaceSub corrupts its right immutable argument"); + } try { check(biLeft.subtract(biRight), diff, "rightInplaceSub returns wrong result"); } catch (Exception e) {