refactor(tvix/eval): rename Opcode::DataLocalIdx to DataStackIdx
It is very confusing that this opcode is called DataLocalIdx, but it carries a StackIdx rather than a LocalIdx. It seems like this really ought to be called DataStackIdx, but maybe I've misunderstood; if so please explain it to me. Change-Id: I91f6ffa759412beef0b91d3c19ec0d873fe51b99 Signed-off-by: Adam Joseph <adam@westernsemico.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/7088 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
This commit is contained in:
parent
8240b2959e
commit
c096152953
4 changed files with 7 additions and 7 deletions
|
@ -1031,7 +1031,7 @@ impl Compiler<'_> {
|
|||
if slot == idx {
|
||||
self.scope_mut().mark_must_thunk(slot);
|
||||
}
|
||||
self.push_op(OpCode::DataLocalIdx(stack_idx), &upvalue.span);
|
||||
self.push_op(OpCode::DataStackIdx(stack_idx), &upvalue.span);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@ pub enum OpCode {
|
|||
//
|
||||
// It is illegal for a `Data*` opcode to appear anywhere else.
|
||||
/// Populate a static upvalue by copying from the stack immediately.
|
||||
DataLocalIdx(StackIdx),
|
||||
DataStackIdx(StackIdx),
|
||||
/// Populate a static upvalue of a thunk by copying it the stack, but do
|
||||
/// when the thunk is finalised (by OpFinalise) rather than immediately.
|
||||
DataDeferredLocal(StackIdx),
|
||||
|
|
|
@ -51,7 +51,7 @@ pub struct Lambda {
|
|||
/// Number of upvalues which the code in this Lambda closes
|
||||
/// over, and which need to be initialised at
|
||||
/// runtime. Information about the variables is emitted using
|
||||
/// data-carrying opcodes (see [`OpCode::DataLocalIdx`]).
|
||||
/// data-carrying opcodes (see [`OpCode::DataStackIdx`]).
|
||||
pub(crate) upvalue_count: usize,
|
||||
pub(crate) formals: Option<Formals>,
|
||||
}
|
||||
|
|
|
@ -734,7 +734,7 @@ impl<'o> VM<'o> {
|
|||
|
||||
// Data-carrying operands should never be executed,
|
||||
// that is a critical error in the VM.
|
||||
OpCode::DataLocalIdx(_)
|
||||
OpCode::DataStackIdx(_)
|
||||
| OpCode::DataDeferredLocal(_)
|
||||
| OpCode::DataUpvalueIdx(_)
|
||||
| OpCode::DataCaptureWith => {
|
||||
|
@ -813,7 +813,7 @@ impl<'o> VM<'o> {
|
|||
) -> EvalResult<()> {
|
||||
for _ in 0..count {
|
||||
match self.inc_ip() {
|
||||
OpCode::DataLocalIdx(StackIdx(stack_idx)) => {
|
||||
OpCode::DataStackIdx(StackIdx(stack_idx)) => {
|
||||
let idx = self.frame().stack_offset + stack_idx;
|
||||
|
||||
let val = match self.stack.get(idx) {
|
||||
|
@ -823,8 +823,8 @@ impl<'o> VM<'o> {
|
|||
msg: "upvalue to be captured was missing on stack",
|
||||
metadata: Some(Rc::new(json!({
|
||||
"ip": format!("{:#x}", self.frame().ip.0 - 1),
|
||||
"stack_idx": stack_idx,
|
||||
"absolute stack position": idx,
|
||||
"stack_idx(relative)": stack_idx,
|
||||
"stack_idx(absolute)": idx,
|
||||
}))),
|
||||
}))
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue