The ppc implementation of Relocation::pd_set_data_value converts a compressed klass pointer to a narrowOop to be passed into a routine for inserting literal constants into the code. This depends on the representation types being the same. This showed up as part of JDK-8247912, where narrowOop is no longer just a typedef for uint32_t, so the implicit type pun with compressed klass pointers had to be made explicit.
It might be that all is basically well here except for some naming and parameter type confusion. Or there might be something actually wrong with treating a compressed klass pointer as a compressed oop pointer.