-
Patrick Thier authored
Instead of transitioning shared strings to ThinString on internalization, use a forwarding table to the internalized string and store the index into the forwarding table in the string's hash field. This way we don't need to handle concurrent string transitions that modify the underlying string data. During stop-the-world GC, live strings in the forwarding table are migrated to regular ThinStrings. Bug: v8:12007 Change-Id: I6c6f3d41c6f644e0aaeafbf25ecec5ce0aa0d2d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3536647Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#79801}
8ba60b7a