refactor(tvix/eval): use CodeIdx wrapper for instruction pointer

As suggested by sterni in cl/6453.

Change-Id: I3cf80d97c11fd7d085ab510f6be4b5f937c791ec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6562
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2022-09-13 15:58:55 +03:00 committed by tazjin
parent a9914a79a0
commit d5ee893fb1
3 changed files with 34 additions and 9 deletions

View file

@ -53,7 +53,7 @@ pub trait Observer {
/// Called when the runtime *begins* executing an instruction. The
/// provided stack is the state at the beginning of the operation.
fn observe_execute_op(&mut self, _ip: usize, _: &OpCode, _: &[Value]) {}
fn observe_execute_op(&mut self, _ip: CodeIdx, _: &OpCode, _: &[Value]) {}
}
#[derive(Default)]
@ -162,8 +162,8 @@ impl<W: Write> Observer for TracingObserver<W> {
);
}
fn observe_execute_op(&mut self, ip: usize, op: &OpCode, stack: &[Value]) {
let _ = write!(&mut self.writer, "{:04} {:?}\t[ ", ip, op);
fn observe_execute_op(&mut self, ip: CodeIdx, op: &OpCode, stack: &[Value]) {
let _ = write!(&mut self.writer, "{:04} {:?}\t[ ", ip.0, op);
for val in stack {
let _ = write!(&mut self.writer, "{} ", val);