Odbor koji upravlja razvojem GCC prevoditelja (GCC Steering Committee) odobrio je uključivanje WebAssembly backend-a u GCC kodnu bazu. Odluka se odnosi na opće odobrenje isporuke WebAssembly backend-a unutar GCC-a. Pitanja odobravanja implementacije i prihvaćanja poslanog koda dodatno će razmotriti tim zadužen za reviziju.
Backend će omogućiti korištenje GCC-a za prevođenje izvornog koda na C/C++ jezicima u WebAssembly srednji kod. Prevođenje u WebAssembly može se koristiti za integraciju s JavaScript projektima, pokretanje u web pregledniku, upotrebu u Node.js ili izradu neovisnih višekratnih aplikacija koje se pokreću pomoću WASM runtimea. Backend djeluje kao generator koda koji koristi srednji kod pripremljen od strane standardnih frontendova GCC-a, koji analiziraju izvorni kod na podržanim programskim jezicima i nude specifične optimizacije.
Predložena implementacija za uključivanje u GCC koristi kao vanjske ovisnosti alate wabt, libc implementaciju za WebAssembly (wasi-libc) i linker wasm-ld. Nisu sve planirane funkcionalnosti implementirane, na primjer, podrška za informacije za debagiranje, referentne tipove, tablice, iznimke, strukturiranje i operacije setjump/longjump nisu prisutne.
Izvor: opennet.ru
