Desarrolladores del motor JavaScript V8
Descompilador
Por ejemplo, la función C original compilada en wasm
estructura typedef { flotador x, y, z; }vec3;
punto flotante (const vec3 *a, const vec3 *b) {
devolver a->x * b->x +
a->y * b->y +
a->z * b->z;
}
será descompilado por la utilidad wasm-decompile en un pseudolenguaje
función punto(a:{ a:flotante, b:flotante, c:flotante },
b:{ a:flotante, b:flotante, c:flotante }):flotante {
devolver aa * ba + ab * bb + ac * bc
}
mientras que la conversión al formato de texto ".wat" se vería así
(func $punto (tipo 0) (param i32 i32) (resultado f32)
(f32.añadir
(f32.añadir
(f32.mul
(f32.cargar
(local.obtener 0))
(f32.cargar
(local.obtener 1)))
(f32.mul
(f32.compensación de carga = 4
(local.obtener 0))
(f32.compensación de carga = 4
(local.obtener 1))))
(f32.mul
(f32.compensación de carga = 8
(local.obtener 0))
(f32.compensación de carga = 8
(local.obtener 1))))))
Fuente: opennet.ru