Razvijalci motorja V8 JavaScript
Decompiler
Na primer, izvirna funkcija C, prevedena v wasm
typedef struct { float x, y, z; } vec3;
float dot(const vec3 *a, const vec3 *b) {
vrni a->x * b->x +
a->y * b->y +
a->z * b->z;
}
bo pripomoček wasm-decompile dekompiliral v psevdo-jezik
funkcija dot(a:{ a:float, b:float, c:float},
b:{ a:float, b:float, c:float }):float {
vrni aa * ba + ab * bb + ac * bc
}
medtem ko bi pretvorba v besedilno obliko ".wat" izgledala takole
(func $dot (tip 0) (param i32 i32) (rezultat f32)
(f32.dodaj
(f32.dodaj
(f32.mul
(f32.obremenitev
(local.get 0))
(f32.obremenitev
(local.get 1)))
(f32.mul
(f32.load offset=4
(local.get 0))
(f32.load offset=4
(local.get 1))))
(f32.mul
(f32.load offset=8
(local.get 0))
(f32.load offset=8
(local.get 1))))))
Vir: opennet.ru