Datblygwyr yr injan JavaScript V8
Decompiler
Er enghraifft, y swyddogaeth C gwreiddiol a luniwyd yn wasm
typedef struct { arnofio x, y, z; } vec3;
dot arnofio (const vec3 *a, const vec3 *b) {
dychwelyd a->x * b->x +
a->y * b->y +
a->z * b->z;
}
yn cael ei ddadgrynhoi gan y cyfleustodau wasm-decompile i mewn i ffug-iaith
dot ffwythiant (a: { a: arnofio, b: arnofio, c: arnofio },
b:{ a: arnofio, b: arnofio, c: arnofio }): arnofio {
dychwelyd aa * ba + ab * bb + ac * bc
}
tra byddai'r trosi i fformat testun ".wat" yn edrych fel hyn
(func $ dot (math 0) (param i32 i32) (canlyniad f32)
(f32.add
(f32.add
(f32.mul
(f32. llwyth
(lleol.get 0))
(f32. llwyth
(lleol.cael 1)))
(f32.mul
(f32.load offset=4
(lleol.get 0))
(f32.load offset=4
(lleol.cael 1))))
(f32.mul
(f32.load offset=8
(lleol.get 0))
(f32.load offset=8
(lleol.cael 1))))))
Ffynhonnell: opennet.ru