1. A method, comprising: identifying, by the processing device, a set of software threads having instructions waiting to issue; for each software thread in the set of the software threads, binding, by the processing device, the software thread to an available hardware context in a set of hardware contexts; and storing, by the processing device, an identifier of the available hardware context bound to the software thread to a next available entry in an ordered list; reading, by the processing device, an identifier stored in an entry of the ordered list; responsive to an instruction associated with the identifier having no dependencies with any other instructions among the instructions waiting to issue, issuing, by the processing device, the instruction waiting to issue to the hardware context associated with the identifier.