title: What are the best practices for optimising JavaScript for (potential) future browser assembly-language optimisations?
body: <p>As I understand it, the V8 engine in Chrome has been using assembly level optimisations for some time, and now the (at the time of writing) upcoming release of OdinMonkey on Firefox indicates that extensive low-level optimisations are being written into browsers for JavaScript.</p>
  
  <p>I hope this is within SO's etiquette, but my question is three fold...</p>
  
  <ol>
  <li><p>(a specific question that I suppose may be edited out) — With regards to Firefox's OdinMonkey/asm.js optimisation — is this something "We" have to code for specifically? Or is it similar to the V8 engine in that it all happens 'behind the scenes'? The sources I have seen either on this specific topic seem to be contradictory.</p></li>
  <li><p>More generally (and perhaps a more pertinent question) are there any best practices with regards to coding JavaScript for better 'ahead-of-time'/assembly/etc. optimisation? For example, I have read that using bitwise shifts to round numbers  MAY improve optimisation, but, depending on the browser it may cause little to no gain. </p></li>
  <li><p>Rolling this into a third question to prevent confusion — Finally, are client-side assembly level optimisations fruitless? Should 'We' as coders just try the best we can to produce efficient JavaScript code, and let the optimisation procedures do their best?</p></li>
  </ol>