anchor.diff:      int size = SizeVisitor.sizeOf(invoke, function);
       if (!_inliner.isCalledOnce(target) && size > 11) return doNotInline();
   
  -    _inliner.cache.putPositive(target, callStructure, abstractReceiver,
  +    _inliner.cache.putPositive(target, callStructure, abstractReceiverInMethod,
           abstractArguments, function);
       return finish(function);
     }
  
positive.code:     Reference<Primitive> dartReceiver = invoke.dartReceiverReference;
      TypeMask abstractReceiver =
          dartReceiver == null ? null : abstractType(dartReceiver);
      List<TypeMask> abstractArguments =
          invoke.arguments.map(abstractType).toList();
      var cachedResult = _inliner.cache.get(target, callStructure,
          abstractReceiver,
          abstractArguments);
  
      // Negative inlining result in the cache.
  
negative.code:     // before.  Make an inlining decision.
      assert(cachedResult == InliningCache.ABSENT);
      Primitive doNotInline() {
        _inliner.cache.putNegative(
            target, callStructure, abstractReceiverInMethod, abstractArguments);
        return null;
      }
      if (backend.annotations.noInline(target)) return doNotInline();
  