Comitetul care gestionează dezvoltarea setului de compilatoare GCC (GCC Steering Committee) a aprobat includerea în baza de cod GCC a unui backend pentru WebAssembly. Decizia se referă la aprobarea generală a livrării backend-ului WebAssembly ca parte a GCC. Întrebările legate de aprobarea implementării și acceptarea codului transmis vor fi rezolvate separat de echipa responsabilă de recenzare.
Backend-ul va permite utilizarea GCC pentru compilarea codului sursă în limbajele C/C++ în cod intermediar WebAssembly. Compilarea în WebAssembly poate fi utilizată pentru integrarea cu proiecte JavaScript, pentru rularea în browserul web, utilizarea în Node.js sau crearea unor aplicații izolate multi-platformă, care pot fi rulate cu ajutorul runtime-ului WASM. Backend-ul acționează ca un generator de cod care utilizează cod intermediar generat de front-endurile standard GCC, care analizează codul sursă în limbajele de programare suportate și oferă optimizări specifice pentru acestea.
Implementarea propusă pentru includere în GCC utilizează ca dependențe externe instrumentul wabt, implementarea libc pentru WebAssembly (wasi-libc) și linkerul wasm-ld. Nu toată funcționalitatea planificată este implementată, de exemplu, lipsește suportul pentru informațiile de depanare, tipurile de referință, tabelele, excepțiile, structurarea și operațiile setjump/longjump.
Sursa: opennet.ro
