If I have code like: GPRTemporary blah GPRReg blahGPR = blah.gpr() MacroAssembler::Label = m_jit.label(); It may currently fail register allocation validation, presumably because the validation thinks that the label is inside the register allocation rather than after it. The current workaround is to insert a nop: GPRTemporary blah GPRReg blahGPR = blah.gpr() m_jit.nop(); MacroAssembler::Label = m_jit.label(); We should probably fix that eventually.