anchor.diff:    /// Called as part of the rendering pipeline after [flushLayout] and before
     /// [flushPaint].
     void flushCompositingBits() {
  -    Timeline.startSync('Compositing bits');
  +    profile(() { Timeline.startSync('Compositing bits'); });
       _nodesNeedingCompositingBitsUpdate.sort((RenderObject a, RenderObject b) => a.depth - b.depth);
       for (RenderObject node in _nodesNeedingCompositingBitsUpdate) {
         if (node._needsCompositingBitsUpdate && node.owner == this)
           node._updateCompositingBits();
       }
       _nodesNeedingCompositingBitsUpdate.clear();
  -    Timeline.finishSync();
  +    profile(() { Timeline.finishSync(); });
     }
   
     List<RenderObject> _nodesNeedingPaint = <RenderObject>[];
  
positive.code:     } finally {
        assert(_nodesNeedingSemantics.isEmpty);
        assert(() { _debugDoingSemantics = false; return true; }());
        Timeline.finishSync();
      }
    }
  }
  
negative.code:         }
        }
      } finally {
        assert(() {
          _debugDoingLayout = false;
          return true;
        }());
        profile(() {
          Timeline.finishSync();
        });
      }
    }
  
  