Question regarding SPDR (SPI)

Been reading a lot about using Arduino as SPI Slave (thanks Nick Gammon). One thing I am unclear of is with the use of 'SPDR'.

I am aware this is used to send a response back to the SPI master. What I am not clear of is, after assigning a value to SPDR, does the transfer happen immediately? Or is there some sort of polling involved where the SPDR gets read and sent at a later time?

Thank you!