The comment could be misleading (// if hasn't already, it's about to now)
The allocation has failed, the spill *if* the failed alloc has provoked will be blocked.
setSpilt() is called to initialize the spill stream and to tell subsequent addRow/addKey's not to bother to add, but to spill directly.