Watengenezaji wa injini ya JavaScript ya V8
Decompiler
Kwa mfano, kitendakazi asilia cha C kilichokusanywa katika wasm
muundo wa typedef { kuelea x, y, z; } vec3;
kuelea nukta (const vec3 *a, const vec3 *b) {
rudisha a->x * b->x +
a->y * b->y +
a->z * b->z;
}
itatenganishwa na matumizi ya wasm-decompile kuwa lugha ya uwongo
nukta ya utendaji (a:{ a:float, b:float, c:float },
b:{a:elea, b:elea, c:elea }):elea {
rudisha a.a * b.a + a.b * b.b + a.c * b.c
}
huku ubadilishaji hadi umbizo la maandishi ".wat" lingeonekana hivi
(fanya kazi $dot (aina 0) (param i32 i32) (matokeo f32)
(f32.ongeza
(f32.ongeza
(f32.mul
(f32.mzigo
(ya ndani. pata 0))
(f32.mzigo
(ya ndani.pata 1)))
(f32.mul
(f32.load offset=4
(ya ndani. pata 0))
(f32.load offset=4
(ya ndani.pata 1))))
(f32.mul
(f32.load offset=8
(ya ndani. pata 0))
(f32.load offset=8
(ya ndani. pata 1))))))
Chanzo: opennet.ru