[compiler] Concurrent JSObjectRef::GetOwnConstantElement
This CL implements the above in a concurrent setting without relying on serialization (except existing serialization to read a consistent JSObject state, which should be addressed in future work). There are three main cases in which GetOwnConstantElement can succeed: - Frozen elements are always constant. The backing store is immutable after initialization and can be accessed through relaxed reads. - String wrapper elements are always constant. The JSPrimitiveWrapper is immutable after initialization, and internalized Strings are protected by a mutex (other string kinds are currently not handled). - Dictionary elements may be constant. Since this case is not particularly important for the optimization, we leave it unimplemented for now. Bug: v8:7790 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_no_cm_rel_ng Change-Id: If2fbced50218ebd3930da8157cd2ae5eb83a8e02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717308Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73442}
Showing
Please
register
or
sign in
to comment