GCC:n ohjausryhmä on hyväksynyt WebAssembly-taustajärjestelmän sisällyttämisen GCC:n koodikantaan. Tämä päätös koskee WebAssembly-taustajärjestelmän sisällyttämisen yleistä hyväksyntää GCC:hen. Tarkistusryhmä päättää erikseen, hyväksyykö se toteutuksen ja hyväksyykö se lähetetyn koodin.
Taustajärjestelmä mahdollistaa GCC:n kääntää C/C++-lähdekoodin WebAssembly-välivaiheen koodiksi. WebAssembly-muotoon kääntämistä voidaan käyttää JavaScript-projektien integrointiin, verkkoselaimessa suoritukseen, Node.js:n käyttöön tai itsenäisten monialustaisten sovellusten luomiseen WASM-ajonaikaisen ympäristön avulla. Taustajärjestelmä toimii koodigeneraattorina käyttäen GCC:n sisäänrakennettujen käyttöliittymien valmistelemaa välivaiheen koodia. Käyttöliittymät jäsentävät lähdekoodia tuetuilla ohjelmointikielillä ja tarjoavat kielikohtaisia optimointeja.
GCC:hen ehdotettu toteutus käyttää ulkoisina riippuvuuksina wabt-työkaluketjua, WebAssemblyn libc-toteutusta (wasi-libc) ja wasm-ld-linkeriä. Kaikkia suunniteltuja toimintoja ei ole toteutettu; esimerkiksi tuki debug-tiedoille, viitetyypeille, taulukoille, poikkeuksille, jäsentämiselle ja setjump/longjump-operaatioille puuttuu.
Lähde: opennet.ru
