นักพัฒนาเครื่องยนต์ V8 JavaScript
ดีคอมไพเลอร์
ตัวอย่างเช่น ฟังก์ชัน C ดั้งเดิมที่คอมไพล์เป็น Wasm
โครงสร้าง typedef { ลอย x, y, z; }vec3;
จุดลอยตัว (const vec3 *a, const vec3 *b) {
กลับ a->x * b->x +
ก->ย * ข->ย +
a->z * b->z;
}
จะถูกแยกคอมไพล์โดยยูทิลิตี้ wasm-decompile เป็นภาษาเทียม
จุดฟังก์ชัน (a:{ a:float, b:float, c:float },
b:{ a:float, b:float, c:float }):ลอย {
ส่งคืน aa*ba+ab*bb+ac*bc
}
ขณะที่แปลงเป็นรูปแบบข้อความ ".wat" จะมีลักษณะดังนี้
(func $dot (ประเภท 0) (param i32 i32) (ผลลัพธ์ f32)
(f32.เพิ่ม
(f32.เพิ่ม
(f32.mul
(f32.โหลด
(local.get 0))
(f32.โหลด
(local.get 1)))
(f32.mul
(f32.โหลดออฟเซ็ต=4
(local.get 0))
(f32.โหลดออฟเซ็ต=4
(local.get 1))))
(f32.mul
(f32.โหลดออฟเซ็ต=8
(local.get 0))
(f32.โหลดออฟเซ็ต=8
(local.get 1))))))
ที่มา: opennet.ru