Skip to content

Commit f8285f9

Browse files
committed
Fix memory write
1 parent 4b24d13 commit f8285f9

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

ArchSemArm/VMPromising.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ Module Memory.
303303
and thus the corresponding executions would be discarded. TODO prove it.
304304
*)
305305
Definition fulfill (ev : Ev.t) (prom : list view) (mem : t) : option view :=
306-
prom |> filter (fun t => Some ev =? mem !! t)
306+
prom |> filter (λ t, mem !! t = Some ev)
307307
|> reverse
308308
|> head.
309309

@@ -1358,7 +1358,7 @@ Definition write_mem (tid : nat) (loc : Loc.t) (viio : view) (macc : mem_acc)
13581358
⊔ view_if is_release (ts.(TState.vrd) ⊔ ts.(TState.vwr)) in
13591359
let vpre := ts.(TState.vspec) ⊔ vbob ⊔ viio in
13601360
guard_discard (vpre ⊔ (TState.coh ts !!! loc) < time)%nat;;
1361-
mset (TState.prom ∘ fst) $ delete time;;
1361+
mset (TState.prom ∘ fst) (filter (λ t, t ≠ time));;
13621362
mset fst $ TState.update_coh loc time;;
13631363
mset fst $ TState.update TState.vwr time;;
13641364
mset fst $ TState.update TState.vrel (view_if is_release time);;
@@ -1475,7 +1475,7 @@ Definition run_tlbi (tid : nat) (view : nat) (tlbi : TLBIInfo) :
14751475
then mret t
14761476
else Exec.liftSt PPState.mem $ Memory.promise tlbiev);
14771477
guard_discard (vpre < time)%nat;;
1478-
mset (TState.prom ∘ PPState.state) $ delete time;;
1478+
mset (TState.prom ∘ PPState.state) (filter (λ t, t ≠ time));;
14791479
mset PPState.state $ TState.update TState.vtlbi time;;
14801480
mset PPState.iis $ IIS.add time.
14811481

0 commit comments

Comments
 (0)