V8 JavaScript එන්ජිමේ සංවර්ධකයින්
විසංයෝජනය
උදාහරණයක් ලෙස, මුල් C ශ්රිතය wasm හි සම්පාදනය කර ඇත
typedef struct {float x, y, z; } vec3;
පාවෙන තිත (const vec3 *a, const vec3 *b) {
a->x * b->x + ආපසු දෙන්න
a->y * b->y +
a->z * b->z;
}
Wasm-decompile උපයෝගීතාව මගින් ව්යාජ භාෂාවක් බවට විසංයෝජනය කරනු ලැබේ
ශ්රිත තිත (a:{ a:float, b:float, c:float },
b:{ a:float, b:float, c:float }):float {
ආපසු aa * ba + ab * bb + ac * bc
}
".wat" පෙළ ආකෘතියට පරිවර්තනය මේ ආකාරයෙන් පෙනෙනු ඇත
(func $dot (0 වර්ගය) (param i32 i32) (ප්රතිඵල f32)
(f32.add
(f32.add
(f32.mul
(f32.load
(local.get 0))
(f32.load
(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))))))
මූලාශ්රය: opennet.ru