Since the atomic instructions are allowed on nonshared memories, the gating could be removed from the instruction decoders without risking opening up for "shared memory" behavior (high-speed clocks etc). However, there's always the slight risk that executing memory fences on nonshared memories can be used to communicate in some fashion, and it is more consistent to disable these instructions altogether if the option disables shared memory. A little documentation goes a long way here. Should also check that JS does something reasonable with atomics if the switch is disabled, maybe JS wants a comment too.
Bug 1703287 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Since the atomic instructions are allowed on nonshared memories, the gating could be removed from the instruction decoders without risking opening up for "shared memory" behavior (high-resolution clocks etc). However, there's always the slight risk that executing memory fences on nonshared memories can be used to communicate in some fashion, and it is more consistent to disable these instructions altogether if the option disables shared memory. A little documentation goes a long way here. Should also check that JS does something reasonable with atomics if the switch is disabled, maybe JS wants a comment too.