Use EvalContext's TyCtx for the purpose of hashing the evaluation context
This commit is contained in:
parent
add9ee24db
commit
a26ceb3be4
2 changed files with 8 additions and 2 deletions
|
@ -227,12 +227,13 @@ impl<'a, 'mir, 'tcx, M> InfiniteLoopDetector<'a, 'mir, 'tcx, M>
|
|||
|
||||
pub fn observe_and_analyze(
|
||||
&mut self,
|
||||
tcx: &TyCtxt<'b, 'tcx, 'tcx>,
|
||||
machine: &M,
|
||||
memory: &Memory<'a, 'mir, 'tcx, M>,
|
||||
stack: &[Frame<'mir, 'tcx>],
|
||||
) -> EvalResult<'tcx, ()> {
|
||||
|
||||
let mut hcx = memory.tcx.get_stable_hashing_context();
|
||||
let mut hcx = tcx.get_stable_hashing_context();
|
||||
let mut hasher = StableHasher::<u64>::new();
|
||||
(machine, stack).hash_stable(&mut hcx, &mut hasher);
|
||||
let hash = hasher.finish();
|
||||
|
|
|
@ -73,7 +73,12 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
|
|||
"Constant evaluating a complex constant, this might take some time");
|
||||
}
|
||||
|
||||
self.loop_detector.observe_and_analyze(&self.machine, &self.memory, &self.stack[..])
|
||||
self.loop_detector.observe_and_analyze(
|
||||
&self.tcx,
|
||||
&self.machine,
|
||||
&self.memory,
|
||||
&self.stack[..],
|
||||
)
|
||||
}
|
||||
|
||||
pub fn run(&mut self) -> EvalResult<'tcx> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue