¿Qué es este estilo asm "x | 0 "algunos programadores de JavaScript están utilizando ahora?

He visto un código JavaScript de rendimiento crítico, como el deeste proyecto que hace un uso extensivo de operaciones OR bit a bit con 0. Ej:

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

Sé sobre el caso de uso de los números de piso con "| 0", pero ese no es el caso aquí, ya que estos siempre son int. Se parece un poco a asm.js, ¿es esto para decirle al motor js que estamos trabajando con enteros, permitiendo algunas optimizaciones? Si es así, ¿qué navegadores harán esas optimizaciones?

Cualquier sugerencia sobre cómo funciona esto sería apreciada.