Lines Matching refs:thread

118     /* Select thread via policy. */
150 /* Reference the currently used thread state. */
151 Fetch1ThreadInfo &thread = fetchInfo[tid];
156 Addr aligned_pc = thread.pc.instAddr() & ~((Addr) lineSnap - 1);
162 thread.streamSeqNum, thread.predictionSeqNum,
165 FetchRequestPtr request = new FetchRequest(*this, request_id, thread.pc);
169 request_id, aligned_pc, thread.pc, line_offset, request_size);
175 thread.pc.instAddr());
201 Addr pc_low_bits = thread.pc.instAddr() &
204 thread.pc.set(aligned_pc + request_size + pc_low_bits);
206 thread.pc.set(aligned_pc + request_size);
491 Fetch1ThreadInfo &thread = fetchInfo[branch.threadId];
499 if (thread.wakeupGuard) {
504 thread.state = FetchWaitingForPC;
510 thread.state = FetchHalted;
514 thread.state = FetchRunning;
517 thread.pc = branch.target;
523 Fetch1ThreadInfo &thread = fetchInfo[branch.threadId];
527 thread.streamSeqNum, branch.newStreamSeqNum,
528 thread.predictionSeqNum, branch.newPredictionSeqNum);
531 thread.streamSeqNum = branch.newStreamSeqNum;
535 thread.predictionSeqNum = branch.newPredictionSeqNum;
542 Fetch1ThreadInfo &thread = fetchInfo[response->id.threadId];
563 thread.state = Fetch1::FetchWaitingForPC;
584 /** Are both branches from later stages valid and for the same thread? */
588 Fetch1ThreadInfo &thread = fetchInfo[execute_branch.threadId];
593 if (thread.state == FetchHalted) {
606 } else if (thread.state != FetchHalted && fetch2_branch.isStreamChange()) {
611 if (fetch2_branch.newStreamSeqNum != thread.streamSeqNum) {
649 DPRINTF(Fetch, "Fetching from thread %d\n", fetch_tid);
651 /* Generate fetch to selected thread */
708 for (auto& thread : fetchInfo) {
709 thread.wakeupGuard = false;
717 Fetch1ThreadInfo &thread = fetchInfo[tid];
718 thread.pc = thread_ctx->pcState();
719 thread.state = FetchRunning;
720 thread.wakeupGuard = true;
732 Fetch1ThreadInfo &thread = fetchInfo[tid];
735 thread.state == FetchHalted,
739 drained = drained && (thread.state != FetchRunning);
753 Fetch1ThreadInfo &thread = fetch.fetchInfo[id.threadId];
757 (id.streamSeqNum != thread.streamSeqNum ||
758 id.predictionSeqNum != thread.predictionSeqNum);
766 const Fetch1ThreadInfo &thread = fetchInfo[0];
770 if (thread.blocked)
776 " streamSeqNum=%d lines=%s\n", thread.state, icacheState,
778 thread.streamSeqNum, data.str());