Allow join point Ids to occur below ticks & casts

Tickets:

This MR classifies all join points into two categories:

  • true join points
  • quasi join points

A quasi join point is a join point in which one of the binders occurs under more profiling ticks or casts than its binding site.

The only operational difference is that, for quasi join points, we cannot perform the case-of-case transformation described in Note [Join points and case-of-case] in GHC.Core.Opt.Simplify.Iteration.

All of this is explained in detail in Note [Quasi join points].

Edited by sheaf

Merge request reports

Loading