Closes #3666
Move more logic in our codegen into a shared util which is called by the Jit & Prege change detector code.