-
Dominik Inführ authored
This is a reland of 6e621f84 Original change's description: > [heap] String::MakeThin can get away without NotifyObjectLayoutChange > > String::MakeThin doesn't need to invoke NotifyObjectLayoutChange because > ThinString will only introduce tagged values and hence will not > overwrite recorded slots with untagged values. > > Bug: v8:10315 > Change-Id: Iaff9c06cef763462eb57bf3debc5183ae8db6fa0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2448792 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70321} The reland fixes the failures by first updating actual and only then updating the map with a release store. This ensures that concurrent markers will observe the pointer when visiting a ThinString and not some stale data from before String::MakeThin. Bug: v8:10315 Change-Id: I42db7ba9f44a48c920c997bf1258c561f3dd9bcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2450066 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70346}
255db1d2