anchor.diff:  // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
   // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
  -
  -// @dart = 2.10
   
   import '../universe/side_effects.dart' show SideEffects;
   import 'nodes.dart';
   
   class ValueSet {
     int size = 0;
  -  List<HInstruction> table;
  -  ValueSetNode collisions;
  -  ValueSet() : table = List<HInstruction>.filled(8, null);
  +  List<HInstruction?> table = List.filled(8, null);
  +  ValueSetNode? collisions;
  +  ValueSet();
   
     bool get isEmpty => size == 0;
     int get length => size;
  
positive.code:     int depends = SideEffects.computeDependsOnFlags(flags);
      // Kill in the hash table.
      for (int index = 0, length = table.length; index < length; index++) {
        HInstruction instruction = table[index];
        if (instruction != null && instruction.sideEffects.dependsOn(depends)) {
          table[index] = null;
          size--;
        }
      }
      // Kill in the collisions list.
      ValueSetNode previous = null;
      ValueSetNode current = collisions;
      while (current != null) {
        ValueSetNode next = current.next;
        HInstruction cached = current.value;
        if (cached.sideEffects.dependsOn(depends)) {
          if (previous == null) {
  
negative.code:   final int hash;
    @override
    int get hashCode => hash;
    ValueSetNode? next;
    ValueSetNode(this.value, this.hash, this.next);
  }
  