diff --git a/infer/src/istd/MaximumSharing.ml b/infer/src/istd/MaximumSharing.ml index ab39f7050..0a4b40672 100644 --- a/infer/src/istd/MaximumSharing.ml +++ b/infer/src/istd/MaximumSharing.ml @@ -85,9 +85,7 @@ end = struct | Normalized of HashedNormalizedScannableBlock.t type t = - { inplace: bool - (** Uses [Obj.set_field] on possibly immutable values, hence should be avoided when used with flambda *) - ; noscan_blocks: HashedNoscanBlock.t HNoscan.t + { noscan_blocks: HashedNoscanBlock.t HNoscan.t ; visited_blocks: visited HPhysEq.t ; hash_normalized: HashedNormalizedScannableBlock.t HNorm.t ; fail_on_forward: bool @@ -95,8 +93,7 @@ end = struct ; fail_on_objects: bool } let create () = - { inplace= false - ; noscan_blocks= HNoscan.create 1 + { noscan_blocks= HNoscan.create 1 ; visited_blocks= HPhysEq.create 1 ; hash_normalized= HNorm.create 1 ; (* these are just for safety because the code hasn't been tested on them, it should work fine though *) @@ -250,8 +247,7 @@ end = struct if phys_equal field_v field_v' then new_block else let new_block = - if phys_equal original_block new_block && not sharer.inplace then - (* copy-on-write *) + if phys_equal original_block new_block then (* copy-on-write *) Obj.dup original_block else new_block in