Isazi sezibalo esingumFulentshi u-Fabrice Bellard, owasungula iphrojekthi ye-QEMU kanye ne-FFmpeg, futhi udale ifomula esheshayo yokubala inombolo engu-Pi futhi wathuthukisa ifomethi yesithombe.
Ukuqaliswa kwe-JavaScript
ibhentshi-v8 lingaphambi kwenjini
Ngokungeziwe kumtapo wolwazi wokushumeka injini ezinhlelweni zokusebenza, iphrojekthi iphinde inikeze umhumushi we-qjs, ongasetshenziswa ukusebenzisa ikhodi ye-JavaScript emugqeni womyalo. Ngaphezu kwalokho, i-qjsc compiler iyatholakala, ekwazi ukukhiqiza amafayela asebenzisekayo okukhiphayo afanele ukwenziwa okuzimele okungadingi ukuncika kwangaphandle.
Izici eziyinhloko:
- Ihlangene futhi kulula ukuyihlanganisa kwamanye amaphrojekthi. Ikhodi ihlanganisa kuphela amafayela C ambalwa angadingi ukuncika kwangaphandle ukuze ahlanganiswe. Uhlelo olulula oluhlanganisiwe luthatha cishe u-190 KB;
- Ukusebenza okuphezulu kakhulu nesikhathi sokuqalisa esifushane. Ukuphumelela kokuhlolwa kokuhambisana kwe-ECMAScript okuyizinkulungwane ezingama-56 kuthatha cishe imizuzwana eyi-100 uma kwenziwa kumongo owodwa we-PC yedeskithophu evamile. Ukuqalisa kwesikhathi sokusebenza kuthatha amasekhondi amancane angaphansi kwama-300;
- Cishe ukusekelwa okugcwele kokucaciswa kwe-ES2019 nokusekelwa okugcwele kweSithasiselo B, esichaza izingxenye zokusebenzisana nezinhlelo zokusebenza zewebhu eziyigugu;
- Ukuphasa okuphelele kwazo zonke izivivinyo ezivela ku-ECMAScript Test Suite;
- Ukusekelwa kokuhlanganisa ikhodi ye-Javascript kumafayela asebenzisekayo ngaphandle kokuncika kwangaphandle;
- Umqoqi kadoti ngokusekelwe ekubaleni kwereferensi ngaphandle kokuhlanza umjikelezo, okusivumele ukuba sifinyelele ukuziphatha okubikezelwe futhi sinciphise ukusetshenziswa kwememori;
- Isethi yezandiso zezibalo zezibalo ku-JavaScript;
- Igobolondo lokukhipha ikhodi kumodi yomugqa womyalo, esekela ukugqanyiswa kwekhodi yomongo;
- Ilabhulali ejwayelekile ehlangene enamaphepha phezu komtapo C.
Iphrojekthi futhi ithuthukisa imitapo yolwazi emithathu ehambisana no-C ebandakanyeka ku-QuickJS futhi elungele ukusetshenziswa komuntu ngamunye:
- libregexp - ukuqaliswa okusheshayo kwezinkulumo ezivamile, ezihambisana ngokugcwele nencazelo ye-Javascript ES 2019;
- libunicode - umtapo compact ukusebenza nge Unicode;
- libbf - Ukuqaliswa kokusebenza kwephoyinti elintantayo elinembayo ngokunganaki kanye nemisebenzi ye-transcendental enomjikelezo oqondile.
Source: opennet.ru