summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNARUSE, Yui <naruse@airemix.jp>2022-02-07 19:58:46 +0900
committerNARUSE, Yui <naruse@airemix.jp>2022-02-07 19:58:46 +0900
commit86c8e15170484fe23b311e567717053f147ffd9c (patch)
tree9e4585f2801f882181ee41d10db2bf4ef17ee11d /test
parente54289bb632047b750f9c9371410d1adff2a740a (diff)
merge revision(s) 2a76440fac62b: [Backport #18501]
[Bug #18501] Fire write barrier after hash has been written Before this change the write barrier was executed before the key and value were actually reachable via the Hash. This could cause inconsistencies in object coloration which would lead to accidental collection of dup'd keys. Example: 1. Object O is grey, Object P is white. 2. Write barrier fires O -> P 3. Write barrier does nothing 4. Malloc happens, which starts GC 5. GC colors O black 6. P is written in to O (now we have O -> P reference) 7. P is now accidentally treated as garbage --- hash.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions