1. A method, in a data processing system, for tracking dependencies of threads in a multi-threaded computer program execution, comprising: detecting, by a processor of the data processing system, a dependency of a first thread's execution on results of a second thread's execution in an execution flow of the multi-threaded computer program; storing, by the processor, in a hardware thread dependency vector storage associated with the first thread's execution, an identifier of the dependency by setting at least one bit in the hardware thread dependency vector storage corresponding to the second thread; and scheduling, by the processor, tasks performed by the multi-threaded computer program based on a state of bits in the hardware thread dependency vector storage.