RE: What is the meaning of Shadowing a register?
Well, I'd say that they're a kind af "the same register, with a double content". Something that can be used in its first "face" or in its second one.
Don't know if you used to know Z80, which had some HL and HL' registers, again to be used in Interrupt context saving (specifically NMI, if I'm not wrong).
A "shadow register" is inherently faster to access: no RAM cycles involved, and also no pointers/FIFO involved: in fact, you usually have only "one" shadow and not more than one.
(in the end, something similar is done when creating a "shadow register" for a PORTx register)