Skip to content

Commit 1f7e875

Browse files
committed
fix
1 parent a7bf270 commit 1f7e875

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/tools/fuzzing/fuzzing.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2490,7 +2490,13 @@ void TranslateToFuzzReader::mutateJSBoundary() {
24902490
// TODO: once getExactness() is fixed (see there), use that
24912491
newExactness = oneIn(2) ? Exact : Inexact;
24922492
}
2493-
if (newHeapType.isBasic()) {
2493+
// We can only be exact if we are using the new heap type: that type is
2494+
// exactly what is sent here, and no intermediate heap type would be valid.
2495+
// For example, given $A :> $B :> $C, then maybeRefine($A, exact $C) can
2496+
// return exact $C, but cannot return exact $B.
2497+
//
2498+
// Also, basic heap types cannot be exact.
2499+
if (newHeapType != new_.getHeapType() || newHeapType.isBasic()) {
24942500
newExactness = Inexact;
24952501
}
24962502

0 commit comments

Comments
 (0)