1. A method in a computing device, the method comprising: receiving, from a physical processor core on which a thread is scheduled, an undefined opcode exception; identifying an instruction that caused the undefined opcode exception; selecting a second physical processor core which supports the instruction; and scheduling the thread to run on the second physical processor core starting at the identified instruction that caused the undefined opcode exception.