first argument is a slot number, second is the buffer, third is flag indicating new buffer
Why do we need a slot number? to replace already registered buffer?
For further simplification slot number could be omitted. In the attached patches, generic xlog replay applies changes in the same order GenericXLogRegister was called.
Patches was rebased against latest version of am interface rework patch.