{"action":"created","issue":{"url":"https://api.github.com/repos/lars-t-hansen/ecmascript_sharedmem/issues/40","labels_url":"https://api.github.com/repos/lars-t-hansen/ecmascript_sharedmem/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/lars-t-hansen/ecmascript_sharedmem/issues/40/comments","events_url":"https://api.github.com/repos/lars-t-hansen/ecmascript_sharedmem/issues/40/events","html_url":"https://github.com/lars-t-hansen/ecmascript_sharedmem/issues/40","id":125350982,"number":40,"title":"This repo wants an FAQ / some usage advice","user":{"login":"lars-t-hansen","id":4823190,"avatar_url":"https://avatars.githubusercontent.com/u/4823190?v=3","gravatar_id":"","url":"https://api.github.com/users/lars-t-hansen","html_url":"https://github.com/lars-t-hansen","followers_url":"https://api.github.com/users/lars-t-hansen/followers","following_url":"https://api.github.com/users/lars-t-hansen/following{/other_user}","gists_url":"https://api.github.com/users/lars-t-hansen/gists{/gist_id}","starred_url":"https://api.github.com/users/lars-t-hansen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lars-t-hansen/subscriptions","organizations_url":"https://api.github.com/users/lars-t-hansen/orgs","repos_url":"https://api.github.com/users/lars-t-hansen/repos","events_url":"https://api.github.com/users/lars-t-hansen/events{/privacy}","received_events_url":"https://api.github.com/users/lars-t-hansen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2016-01-07T08:47:53Z","updated_at":"2016-01-08T01:09:14Z","closed_at":null,"body":"For example: Over time I've received a couple of bug reports from people who have started to use this facility and who are surprised to find that racy programs don't work - usually this is a flag being communicated racily through memory, with the reader looping until the flag change is noted.  For better or worse, IonMonkey hoists unsynchronized TA reads out of loops while Chrankshaft appears not to, leading to confusion when the racy program happens to work in Chrome but not in Firefox.\r\n"},"comment":{"url":"https://api.github.com/repos/lars-t-hansen/ecmascript_sharedmem/issues/comments/169856678","html_url":"https://github.com/lars-t-hansen/ecmascript_sharedmem/issues/40#issuecomment-169856678","issue_url":"https://api.github.com/repos/lars-t-hansen/ecmascript_sharedmem/issues/40","id":169856678,"user":{"login":"jfbastien","id":298127,"avatar_url":"https://avatars.githubusercontent.com/u/298127?v=3","gravatar_id":"","url":"https://api.github.com/users/jfbastien","html_url":"https://github.com/jfbastien","followers_url":"https://api.github.com/users/jfbastien/followers","following_url":"https://api.github.com/users/jfbastien/following{/other_user}","gists_url":"https://api.github.com/users/jfbastien/gists{/gist_id}","starred_url":"https://api.github.com/users/jfbastien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfbastien/subscriptions","organizations_url":"https://api.github.com/users/jfbastien/orgs","repos_url":"https://api.github.com/users/jfbastien/repos","events_url":"https://api.github.com/users/jfbastien/events{/privacy}","received_events_url":"https://api.github.com/users/jfbastien/received_events","type":"User","site_admin":false},"created_at":"2016-01-08T01:09:14Z","updated_at":"2016-01-08T01:09:14Z","body":"> If one is using sharedarraybuffers, then wouldn't the results be\nsubmitted at all r/w at some indefinite point in time to the other threads,\neven if unsychronized? It's not a normal typed array, it's a typed array\nspecified to be shared among workers. I get that the timeframe is\nundefined, but it shouldn't be infinite.\n\nThat's not the memory model offered by SAB because doing so would required\nfences before every read if we want to enforce ordering on weak memory\nmodel systems.\n\nThe SAB model is similar to the C++ one. Right now it only support seq_cst,\nbut the intent (or mine anyways) is to at least support acquire and\nrelease.\n"}}