JSCell::didBecomePrototype is racy
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Oct 2017 02:48:39 +0000 (02:48 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Oct 2017 02:48:39 +0000 (02:48 +0000)
commit069e91763a75b30f4ee7dcd95680ec0f2840769c
tree470adb2eb00bf1ebb6984bcef58d46ad2074edb9
parentc447580890fb6c25fdca636e01bb9d8f53861a3d
JSCell::didBecomePrototype is racy
https://bugs.webkit.org/show_bug.cgi?id=178110

Reviewed by Saam Barati.

The indexing type can be modified by any thread using CAS. So, we need to use atomics when
modifying it. We don't need to use atomics when reading it though (since it's just one field).

* runtime/JSCellInlines.h:
(JSC::JSCell::didBecomePrototype):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/JSCellInlines.h