Commit d0b5b7d1 authored by Dominik Inführ's avatar Dominik Inführ Committed by Commit Bot

Initialize bitfield in Map with relaxed store

Need to use relaxed store for initializing bit_field. The concurrent marker accesses the has_prototype_slot bit in Map::bit_field to calculate header size.

Bug: v8:10315
Change-Id: I1eebd4a6f42b9263de7e424957b32884f7b910ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2193712
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67710}
parent 7e05ebe2
......@@ -1437,7 +1437,7 @@ Map Factory::InitializeMap(Map map, InstanceType type, int instance_size,
// Must be called only after |instance_type|, |instance_size| and
// |layout_descriptor| are set.
map.set_visitor_id(Map::GetVisitorId(map));
map.set_bit_field(0);
map.set_relaxed_bit_field(0);
map.set_bit_field2(Map::Bits2::NewTargetIsBaseBit::encode(true));
int bit_field3 =
Map::Bits3::EnumLengthBits::encode(kInvalidEnumCacheSentinel) |
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment