5 ms·
Side-effects strike again! Not only does the hardware have observable side-effects that are not cleaned-up, but our browser languages allow pervasive side-effec
by willtim 9y ago
Side-effects strike again! Not only does the hardware have observable side-effects that are not cleaned-up, but our browser languages allow pervasive side-effects which are used for exploits (e.g. precision timing).
- hn_throwaway_99 9y agoNote one of the mitigations for this is that Mozilla (and I'm guessing other browsers) is reducing the resolution of performance.now()
- SonOfLilit 9y agoFrom the Spectre paper: Chrome reduced resolution of performance.now(), so they set up a webworker with a tight loop that increments a shared variable.
- devit 9y agoThis is why Mozilla also removed support for shared variables (i.e. SharedArrayBuffer).
- willtim 9y agoYes and creating one or more "web workers" (threads) is a significant side-effect. Javascript to me, looks more like a systems-programming language (imperative with threads and sockets) than something trusted for interactive web sites. The web is a huge mess and today we learn that hardware is too.