mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Add write barrier for hash in obj_traverse_i
We are inserting directly into the st_table, so we need to issue a write barrier from the hash.
This commit is contained in:
parent
f951ce37d6
commit
bb0d6296ac
Notes:
git
2025-06-18 17:08:57 +00:00
1 changed files with 3 additions and 0 deletions
3
ractor.c
3
ractor.c
|
@ -1188,6 +1188,7 @@ obj_traverse_i(VALUE obj, struct obj_traverse_data *data)
|
|||
// already traversed
|
||||
return 0;
|
||||
}
|
||||
RB_OBJ_WRITTEN(data->rec_hash, Qundef, obj);
|
||||
|
||||
struct obj_traverse_callback_data d = {
|
||||
.stop = false,
|
||||
|
@ -1644,6 +1645,8 @@ obj_traverse_replace_i(VALUE obj, struct obj_traverse_replace_data *data)
|
|||
}
|
||||
else {
|
||||
st_insert(obj_traverse_replace_rec(data), (st_data_t)obj, replacement);
|
||||
RB_OBJ_WRITTEN(data->rec_hash, Qundef, obj);
|
||||
RB_OBJ_WRITTEN(data->rec_hash, Qundef, replacement);
|
||||
}
|
||||
|
||||
if (!data->move) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue