توسعه دهندگان موتور جاوا اسکریپت V8
دیکامپایلر
به عنوان مثال، تابع اصلی 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;
}
توسط ابزار wam-decompile به یک زبان شبه کامپایل می شود
تابع dot(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