{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T02:10:07Z","timestamp":1775873407425,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":54,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,11]],"date-time":"2020-06-11T00:00:00Z","timestamp":1591833600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100010663","name":"H2020 European Research Council","doi-asserted-by":"publisher","award":["789108"],"award-info":[{"award-number":["789108"]}],"id":[{"id":"10.13039\/100010663","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002261","name":"Russian Foundation for Basic Research","doi-asserted-by":"publisher","award":["18-01-00380"],"award-info":[{"award-number":["18-01-00380"]}],"id":[{"id":"10.13039\/501100002261","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"publisher","award":["EP\/N509620\/1, EP\/K008528\/1"],"award-info":[{"award-number":["EP\/N509620\/1, EP\/K008528\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,11]]},"DOI":"10.1145\/3385412.3385973","type":"proceedings-article","created":{"date-parts":[[2020,6,7]],"date-time":"2020-06-07T01:40:10Z","timestamp":1591494010000},"page":"346-361","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["Repairing and mechanising the JavaScript relaxed memory model"],"prefix":"10.1145","author":[{"given":"Conrad","family":"Watt","sequence":"first","affiliation":[{"name":"University of Cambridge, UK"}]},{"given":"Christopher","family":"Pulte","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}]},{"given":"Anton","family":"Podkopaev","sequence":"additional","affiliation":[{"name":"National Research University Higher School of Economics, Russia \/ MPI-SWS, Germany"}]},{"given":"Guillaume","family":"Barbier","sequence":"additional","affiliation":[{"name":"ENS Rennes, France"}]},{"given":"Stephen","family":"Dolan","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}]},{"given":"Shaked","family":"Flur","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}]},{"given":"Jean","family":"Pichon-Pharabod","sequence":"additional","affiliation":[{"name":"University of Cambridge, UK"}]},{"given":"Shu-yu","family":"Guo","sequence":"additional","affiliation":[{"name":"Bloomberg, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,6,11]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2003.1199067"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/325164.325100"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1481839.1481842"},{"key":"e_1_3_2_1_4_1","unstructured":"Jade Alglave and Luc Maranget. 2017. A diy \u201cSeven\u201d tutorial. http: \/\/diy.inria.fr\/doc\/index.html."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-19835-9_5"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2627752"},{"key":"e_1_3_2_1_7_1","volume-title":"The Problem of Programming Language Concurrency Semantics","author":"Batty Mark","unstructured":"Mark Batty, Kayvan Memarian, Kyndylan Nienhuis, Jean Pichon-Pharabod, and Peter Sewell. 2015. The Problem of Programming Language Concurrency Semantics. In Programming Languages and Systems, Jan Vitek (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 283\u2013307."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103717"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926394"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2535838.2535876"},{"key":"e_1_3_2_1_11_1","unstructured":"A. Boduch. 2015. JavaScript Concurrency. Packt Publishing. https: \/\/books.google.co.uk\/books?id=_fHOjgEACAAJ"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375591"},{"key":"e_1_3_2_1_13_1","unstructured":"Martyn Capewell. 2017. [arm64] Use acquire\/release memory accesses for atomics. https:\/\/codereview.chromium.org\/2760963002."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","unstructured":"Nathan Chong and Samin Ishtiaq. 2008. Reasoning about the ARM weakly consistent memory model. In Proceedings of the 2008 ACM SIGPLAN workshop on Memory Systems Performance and Correctness: held in conjunction with the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS \u201908) Seattle Washington USA March 2 2008. 16\u201319. 10.1145\/1353522.1353528","DOI":"10.1145\/1353522.1353528"},{"key":"e_1_3_2_1_15_1","unstructured":"Chromium. 2019. Mitigating Side-Channel Attacks. https:\/\/www. chromium.org\/Home\/chromium-security\/ssca"},{"key":"e_1_3_2_1_16_1","volume-title":"Technical Report RC18638: A formal specification of the PowerPC shared memory architecture. Technical Report. IBM.","author":"Corella F.","year":"1993","unstructured":"F. Corella, J. M. Stone, and C. M. Barton. 1993. Technical Report RC18638: A formal specification of the PowerPC shared memory architecture. Technical Report. IBM."},{"key":"e_1_3_2_1_17_1","unstructured":"Will Deacon. 2016. The ARMv8 Application Level Memory Model. https:\/\/github.com\/herd\/herdtools7\/blob\/master\/herd\/libdir\/ aarch64.cat (accessed 2019-07-01)."},{"key":"e_1_3_2_1_18_1","unstructured":"ECMA International. 2017. ECMAScript 2017 Language Specification - SharedArrayBuffer Objects. https:\/\/www.ecma-international.org\/ ecma-262\/8.0\/#sec-sharedarraybuffer-objects"},{"key":"e_1_3_2_1_19_1","unstructured":"ECMA International. 2019. ECMAScript 2019 Language Specification - Memory Model. https:\/\/www.ecma-international.org\/ecma-262\/10.0\/ index.html#sec-memory-model"},{"key":"e_1_3_2_1_20_1","volume-title":"Spec: JavaScript Shared Memory, Atomics, and Locks. https:\/\/github.com\/tc39\/ecmascript_sharedmem\/blob\/master\/ historical\/Spec_JavaScriptSharedMemoryAtomicsandLocks.pdf.","author":"ECMA","year":"2015","unstructured":"ECMA TC39. 2015. Spec: JavaScript Shared Memory, Atomics, and Locks. https:\/\/github.com\/tc39\/ecmascript_sharedmem\/blob\/master\/ historical\/Spec_JavaScriptSharedMemoryAtomicsandLocks.pdf."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837615"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009839"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(92)90052-O"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830775"},{"key":"e_1_3_2_1_25_1","unstructured":"Th\u00e9otime Grohens and Benedikt Meurer. 2018. Improving DataView performance in V8. https:\/\/v8.dev\/blog\/dataview"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14107-2_7"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","unstructured":"Springer 126\u2013150. 10.1007\/978-3-642-14107-2_7","DOI":"10.1007\/978-3-642-14107-2_7"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062363"},{"key":"e_1_3_2_1_29_1","unstructured":"David Herman Luke Wagner and Alon Zakai. 2014. asm.js. http: \/\/asmjs.org\/spec\/latest"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/505145.505149"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062352"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1979.1675439"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31424-7_36"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040336"},{"key":"e_1_3_2_1_35_1","unstructured":"Luc Maranget. 2019. A few specific tests. http:\/\/gallium.inria.fr\/ ~maranget\/cats7\/model-aarch64\/tests.html#doc"},{"key":"e_1_3_2_1_36_1","unstructured":"Luc Maranget Susmit Sarkar and Peter Sewell. 2012. A Tutorial Introduction to the ARM and POWER Relaxed Memory Models. http: \/\/www.cl.cam.ac.uk\/~pes20\/ppc-supplemental\/test7.pdf"},{"key":"e_1_3_2_1_37_1","volume-title":"EMME: A Formal Tool for ECMAScript Memory Model Evaluation. In Tools and Algorithms for the Construction and Analysis of Systems","author":"Mattarei Cristian","year":"2018","unstructured":"Cristian Mattarei, Clark Barrett, Shu-yu Guo, Bradley Nelson, and Ben Smith. 2018. EMME: A Formal Tool for ECMAScript Memory Model Evaluation. In Tools and Algorithms for the Construction and Analysis of Systems, Dirk Beyer and Marieke Huisman (Eds.). Springer International Publishing, Cham, 55\u201371."},{"key":"e_1_3_2_1_38_1","volume-title":"Reconciling Event Structures with Modern Multiprocessors. (November","author":"Moiseenko Evgenii","year":"2019","unstructured":"Evgenii Moiseenko, Anton Podkopaev, Ori Lahav, Orestis Melkonian, and Viktor Vafeiadis. 2019. Reconciling Event Structures with Modern Multiprocessors. (November 2019). https:\/\/arxiv.org\/abs\/1911.06567"},{"key":"e_1_3_2_1_39_1","unstructured":"Mozilla. 2019. Concurrency model and Event Loop. https:\/\/developer. mozilla.org\/en-US\/docs\/Web\/JavaScript\/EventLoop."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2983997"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2737991"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290382"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158107"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254102"},{"key":"e_1_3_2_1_45_1","unstructured":"2254102"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993520"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.4064\/fm-16-1-386-389"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676726.2676995"},{"key":"e_1_3_2_1_49_1","volume-title":"RIDL: Rogue In-flight Data Load. In 40th IEEE Symposium on Security and Privacy, S&amp;P","author":"van Schaik Stephan","year":"2019","unstructured":"Stephan van Schaik, Alyssa Milburn, Sebastian \u00c3\u0170sterlund, Pietro Frigo, Giorgi Maisuradze, Kaveh Razavi, Herbert Bos, and Cristiano Giuffrida. 2019. RIDL: Rogue In-flight Data Load. In 40th IEEE Symposium on Security and Privacy, S&amp;P 2019."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2487241.2487248"},{"key":"e_1_3_2_1_51_1","unstructured":"Conrad Watt. 2019. (memory model wait\/notify) Atomics.wait\/notify non-SC behaviour what is expected? https:\/\/github.com\/tc39\/ ecma262\/issues\/1680"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"crossref","unstructured":"Conrad Watt Christopher Pulte Anton Podkopaev Guillaume Barbier Stephen Dolan Shaked Flur Jean Pichon-Pharabod and Shu yu Guo. 2020. Supplemental Materials. https:\/\/github.com\/conrad-watt\/ repairing-and-mechanising-the-javascript-relaxed-memory-model","DOI":"10.1145\/3385412.3385973"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360559"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009838"}],"event":{"name":"PLDI '20: 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"London UK","acronym":"PLDI '20","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385973","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3385412.3385973","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:14Z","timestamp":1750200074000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385973"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,11]]},"references-count":54,"alternative-id":["10.1145\/3385412.3385973","10.1145\/3385412"],"URL":"https:\/\/doi.org\/10.1145\/3385412.3385973","relation":{},"subject":[],"published":{"date-parts":[[2020,6,11]]},"assertion":[{"value":"2020-06-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}