Is it even possible on macOS? I don't know about Undo but iirc rr needs access to perf counters to achieve deterministic interrupt delivery or something, which macOS doesn't allow. Now I basically have a sidekick Linux machine at work cos my company only offers Macs.
Yes, though the concepts are similar we use JIT instrumentation of the code to count time, instead of hardware performance counters.
It has the advantage that we work fine in virtual machines, even where they don't allow performance counters. For what it's worth, we work fine on Mac Docker Linux containers for x86.
For native MacOS support it'd be more of a proper porting effort - we'd need to implement a different set of system calls.
Does Undo use different techniques?