O que é esse estilo asm “x | 0 ”alguns programadores javascript estão usando agora?

Eu já vi alguns códigos javascript críticos de desempenho, como oeste projeto que faz uso extensivo de operações OR bit a bit com 0. Ex:

GameBoyAdvanceCPU.prototype.write8 = function (address, data) {
address = address | 0;
data = data | 0;
this.memory.memoryWrite8(address | 0, data | 0);

Eu sei sobre o caso de uso de números de piso com "| 0", mas esse não é o caso aqui, pois esses são sempre int. Parece um pouco com asm.js, é para informar ao mecanismo js que estamos trabalhando com números inteiros, permitindo algumas otimizações? Em caso afirmativo, quais navegadores farão essas otimizações?

Quaisquer indicadores de como isso funciona serão apropriados.

questionAnswers(4)

yourAnswerToTheQuestion