From 2c5f86c78995c33df75bbe160d84ac1bc03851d4 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Mon, 10 Dec 2018 17:15:24 +0100 Subject: [PATCH] calrify unfreeze-on-write --- personal/_posts/2018-11-16-stacked-borrows-implementation.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/personal/_posts/2018-11-16-stacked-borrows-implementation.md b/personal/_posts/2018-11-16-stacked-borrows-implementation.md index c1c0274..df60719 100644 --- a/personal/_posts/2018-11-16-stacked-borrows-implementation.md +++ b/personal/_posts/2018-11-16-stacked-borrows-implementation.md @@ -375,8 +375,9 @@ perform the following operations on all locations affected by the access: 1. If the location is frozen and this is a read access, nothing happens (even if the tag is `Uniq`). -2. Unfreeze the location (set `frozen_since` to `None`). Either the location is - already unfrozen, or this is a write. +2. Otherwise, if this is a write access, unfreeze the location (set + `frozen_since` to `None`). (If this is a read access and we come here, the + location is already unfrozen.) 3. Pop the stack until the top item matches the tag of the pointer. - A `Uniq` item matches a `Uniq` tag with the same ID. - A `Shr` item matches any `Shr` tag (with or without timestamp). -- 2.30.2