Updated macros to use P instead of Gc