ΠΠΎΠΌΠΈΡΠ΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ GCC (GCC Steering Committee), ΠΎΠ΄ΠΎΠ±ΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° WebAssembly Π² ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° GCC. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΠΎΠ±ΡΠΎΡΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° WebAssembly Π² ΡΡΡΡΠ°Π²Π° Π½Π° GCC. ΠΡΠΏΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠ΅ΡΠ°Π²Π°Π½ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΎΡ Π΅ΠΊΠΈΠΏΠ°, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΡΠ°.
ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° GCC Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π½Π° Π΅Π·ΠΈΡΠΈ C/C++ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡ ΠΊΠΎΠ΄ WebAssembly. ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Π² WebAssembly ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° JavaScript, ΠΏΡΡΠΊΠ°Π½Π΅ Π² ΡΠ΅Π± Π±ΡΠ°ΡΠ·Π΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Node.js ΠΈΠ»ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΡΡΠ΅Π· WASM runtime. ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΊΠ°ΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡ ΠΊΠΎΠ΄, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ΠΎΠ²Π΅ Π½Π° GCC, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π² GCC ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ wabt, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° libc Π·Π° WebAssembly (wasi-libc) ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° wasm-ld ΠΊΠ°ΡΠΎ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅ Π²ΡΡΠΊΠ° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΈΠΏΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΡΠ»Π°Π΄ΡΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ setjump/longjump.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
