Skip to content

Commit 9376051

Browse files
authored
Merge pull request #413 from Pat-Lafon/brilirs_ssu_reg
dont' remove from shadow env on get
2 parents 6a6911a + 45d6d0a commit 9376051

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

brilirs/src/interp.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ fn execute_value_op<T: std::io::Write>(
331331
dest: usize,
332332
args: &[usize],
333333
funcs: &[usize],
334-
shadow_env: &mut HashMap<usize, Value>,
334+
shadow_env: &HashMap<usize, Value>,
335335
) -> Result<(), InterpError> {
336336
use bril_rs::ValueOps::{
337337
Add, Alloc, And, Bits2Float, Call, Ceq, Cge, Cgt, Char2int, Cle, Clt, Div, Eq, Fadd, Fdiv, Feq,
@@ -500,8 +500,8 @@ fn execute_value_op<T: std::io::Write>(
500500

501501
state.env.set(dest, result);
502502
}
503-
Get => match shadow_env.remove(&dest) {
504-
Some(v) => state.env.set(dest, v),
503+
Get => match shadow_env.get(&dest) {
504+
Some(v) => state.env.set(dest, *v),
505505
None => return Err(InterpError::GetWithoutSet),
506506
},
507507
Undef => {
@@ -679,7 +679,7 @@ fn execute<'a, T: std::io::Write>(
679679
numified_code.dest.unwrap(),
680680
&numified_code.args,
681681
&numified_code.funcs,
682-
&mut shadow_env,
682+
&shadow_env,
683683
)
684684
.map_err(|e| e.add_pos(pos.clone()))?;
685685
}

0 commit comments

Comments
 (0)