Lines Matching refs:context
59 uint64_t TimingExprSrcReg::eval(TimingExprEvalContext &context)
61 return context.inst->srcRegIdx(index).index();
64 uint64_t TimingExprReadIntReg::eval(TimingExprEvalContext &context)
66 return context.thread->readIntReg(reg->eval(context));
69 uint64_t TimingExprLet::eval(TimingExprEvalContext &context)
71 TimingExprEvalContext new_context(context.inst,
72 context.thread, this);
77 uint64_t TimingExprRef::eval(TimingExprEvalContext &context)
81 if (!context.resultAvailable[index]) {
82 context.results[index] = context.let->defns[index]->eval(context);
83 context.resultAvailable[index] = true;
86 return context.results[index];
89 uint64_t TimingExprUn::eval(TimingExprEvalContext &context)
91 uint64_t arg_value = arg->eval(context);
124 uint64_t TimingExprBin::eval(TimingExprEvalContext &context)
126 uint64_t left_value = left->eval(context);
127 uint64_t right_value = right->eval(context);
193 uint64_t TimingExprIf::eval(TimingExprEvalContext &context)
195 uint64_t cond_value = cond->eval(context);
198 return trueExpr->eval(context);
200 return falseExpr->eval(context);