code: function(slice, timeSlice) {
        // Make sure they overlap
        if (slice.start > timeSlice.end || slice.end < timeSlice.start)
          return slice.end <= timeSlice.end;
  
        // Compute actual overlap
        var duration = timeSlice.duration;
        if (slice.start > timeSlice.start)
          duration -= slice.start - timeSlice.start;
        if (timeSlice.end > slice.end)
          duration -= timeSlice.end - slice.end;
  
        if (slice.cpuDuration) {
          slice.cpuDuration += duration;
        } else {
          slice.cpuDuration = duration;
        }
  
        for (var i = 0; i < slice.subSlices.length; i++) {
          this.addCpuTimeToSubslice_(slice.subSlices[i], timeSlice);
        }
  
        return slice.end <= timeSlice.end;
      }
docs: /* Add run-time of this timeSlice to the passed in slice
  and all of it's children (recursively).
  Returns whether the slice ends before or at the end of the
  time slice, signaling we are done with this slice.