แ แแแแแแแแ แฌแแแก แฌแแ Fabrice Bellard
- แกแแฏแแ แ แฌแงแแ แ
- แแแ แแแแก แแ แแแแแ แแก แแแ แแจแ แแฃแจแแแแแก แฃแแแ แ
- แแแ แฏแแแแแก แ แแแแแจแ แแฃแจแแแแแก แฃแแแ แ
- แแฎแแ แแแญแแ แ แแแแ แ แแแแแแแแแ แ แแแแ แช แแแกแแแแซแแแ, แแกแแแ แกแขแฃแแแ แ แแ แฅแแขแแฅแขแฃแ แแกแแแแก
แแแกแแแ แแฃแแฅแขแแแ แแแแแแจแแ แแแแ, แแฎแแ แจแแแแซแแแ แแแฎแกแแ, แ แแ แ แแแแฃแ แแ, TCI แ แแแแแจแ, แแแขแแ แแ แแขแแชแแ แฎแแแแ แแ แ แแแแแ แกแขแฃแแ แแก แแแแฅแแแแก แแแกแขแ แฃแฅแชแแแแแ, แแ แแแแ แแแแแแ แแแฆแแแฃแแ แแแแขแแแแแ, แแแแ แแ แแก แแ แชแแแแก แแ แกแก - แแจแแแแแแก แแ แแแจแแแแแก แแแแแแ. Qemu แแฎแแ แแ แฅแแขแแฅแขแฃแ แแแ, แแฃ แแแแแแแ แแแแ, แกแแแแแ แแกแแ C แแแแแแแแ แ - แแแแแก แแแแแ แแขแแ แแก แแแฌแแ แ แจแแแซแแแแ แแแแแแแแก.
แแฎแแ แแ, แฉแแแก แแแแแกแฃแคแแ แแ แแก Qemu-แก แฌแงแแ แแก แแแแแก แแ แฌแแแแแ แแแฃแฆแแแแแ แฉแฎแฃแแแก แจแแแแแ, แแแแแฉแแแ แกแแแฃแจแแ แแ แแขแแขแแแ, แ แแแแแจแแช แฃแแแ แจแแแแซแแแแ แแแฃแจแแแ, แแแแแแแแแ, Kolibri OS.
แ แ แแ แแก Emscripten
แแฆแแกแแฆแแแแแ แแแแ แ แจแแแแแแแแแ แแแแแฉแแแ, แ แแแแแแ แกแแแแแแ แจแแแแแแ JavaScript. แแแแแแ แแ, แ แแแแ แแชแแ Type Script, แแแแแแแแ แแแแแ แแแแแ แแฎแฃแแ แแงแ, แ แแ แงแแคแแแแงแ แกแแฃแแแแแกแ แกแแจแฃแแแแแ แแแขแแ แแแขแแกแแแแก แฌแแ แแกแแแแก. แแแแแแ แแฃแแแ, Emscripten แแ แแก แแแ, แ แแ แแแฆแแ แแ แกแแแฃแแ C แแ C++ แแแแ แแ แจแแแแแแแแ แแแ แแ แแฃแแแ แแ แฌแแกแแแแแฎแแ แคแแ แแแจแ. แฉแแ แแฃแแแ
แแแ แแแแ แกแชแแแแ
แแแแแแแ แ แแ แแแฅแแแ, แแ แแ แแแ แแแ แแแแ แแแแแแแแ, แแแแช แแแแแแแแแ Qemu-แก JavaScript-แจแ แแแ แขแแ แแแแก แแแแ. ReactOS แคแแ แฃแแแ แแแแกแแ แแแแฎแแ, แจแแกแแซแแแแแแ แแงแ แแฃ แแ แ แแก Emscripten-แแก แแแแแงแแแแแแ. แแแ แแช แแแแ แชแแแแ แญแแ แแแ, แ แแ Fabrice Bellard-แแ แแก แแแ แแแแ แแแแแแแ, แแแแ แแ แฉแแแ แแกแแฃแแ แแแแแ jslinux-แแ, แ แแแแแแช, แ แแแแแแแแแช แแแชแ, แแ แแก แแฎแแแแ JS-แจแ แกแแแแแ แแกแ แจแแกแ แฃแแแแแก แฎแแแแ แแแฆแฌแแแแก แแชแแแแแแ แแ แแแแฌแแ แ แแฃแแแแแ. แแแแแแแแแแแ แแแแฌแแ แ Virtual x86 - แแแกแแแแก แแแแแฅแแแงแแแ แแแฃแแแแแ แ แฌแงแแ แแแแ แแ, แ แแแแ แช แแแฅแแ, แแแฃแแแชแแแก แฃแคแ แ แแแแแ โแ แแแแแแแโ แจแแกแแซแแแแแแ แแแฎแแแ SeaBIOS-แแก แแแแแงแแแแแ แ แแแแ แช firmware. แแแ แแ แแแแกแ, แแงแ แแแแแแฃแ แแ แแ แแชแแแแแแ Qemu-แก แแแ แขแแ แแแ Emscripten-แแก แแแแแงแแแแแแ - แแ แจแแแแชแแแ แแแแก แแแแแแแแ
แแกแ แ แแ, แ แแแแ แช แฉแแแก, แแฅ แแ แแก แฌแงแแ แแแแ, แแฅ แแ แแก Emscripten - แแแฆแแ แแ แจแแแแแแแแ. แแแแ แแ แแกแแแ แแ แแก แแแแแแแแแแแแ, แ แแแแแแแแช แแแแฃแ แแแแแแแแแแฃแแ แแ แแแแแแแแแแแแ, แ แแแแแแแแช แแก แแแแแแแแแแแแแ แแแแแแแแแแฃแแ แแ แ.แจ., แแ แแ แ-แแ แแ แแแแแแแแ
แแแแแแแ แแงแ แแแแ แฃแแ แแแแ แแแแแฌแแ แ libffi-แก แฉแแแแชแแแแแ JS-แแ แแ แแแแแขแแ แแแแแ แกแขแแแแแ แขแฃแแ แขแแกแขแแแ, แแแแ แแ แแแแแก แแแแแแฃแแ แแแงแแแ, แ แแแแ แจแแแแฅแแแ แฉแแแ แกแแแแฃแ แแก แคแแแแแแ แแกแ, แ แแ แแกแแแ แแฃแจแแแแแแแ แแ แกแแแฃแ แแแแแแ - แ แ แแฅแแ? แ แแแแ แช แแแแแแแ, "แแแแแแแแแแ แแกแ แ แแฃแแแ "แฉแแแ แแกแ แกแฃแแแแแแ แแแ แ?" แแ แแแแแฌแแ libffi-แแก แกแฎแแ แแ แฅแแขแแฅแขแฃแ แแแ แแแแแขแแแ, แแกแ แแแฅแแแ - แกแแแแแแแแ แแ, Emscripten-แก แแฅแแก แแ แแแ แแแแ แ inline แแกแแแแแแแกแแแแก (แฏแแแแกแแ แแแขแจแ, แแแแฎ - แแแ แแ, แ แแแแ แแช แแ แฃแแแ แแงแแก แแ แฅแแขแแฅแขแฃแ แ, แแกแ แ แแ, แแกแแแแแแ แ) แแ แคแ แแแแก แแ แแก แแแแแ แแ แแแฃแแ แแแแแก แแแจแแแแแก แจแแกแแซแแแแแแแ. แแแแแแแ, แแแแขแคแแ แแแแ แแแแแแแแแแฃแ libffi แคแ แแแแแแขแแแแแ แแแ แแแแฃแแ แแ แแแก แแแแแแแแแแแจแ แจแแฎแแแแก แจแแแแแ, แแแแแฆแ แแแแแแแแ แแแฃแแ แแแแ แแ แแแแฃแจแแ แแก แแแ แแแ แขแแกแขแแ, แ แแแแแแช แจแแแฎแแแ. แฉแแแแ แแแกแแแแแ แแ, แขแแกแขแ แฌแแ แแแขแแแแ แแแกแ แฃแแแ. แฉแแแ แแแแแแแฃแ แแแแ แแแแแแแแฃแแ - แฎแฃแแ แแแ แแ แแ แแก, แแก แแฃแจแแแแแ แแแ แแแแแแ แแแจแแแแแแแ - แแ, แฏแแ แแแแแ แแ แแแแฃแฏแแ แ แแแแแแแก, แฌแแแแแ แแกแแ แแแแแแแฎแ แแแฆแแแฃแแ แแแแ, แ แแแ แจแแแแคแแกแแแแแ, แกแแ แฃแแแ แแแแแฎแแ แ แจแแแแแแ. แแ, แแแแ แแ แแแแแแแแ - แแ แแแแแ แแ, แ แแช แฉแแแก แคแฃแแฅแชแแแก แแแแแแแ, แแงแ ffi_call
- แแขแงแแแแแแแ แฌแแ แแแขแแแฃแแ แแแ แ. แแแแแแ แแแ แ แแ แงแแคแแแ. แแกแ แ แแ, แแ แแแแแแแแแ แฉแแแ แแแ แแแแ แแแแฎแแแแแแแแ, แ แแแแแแแช แแแแแแกแฌแแ แ แจแแชแแแแ แขแแกแขแจแ, แ แแแแแแช แแแแแแแ แแแแแกแแแแ แ แแแแแแแแแแก แแแกแฌแแแแแกแแแแก - แ แแแแฃแ แ แ แแชแฎแแแแ แแ แฃแแแ แจแแแแ แแแ. a == b
แแ แแแแแ แ แแแแ a - b < EPS
- แแแแฃแแแช แฃแแแ แแแแแแฎแกแแแ แแ, แแแ แแ 0 แแฆแแแฉแแแแแ แซแแแแแ แขแแแ 1/3-แแก... แแแแแแแ, libffi-แก แแแ แแแแฃแแ แแแ แขแ แแแแแคแแฅแ แ, แ แแแแแแช แฃแแแ แขแแแแก แขแแกแขแแแก แแแแแก แแ แ แแแแแแแช glib แแ แแก. แจแแแแแแแแ - แแแแแแฌแงแแแขแ, แ แแ แกแแญแแ แ แแฅแแแแแแ, แแแแแแแแแแแ แแแแแแแขแแ. แฌแแ แ แแ แแฃแงแฃแ แแ, แแแขแงแแ, แ แแ, แ แแแแ แช แแฅแแ, แจแแแแแแแแแแ แกแแแแแแ แแแแจแ libffi แคแฃแแฅแชแแแช แแ แแ แจแแแขแแแ.
แแแแ แแ, แ แแแแ แช แฃแแแ แแแฅแแ, แแ แแก แแแ แแแแฃแแ แจแแแฆแฃแแแแแ แแ แกแฎแแแแแกแฎแแ แแแแฃแกแแแฆแแ แแแ แฅแชแแแแก แแแแแกแฃแคแแ แแแแแงแแแแแแก แจแแ แแก, แฃแคแ แ แฃแกแแแแแแแ แคแฃแแฅแชแแ แแแแแแแ - แแแแแแแแก แแแฎแแแแแ JavaScript แแ แฃแญแแ แก แแฎแแ แก แแ แแแแแซแแแแแแแแแก แกแแแ แแ แแแฎแกแแแ แแแแ. แแ แแแชแแแจแ, แแแแก แฉแแแฃแแแแ แแ แจแแแซแแแแ แแฌแแแแก แแแ แแ แแแแ, แแแแ แแ แแ แ แแแแแก แแแแแกแแขแแแแ, แ แแแแแก แแ แฅแแขแแฅแขแฃแ แ แแแแแฃแแแ C แซแแคแแแแแ. แแแแแแแ แ แแ แแแฅแแแ, Firefox แแขแแ แแแก แแฅแกแแแ แแแแแขแแแก แกแแแ แแ แแฃแจแแแแแแก แแฎแแ แแแญแแ แแแ แแ Emscripten-แก แแฅแแก แแแแแแแก แแ แแแแก แแแแแ แแแ, แแแแ แแ แแ แแ แแแแแแแ แแแกแแ แแแแแแแแแแฃแแแแ. แแแ-แแแแ แแแแแฌแแ แแฃแแขแแ แแแแแแแก แแแแซแแ แแแ Qemu แแแแแแแ - แแแฃ แแแแแแ แกแแ แแแแแก แซแแคแแแ, แแ แซแแคแจแ แแแจแแแแฃแแ แแแ แงแฃแแแก แกแฎแแฃแแ แชแแแแ แคแฃแแฅแชแแแจแ แแแแแแแขแแแ แแ แแกแแแ แคแฃแแฅแชแแแแ แกแแแแแแแ แแแแแแแซแแฎแแแแแ แแแแแแ แ แชแแแแแแแ.
แแแแ แ แแชแแแแแแ
แ แแฆแแช แแแแแแขแจแ แแแแ แแแ, แ แแ แแ แแแแแแ แฏแแ แแแแแ แแฅ แแงแ แแ แแแแแก แแแ แจแแแ แงแแแแ แฏแแแแแก แฃแแแ แ แขแ แแแแ แแ แแแแแ แแแ แแก แแ แแแฐแงแแแแแแ. แแแกแแแแ: แกแแญแแ แแ แ แแแแ แแ แกแแกแขแแแแขแแแแชแแ แแแแแฎแแแแแ แฎแแแฏแแฎแแแแก แแแแแขแแแแก แแ แแชแแกแแก. แแแแขแแ, แแแฆแแก 2.4.1 แแแ แกแแ, แ แแแแแแช แแ แแ แแก แแฎแแแ แแงแ (แแ แ 2.5.0, แ แแแแแ, แแฅแแแ แแ แแกแแแแก แแชแแ, แแฅแแแแ แจแแชแแแแแแ แแฎแแ แแแ แกแแแจแ, แ แแแแแแแช แฏแแ แแ แแ แแก แแแญแแ แแแ แแ แแ แแแฅแแก แกแแแแแ แแกแ แกแแแฃแแแ แ แจแแชแแแแแแ) แแ แแแ แแแแ, แ แแช แแแแแแแแ, แแงแ แแแกแ แฃแกแแคแ แแฎแแ แแแแแฌแแ แ thread-posix.c
. แแกแ, แแก แแ แแก แแกแแแแแ แฃแกแแคแ แแฎแ: แแฃ แแแแแ แชแแแแแแแ แจแแแกแ แฃแแแก แแแแ แแชแแ, แ แแแแแแช แแแแแแงแแแแก แแแแแแ แแแแแแ, แแแจแแแแ แแแแแแซแแฎแแแแแ แคแฃแแฅแชแแ abort()
- แ แ แแฅแแ แฃแแแ, แแแแ แงแแแแ แแ แแแแแแ แแ แแแ แแฃแแแ แแ แแแแแญแ แ, แแแแ แแ แแแแแช แ แแขแแแฆแแช แฃแคแ แ แกแแกแแแแแแแ แแงแ, แแแแ แ แแ แแแแแแแแแแแ แฃแแ แแแแแชแแแแแแก แแจแแแแแ แแแฆแแแ.
แแแแแแแ, Emscripten-แแก แแแ แแแแขแแแ แซแแแแแ แกแแกแแ แแแแแแ JS-แจแ แแแแแก แแแแแกแแขแแแแ -s ASSERTIONS=1 -s SAFE_HEAP=1
- แแกแแแ แแญแแ แแ แแแ แแแแฃแแ แขแแแแก แแแแฃแกแแแฆแแ แแ แฅแชแแแแก, แ แแแแ แแชแแ แแแ แแแ แแแฃแกแฌแแ แแแแ แแแกแแแแ แแแแแ (แ แแช แกแแแ แแแ แแ แจแแแกแแแแแแแ แแแ แแคแแแ แแแกแแแแแแก แแแแก, แ แแแแ แแชแแ HEAP32[addr >> 2] = 1
) แแ แคแฃแแฅแชแแแก แแแแแซแแฎแแแ แแ แแฃแแแแขแแแแก แแ แแกแฌแแ แ แ แแแแแแแแแ.
แกแฎแแแแ แจแแ แแก, แแแกแฌแแ แแแแก แจแแชแแแแแแ แชแแแแ แกแแแแแฎแแ. แ แแแแ แช แฃแแแ แแแฅแแ, Qemu-แก แแฅแแก โแแแแแแแ แแชแแฃแแโ แแแขแแ แแ แแขแแชแแแก แฃแแแแ แแแฌแแแ แแแแแก แแแแแ แแชแแแก TCI-แกแแแแก (แแแขแแ แ แแแแแก แแแขแแ แแ แแขแแขแแ แ) แแ Qemu-แก แแฎแแ แแ แฅแแขแแฅแขแฃแ แแแ แแกแแจแแแแแแแ แแ แแแกแแจแแแแแ, แแฃ แแแแแแแ แแแแ, แกแแแแแ แแกแแ C แแแแแแแแ แ. แกแแแแแแซแ แกแแขแงแแแแ. "แแฃ แแแแแแแ แแแ". แแ แแ แแแแแแแ แแแ แแ แแฆแแแฉแแแ, แ แแ TCI แแงแแแแแก แฃแกแฌแแ แแแกแฌแแ แ แฌแแแแแแก แแแกแ แแแแขแแแแแแก แแแ แฉแแแแกแแก. แแแฃ, แงแแแแ แกแแฎแแก ARM-แแ แแ แกแฎแแ แแ แฅแแขแแฅแขแฃแ แแแ, แแฃแชแแแแแแ แแแแแแ แฌแแแแแแ, Qemu แแแ แแแแแก, แ แแแแแ แแแ แแฅแแ แแแ แแแแฃแ แ TCG backend, แ แแแแแแช แฌแแ แแแฅแแแแก แแจแแแแแฃแ แแแแก, แแแแ แแ แแแฃแจแแแแแก แแฃ แแ แ แแแแแ TCI, แกแฎแแ แกแแแแแฎแแ. แแฃแแชแ, แ แแแแ แช แแแแ แแแ, TCI-แแก แแแแฃแแแแขแแชแแแจแ แชแแแกแแฎแแ แแงแ แแแแแแแแฃแแ แแกแแแแกแ แ แแ. แจแแแแแแ, แแแแก แแแแแแขแ แคแฃแแฅแชแแแก แแแ แแแ แจแแฃแกแฌแแ แแแแแ แฌแแแแแฎแแแกแแแแก, แ แแแแแแแช แแฆแแแแฉแแแแก Qemu-แก แกแฎแแ แแแฌแแแจแ.
แแ แแแแก แแแแแแแฃแ แแแ
แจแแแแแแ, TCI-แแ แฃแกแฌแแ แแแกแฌแแ แ แฌแแแแแ แแแแแกแฌแแ แแ, แจแแแฅแแแ แแแแแแ แ แแแ แงแฃแแ, แ แแแแแกแแช แแแแแก แแฎแ แแ แฃแฌแแแ แแ แแชแแกแแ แ, RCU แแ แกแฎแแ แฌแแ แแแแแแแแ. แแกแ แ แแ, แแ แแแแฃแจแแ Qemu แแคแชแแแ -d exec,in_asm,out_asm
, แ แแช แแแจแแแแก, แ แแ แแฅแแแ แฃแแแ แแฅแแแ แ แแแแแ แแแแแก แแแแแแแ แกแ แฃแแแแแ แแ แแกแแแ แแแแแชแแแแก แแ แแก แแแฌแแ แแ แ แ แแงแ แกแขแฃแแ แแก แแแแ, แ แ แแแฎแแ แฐแแกแขแแก แแแแ (แแ แจแแแแฎแแแแแจแ แแแแขแแแแแ). แแก แแฌแงแแแก, แแฎแแ แชแแแแแแก แ แแแแแแแแ แแแ แแแแแแก แแแแแก, แฌแแ แก แแแแแ แแแแก แจแแขแงแแแแแแแแก, แ แแแแแแช แแแแขแแแ, แ แแ RCU แแฎแแ แแแแฌแงแแแ แแ... แแแแ แแ abort()
แคแฃแแฅแชแแแก แจแแแแแ free()
. แคแฃแแฅแชแแแก แจแแคแแ แฎแแแแ free()
แฉแแแ แแแแแฎแแ แฎแแ, แ แแ แแ แแแแก แแแแแแก แกแแแแฃแ แจแ, แ แแแแแแช แแแแก แแแแแงแแคแแแ แแแฎแกแแแ แแแแก แฌแแแ แ แแ แแแแขแจแ, แแแแแแก แแแแแก แแ แแกแแแแกแ แ แแแแก แแแชแแแแ, แแงแ แแแแแแ.
แแ แแแแก แแแแแแแฃแ แแแ - แ แ แกแแงแแแ แแแแ... แแกแแ แจแแแแฎแแแแแจแ แแ แแก แกแแกแแ แแแแแ แฌแแแแแ - (แแฃ แจแแกแแซแแแแแแแ) แแแแแ แฌแงแแ แแแแแแแ, แแแ แแคแแ แแจแแแแแฃแ แ แแแแแ แ แแ แแแฃแจแแแ แแแแแ แแแแแก แฅแแแจ. แแแ แแแแฃแแ แแแ แแแแแก แจแแแแแ แแแแแ แ แแแแ แแงแ. แแ แแแแฃแจแแ แแแแแ แแคแชแแแแแ - แแก แแจแแแแ แแแแชแแแแแแแชแแแก แแ แแกแแช แแ, แกแแแแ แ แแแแฃแ แแ แแแแฆแฌแแแก แจแแกแ แฃแแแแแก. แฃแกแแแแแแแแ, แ แ แแฅแแ แฃแแแ - แ แแแแ แช แฉแแแก, แฌแงแแ แแแแ แแ แแงแ แแฃแกแขแแ แแแแแ, แ แแช แแแกแแแแแ แ แแ แแ แแก, แ แแแแแ แแแแคแแแฃแ แแชแแแ แแแแแ แแแแกแฎแแแแแแฃแแ แแแ แแแแขแแแ แแแแแแแแแแ, แแแแ แแ แแ แแแฅแแก Valgrind - แฏแแ แแแแแแแกแฌแแ แแ แแ แจแแชแแแแแก แแ แจแแแแแ, แแฃ แแแแแแแ แแแ , แแแแแฉแแแแแ แแ แแแแแแแ. แแ แแแแแแก แแแขแแ แแ Valgrind-แแก แแแ แแแแแจแ... Y-y-y, y-y-y, Uh-uh, แแแแฌแงแ, แแแ แแแแฃแ แแ แแแแแ แ แแแแชแแแแแแแชแแ แแ แแแแแแแแ แแแแแแแแ แแแ แจแแชแแแแแแ แแ แแ แแแคแ แแฎแแแแแแก แแแ แแจแ แแแฎแกแแแ แแแแก แแ แแกแฌแแ แ แฌแแแแแแก แจแแกแแฎแแ, แ แแ แแฆแแ แแคแแ แ แแแฅแแแ แแแชแแแแแ. แชแฎแแแ แแแแ, แ แแแแ แช แแแแแแแ, แแ แแแแแแแแแ แแแแกแแแแก - แแ แแฎแ แแ แแแ แแแ แฌแงแแแขแก แแ แแฎแก, แ แแแแกแแช แแแแฅแแแแแ Walgrind-แแก แฅแแแจ. แ แ แแงแ แแก แแ แแก แกแแแแฃแแแ. แฉแแแ แฐแแแแแแแ แแ แแก, แ แแ แแ แแฎแแ แแแแแแแแ แ แแแกแขแ แฃแฅแชแแแก แกแแแฎแแแแแก แแแแชแแแแแแแชแแแก แแ แแก แแแแ แแแก แจแแแแแ, gdb แแฉแแแแ แกแแแฃแจแแ memset
-a แแแฅแแแแ แแแฉแแแแแแแแ แ แแแแแแแแก แแแแแงแแแแแแ mmx
, แแ xmm
แ แแแแกแขแ แแ แแแแ, แแแจแแ แแแแแ แแก แแงแ แแ แแแแแ แ แแแกแฌแแ แแแแก แจแแชแแแแ, แแฃแแชแ แฏแแ แแแแแ แซแแแแ แแแกแแฏแแ แแแแแแ.
แแแ แแ, แ แแแแ แช แฉแแแก, แแแแแ แแแแ แแฅ แแ แแฎแแแ แแแ. แแ แแฅ แแแแฌแงแ แงแแแแแแ แแแแแ แแแแ แ แแ - แงแแแแแคแแ แ แแแแฅแแก แแฌแงแแแ, แแแแ แแ แแแแ แแ แแแกแแแฃแขแฃแ แแ แแแฃแ แแแแแแแ แแแแแแแแแก แแแแ แแ แแแแแแแแก แแแแ, แ แแแแแแช แจแแแซแแแแแแ แแแแฎแแแ แแงแ แแแแแแแแแแ แแแกแขแ แฃแฅแชแแแก แฌแแ. แแแ แแ แฎแแแก แแแฃแ แแแแแแแ แแงแ แ แแแแ แแแแฎแแแแแแแ. แแแแแก แแแแแช แแแแแฌแแ แแแฏแแแแ แแ แแแแแ แแแ. แแแแแญแแแ, แ แแแแแแแช แกแแแแฃแ แ แแงแ แแแแแฌแแ แแแ, แแฉแแแแ, แ แแ แแก แแ แฐแแแแก แ แแชแฎแแก, แแ แแแแ แ แแฆแแช แแ แแแแ แแแแแชแแแก. แแ แแ, แแก แแ แแแแแ แกแขแ แแฅแแแ แแแแแแแ แแฅแแ BIOS แคแแแแจแ - แแแฃ, แแฎแแ แฃแแแ แจแแกแแซแแแแแแ แแงแ แแแแแแ แฃแแ แแแ แฌแแฃแแแแแ แแแฅแแ, แ แแ แแก แแงแ แแฃแคแแ แแก แแแแแแแแแแ แแ แชแฎแแแแ, แ แแ แแก แแ แแฃแคแแ แแ แแงแ แแแฌแแ แแแ. แแแ แแ, แแแจแแ แแกแแแแกแ แ แแ - Emscripten-แจแ, แกแแแแแแแแ แแ, แแ แแ แแก แแแกแแแแ แแแแแก แกแแแ แชแแก แ แแแแแแแแแชแแ, แแแกแจแ แแ แช แฎแแ แแแแแแ, แแกแ แ แแ แแฅแแแ แจแแแแซแแแแ แแแฌแแ แแ แกแแแฆแแช แแแแแก แจแฃแแจแ, แ แแ แแแแแชแแแแแ แแแแแแงแแแแแ แแฃแ แกแแ แแ แแแแ แแแจแแแแแแแ. แจแแฎแแแแ แแแแแชแแแแแก, แจแแฎแแแแ แแแฉแแแแแแแแก แแ, แแฃ แแก แแ แจแแชแแแแแ, แแแแฆแแ แกแแคแแฅแ แแแ. แแแ แแแแแ, แแแแแกแแแแ แ แชแแแแแแแแก แจแแแแแ แแแฃแแก แ แแแแแแแแ แฌแฃแแ แกแญแแ แแแแ, แแแแ แแ แ แ แจแแแแซแแแแ แแแแแแแแ? แจแแแแแแ, แแแแแแแ แแฅแแ แแแแแ แแขแฃแแ แฎแแแ, แ แแแแแแช แแแแแ แแแแ BIOS-แก แแ แแแแแแ แแฃแคแแ แแแแ แกแขแฃแแ แแก แแแฎแกแแแ แแแแจแ - แแ, แแแ แแแแช, แแฃแคแแ แจแ แแ แแงแ แกแแแแแ แแกแ แแแแแแ. แแ แฃแชแแแฃแ แ แแฃแคแแ แฃแแ แแแกแแแแ แแแก แฌแงแแ แแก แแแแแแ แแแแแแฌแแแ แคแฃแแฅแชแแ qemu_anon_ram_alloc
แคแแแแจแ oslib-posix.c
- แแแแแแ แแงแ แแกแแแ: แแแแฏแแ แจแแแซแแแแ แกแแกแแ แแแแแ แแงแแก แแแกแแแแ แแแก แแแกแฌแแ แแแ 2 แแ แแแแแก แฃแแแ แแแแแ แแแแ แแแ, แแแแกแแแแแก แฉแแแ แแแแแแฎแแแ mmap
แฏแแ แแแแแ แชแแขแ, แจแแแแแ แแ แแแแแแขแก แแแแแแ แฃแแแแ แแแฎแแแ แแแแ munmap
. แแ แแฃ แแกแแแ แแแกแฌแแ แแแ แแ แแ แแก แกแแญแแ แ, แแแจแแ แฉแแแ แแแแฃแแแแแแ แจแแแแแก 2 แแ-แแก แแแชแแแแ getpagesize()
- mmap
แแก แแแแแช แแแแแกแชแแแก แแแกแฌแแ แแแฃแ แแแกแแแแ แแก... แแกแ แ แแ Emscripten-แจแ mmap
แฃแแ แแแแ แ แแแแแก malloc
, แแแแ แแ, แ แ แแฅแแ แฃแแแ, แแก แแ แจแแแกแแแแแแแ แแแแ แแแ. แแแแแแแ, แจแแชแแแแ, แ แแแแแแช แแแแแแแชแ แฃแแแฃแแ แแแงแแแ แ แแแแแแแแ แแแแก แแแแแแแแแแแจแ, แแแแแกแฌแแ แแ แชแแแแแแแแ ะดะฒัั
แฎแแแแแ.
แแแแแซแแฎแแแแก แคแฃแแฅแชแแแแแก แแแฎแแกแแแแแแแแแ
แแฎแแ แแ แแ แแชแแกแแ แ แ แแฆแแชแแก แแแแแแก, Qemu แแ แแจแแแแ, แแแแ แแ แแแ แแแ แแ แแ แแแแแ แแ แแ แแชแแกแแ แ แกแฌแ แแคแแ แแแแแแแก แแแ แงแฃแแแแจแ, แแแแแแแแแแแก แแแฎแแแแแ แแแแกแฏแแแแแ -d exec,in_asm,out_asm
. แแแฉแแแ แฐแแแแแแแ: แขแแแแแ แแก แจแแคแแ แฎแแแแแ (แแ, แแแแแแแ, แงแแแแ แจแแคแแ แฎแแแ) แแ แแแแแก. แแ แแแ แแแแช, แแฃ แแแแแฆแแ แจแแคแแ แฎแแแแแ แแจแแแแแฃแ แ แจแแแ แแแแแแ, แ แแแแแแช แ แแขแแแฆแแช แแฃแจแแแแแ, แแแแฆแแแ แแกแแแแก แกแฃแ แแแก. แแแแ แแ แแก แกแแแ แแแ แแ แแงแ แแแกแฃแฎแ: แแแแแ แแแชแแแฃแ แแแ แแแแขแแแ แแแชแแแฃแแ แแแแแแก แจแแแแ แแแแ แแฉแแแแ, แ แแ แจแแกแ แฃแแแแแก แขแ แแแฅแขแแ แแแแ แซแแแแแ แแแ แ แแแแกแฎแแแแแแแแแ. แแฅแแ แฃแแแ แแแฅแแแก, แ แแ แจแแแแ แแแ แแแแกแ, แ แแช แฉแแแฌแแ แ แแแแจแแแแแก แแแแแงแแแแแแ emrun
แแแแแแแแแแ แแแแแ แแแ แแจแแแแแฃแ แ แแกแแแแแแแก แแแแแแแแแแแแ แแ แแ แแก แกแ แฃแแแแ แแแฅแแแแแฃแ แ แแ แแชแแกแ. แแ แแแชแ แแฃแกแขแแ แ แแแแ แฃแแแแจแแ แแแแ แแ แแฃแแแ แจแ แแแจแแแแฃแแ แแ แแแ แแแ emrun
, แแแแ แแ แแแแแแแแแแจแ แแแแแแ แแ แกแขแ แแฅแแแ แแแแแแแฌแแแแแฃแแแ, แแแแขแแ แแแแกแฎแแแแแแแจแ แแแแกแฎแแแแแแ แฏแแ แแแแแ แแ แแ แแก แกแแคแฃแซแแแแ แแแแแ แแฃแแแ, แ แแ แขแ แแแฅแขแแ แแแแ แแแแกแฎแแแแแแแแแ. แแแแแแแ, แแแแ แแแ, แ แแ แแแกแขแ แฃแฅแชแแแก แแแฎแแแแแ ljmpl
แฎแแแแ แแแแแกแแแ แกแฎแแแแแกแฎแแ แแแกแแแแ แแแแแ แแ แแแแแ แแ แแแฃแแ แแแแขแ แซแแ แแฃแแแ แแแแกแฎแแแแแแฃแแแ: แแ แแ แจแแแชแแแก แแแกแขแ แฃแฅแชแแแก แแแแฎแแแ แ แคแฃแแฅแชแแแก แแแแแซแแฎแแแแก แจแแกแแฎแแ, แแแแ แ แแ แแ แ. แแแกแขแ แฃแฅแชแแแแแก แแฃแแแจแ แแ แแ แแแกแขแ แฃแฅแชแแแแแก แแแ แแแแแก แแแแแก แจแแกแฌแแแแแก แจแแแแแ, แแแแ แแแ, แ แแ, แแแ แแแ แ แแแจแ, แ แแแกแขแ แจแ แแแก แฌแแ cr0
แแแแแแแ แฉแแแแฌแแ แ - แแกแแแ แแแแฎแแแ แแก แแแแแงแแแแแแ - แ แแแแแแแช แแแแแ แแ แแ แแชแแกแแ แ แแแชแฃแ แ แแแแแจแ แแ แแแแ แแช, แ แแ js แแแ แกแแ แแ แแกแแแแก แแแแแแแแ แแแชแฃแ แ แแแแแจแ. แแแแ แแ แคแแฅแขแแ, แ แแ Emscripten-แแก แแแแแ แแ แแ แแแฎแแกแแแแแแแแแ แแแกแ แแแแจแแแแแแแ แแกแแแ แแแแแแแกแแแแ, แ แแแแ แแชแแ แแแกแขแ แฃแฅแชแแแแแก แแแแฎแแ แชแแแแแแ. call
TCI-แจแ, แ แแแแแกแแช แแแแแกแแแแ แ แคแฃแแฅแชแแแก แแแฉแแแแแแแแ แแฌแแแแก แขแแแก long long f(int arg0, .. int arg9)
- แคแฃแแฅแชแแแแ แฃแแแ แแแแแแซแแฎแแ แแ แแฃแแแแขแแแแก แกแฌแแ แ แ แแแแแแแแแ. แแฃ แแก แฌแแกแ แแแแ แฆแแ, แแแแแ แแแแก แแแ แแแแขแ แแแแแแ แแแแแแแแแแ แ, แแ แแแ แแแ แแ แแจแแแแ (แ แแช แแแ แแแ) แแ แกแแแ แแแ แแแแแแซแแฎแแแก แแ แแกแฌแแ แคแฃแแฅแชแแแก (แ แแช แกแแแฌแฃแฎแแ แ แแฅแแแแ แแแแแ แแแ). แแกแแแ แแ แแก แแแกแแแ แแแ แแแแขแ - แฉแแ แแแ แจแแคแฃแแแแแแก แแแแแ แแชแแ, แ แแแแแแแช แแแแขแแแแ/แแจแแ แแแแ แแ แแฃแแแแขแแแก, แแแแ แแ แแแแแแแแแแจแ แแก แจแแคแฃแแแแแ แแแ แแแแแแก แแแแแแแก, แแแฃแฎแแแแแแ แแแแกแ, แ แแ แกแแแแแแแแแแจแ แแ แแญแแ แแแแ แแฎแแแแ แแกแแ แชแแขแ แแแขแ แจแแคแฃแแแ. แแแ แขแ แแก แซแแแแแ แกแแแฌแฃแฎแแ แแ, แแแแ แแ แแฆแแแฉแแแ แฃแคแ แ แกแแ แแแแฃแแ แแ แแแแแแ: wrapper แคแฃแแฅแชแแแแแก แแแแแ แแ แแแฃแ แแแแจแ แแ แแฃแแแแขแแแ แแแ แแแแฅแแแ แแ แแแ แแแแฅแแแ, แแแแ แแ แแแแฏแแ แคแฃแแฅแชแแ แแแแแ แแ แแแฃแแ แแ แแฃแแแแขแแแแ แแ แแงแ แแแแแซแแฎแแแฃแแ - แแกแ, แแกแแแ, แ แแแแ แช แฉแแแ libffi แแแแฎแแ แชแแแแแแ. แแแฃ, แแแแแแ แแ แแแแฎแแแ แ แฃแแ แแแแ แแ แแแฎแแ แแขแแก.
แกแแแแแแแแ แแ, Qemu-แก แแฅแแก แแแแฎแแแ แแแแแก แแแแฅแแแแ แฌแแแแแฎแแแแ แกแแแแ แกแแแแฃแ แแก แคแแแแแก แกแแฎแแ, แ แแแแ แแชแแ
DEF_HELPER_0(lock, void)
DEF_HELPER_0(unlock, void)
DEF_HELPER_3(write_eflags, void, env, tl, i32)
แแกแแแ แกแแแแแแ แกแแกแแชแแแแ แแแแแแงแแแแแ: แฏแแ แแ แแ, แแแแ แ แแแแแแฎแแแแแ แงแแแแแแ แฃแชแแแฃแ แ แแแแ DEF_HELPER_n
แแ แจแแแแแ แแ แแแแแ helper.h
. แ แแแแแแแแแช แแแแ แ แแแคแแ แแแแแแแ แกแขแ แฃแฅแขแฃแ แแก แแแแชแแแแแแแขแแ แแ แแ แแซแแแแ, แจแแแแแ แแ แแแแแกแแแฆแแ แแแ แแแกแแแ แแ แแแแแแแขแแแแก แแแชแแแแ - #include <helper.h>
แจแแแแแแ, แกแแแแแแแ แแแแแชแ แกแแจแฃแแแแแ แแแแแแแชแแแ แแแแแแแแแแ แกแแแกแแฎแฃแ แจแ
แแกแ แ แแ, แแแแก แจแแแแแ, แ แแแแ แช แฉแแแก, แแ แแชแแกแแ แ แแฃแจแแแแแ. แ แแแแ แช แฉแแแก, แแก แแแแขแแ แฎแแแแ, แ แแ แแแ แแแ แแ แแกแแแแก แงแแคแแแ แแแแชแแแแแแแแฃแแ, แแฃแแชแ memtest86+-แแ แจแแซแแ แแแจแแแแ แแจแแแแแฃแ แแกแแแแแแแจแ. แแฅแแ แฃแแแ แแแแแแแ แขแแ, แ แแ Qemu แแแแแแก I/O แแแแ แแฌแแ แแแ แแแ แฃแขแแแแแแ. Emscripten-แก แแฅแแก แกแแแฃแแแ แ แซแแแแแ แ แแฃแแ แแแแแแแแแขแแชแแ, แแแแ แแ แแก แแแแแช แกแแญแแ แ แแงแ Qemu แแแแแก แแฎแแ แแแญแแ แแ แแ แจแแแแซแแแแ แแ แแชแแกแแ แแก แแแแแ แแแ แแฎแแ: Qemu แแฎแแ แก แฃแญแแ แก แแแ แแแแขแแแก -kernel
, -initrd
, -append
, แ แแแแแแแช แจแแแแซแแแแ แฉแแขแแแ แแแ Linux แแ, แแแแแแแแแ, memtest86+, แแแแแแก แแแฌแงแแแแแแแแแแก แกแแแ แแแ แแแแแงแแแแแแก แแแ แแจแ. แแแแ แแ แแฅ แแ แแก แแ แแแแแแ: แแจแแแแแฃแ แแกแแแแแแแจแ แจแแแแซแแแแ แแแฎแแ Linux-แแก แแแ แแแแก แแแแแแแแแแ แแแแกแแแจแ แแคแชแแแ -nographic
, แแ แแ แแ แแก แแแแแแแแแแ แแ แแฃแแแ แแแแ แขแแ แแแแแแแแแ, แกแแแแแแแช แแก แแงแ แแแจแแแแฃแแ emrun
, แแ แแแแแแ. แแแฃ, แแแฃแแแแแ แแ: แแ แแชแแกแแ แ แแ แแฃแจแแแแก แแ แแ แแคแแแฃแแ แแแแแแแแแแ แแ แแฃแจแแแแก. แจแแแแแ แแ แแแ แแ แแแแแแแแ, แ แแ แชแแขแ แแแแแแแแ. แแฆแแแฉแแแ, แ แแ "แแ แแชแแกแแ แก แแ แกแซแแแแแก, แแ แแแแ แฃแแ แแแแ แแแแ แชแแแชแแแแแก" แแ แแแแฎแแแแแแ แฎแฃแแ แฌแฃแแแก แจแแแแแ แแแ แแแแ แแแแแแแแ แจแแขแงแแแแแแแแแแก แแแแแฃแแ แแแแกแแแแ แแ แแแแแแ แซแ แแแแแแแแ. แแแแ แแแ, แ แแ แแ แแชแแกแแ แ, แแแแแแแ, แแฃแจแแแแก แแ แฉแแแ แฃแแแ แฉแแแฌแแ แแ แแแแ SDL2-แแแ แแฃแจแแแแแกแแแแก. แกแแแฌแฃแฎแแ แแ, แแ แแแชแ แ แแแแ แแแแแแแงแแแ แแก แแแแแแแแแแ, แแแแขแแ แแแแแแ แ แแแแแแแก แจแแแแฎแแแแแ แแแแแฌแแ แแแฅแแแแแแ. แ แแฆแแช แแแแแแขแจแ, แแฃแ แฏ แคแแแแ แแแ แแแแ แแแ แแแแแฃแ แแ0 แฎแแแ แแแแ แฌแงแแแแ, แ แแช แ แแแแแแแแ แแแ แก แแแแแแแแแแแ. แกแแแแแแ แฏแแแจแ, แแฆแแแฉแแแ, แ แแ แแ แแแแแแ แแก แแงแ, แ แแ Qemu แฎแกแแแก แ แแแแแแแแ แแแ แขแฃแแแฃแ แคแแแฏแแ แแก แแ แ แคแแแแแฃแ แคแแแฏแแ แแจแ, แ แแแแแแ แจแแ แแก แจแแแแซแแแแ แแแแแฎแแแแแ Ctrl-Alt-n แแแแแงแแแแแแ: แแก แแฃแจแแแแก แแจแแแแแฃแ build-แจแ, แแแแ แแ แแ แ Emscripten-แจแ. แแ แแกแแญแแ แ แคแแแฏแ แแแแก แแแจแแ แแแแก แจแแแแแ แแคแชแแแแแก แแแแแงแแแแแแ -monitor none -parallel none -serial none
แแ แแแกแขแ แฃแฅแชแแแแ แแซแฃแแแแแ แแแแแฎแแแแ แแแแแ แแแ แแแ แแแแแแฃแ แฉแแ แฉแแแ, แงแแแแแคแแ แ แแแฃแแแแแแแแ แแฃแจแแแแแ.
แแแ แฃแขแแแแแ
แแกแ แ แแ, แแ แแฃแแแ แจแ แแแฃแแแชแแ แแฃแจแแแแก, แแแแ แแ แแฅแแแ แแ แจแแแแซแแแแ แแแกแจแ แ แแแแ แกแแแแขแแ แแกแ แแ แแฏแแ แแแ แคแแแแแก แแแจแแแแ, แ แแแแแ แแ แแ แแก I/O แแแแแ - แแฅแแแ แแญแแ แแแแแ แแแ แฃแขแแแแก แแฎแแ แแแญแแ แ. Qemu-แก แฃแแแ แแฅแแก แ แแแแแแแแ แแแ แฃแขแแแแก แฃแแแแ แแแฌแแแ, แแแแ แแ JavaScript-แแกแ แแ Emscripten แแแแแก แแแแแ แแขแแ แแก แแฃแแแแแก แแแแ, แแฅแแแ แแ แจแแแแซแแแแ แฃแแ แแแแ แแแแฌแงแแ แแแขแแแแก แแแแแแแ แแแ. แ แแแแ แช แฉแแแก, "แงแแแแแคแแ แ แฌแแแแแ, แแแแแจแแ แ แแแแฆแแแฃแแแ", แแแแ แแ Emscripten-แแก แแแแแแแแแ แแแแ แฃแแแ แแแ แฃแแแก แงแแแแแคแแ แแ. แแก แกแแแแแแ แกแแกแแชแแแแ แแ แแก แแแแฎแแ แชแแแแแแฃแแ: แแแแแ, แคแฃแแฅแชแแแก แแแแแซแแฎแแแ แแแแแ แฅแแแ แกแแแญแแ emscripten_sleep
แแ แ แแแแแแแแ แกแฎแแ, แ แแแแแแแช แแงแแแแแแ Asyncify แแแฅแแแแแแก, แแกแแแ แแแฉแแแแแแแแก แแแ แแแก แแ แแแ แแแก แแแแแกแแแแ แคแฃแแฅแชแแแแ, แกแแแแช แฌแแแ แแ แ แจแแแแฎแแแแ แจแแแซแแแแ แแแฎแแแก แกแขแแแแก แฅแแแแแ. แแฎแแ แแ, แงแแแแแ แกแแแญแแ แแแ แแก แฌแแ, แฉแแแ แแแ แฉแแแ แแกแแแฅแ แแแฃแ แแแแขแแฅแกแขแก แแ แแแ แแก แจแแแแแ แแแฃแงแแแแแแแแ แจแแแแแแฌแแแแ แแแฎแแ แแฃ แแ แ แแกแแแฅแ แแแฃแแ แแแ แ แแ แแฃ แแแฎแแ, แฉแแแ แงแแแแ แแแแแแฃแ แชแแแแแก แจแแแแแแฎแแแ แแ แแกแแแฅแ แแแฃแ แแแแขแแฅแกแขแจแ, แแแฃแแแแแ แ แแแแแ แคแฃแแฅแชแแ. แแแแแแแขแแแแ แแแแขแ แแแ แแแจแแ, แ แแชแ แแแญแแ แแแแ แจแแกแ แฃแแแแแก แแแแ แซแแแแแ แแ แแแแแแแแ แ แคแฃแแฅแชแแแแแ แแแแแกแแแ. แกแฌแแ แแ แแฅ แแ แแก แแคแแฅแขแแก แจแแกแฌแแแแแก แจแแกแแซแแแแแแแ -O3
. แแ แแแฌแแ แแแแ แแแแแ แแ แแแฃแ แแแแก แแ Chromium แญแแแก แแแฎแกแแแ แแแแก แแ แแจแแแแ. แแแ แ แจแแแแฎแแแแแ แจแแแฎแแแ แ แแก แแแแแแขแแแ แแแแก แชแแแแแแแ... แแแ, แ แ แแแฅแแ, แแแช แแแแแงแแแแแแแ, 500+ MB Javascript-แแก แแแแแ แแแฃแแแ แจแแกแฌแแแแ แแ แแแขแแแแแแชแแ แ แแ แแแฎแแแแก.
แกแแแฌแฃแฎแแ แแ, Asyncify-แแก แแฎแแ แแแญแแ แแก แแแแแแแแแแแก แแแแจแ แจแแแแฌแแแแแแ แแ แแงแ แกแ แฃแแแแ แแแแแแ แฃแแ longjmp
-แแแ, แ แแแแแแแช แแแแแแงแแแแแ แแแ แขแฃแแแฃแ แ แแ แแชแแกแแ แแก แแแแจแ, แแแแ แแ แแชแแ แ แแแฉแแก แจแแแแแ, แ แแแแแแช แแแแแ แแแแก แแ แจแแแแฌแแแแแแก แแ แซแแแแ แแฆแแแแแแก แแแแขแแฅแกแขแแแก, แแแแฅแแก แงแแแแแคแแ แ แแแ แแแ แแงแ, แแแแ แแฃแจแแแแแ. แจแแแแแ แแ แฃแชแแแฃแ แ แ แแ แแแแฌแงแ: แฎแแแแแฎแแ แแฌแงแแแแแ แจแแแแฌแแแแแแ แกแแแฅแ แแแแแแชแแแก แแแแจแ - แแแแแ, แ แแช แแ แฆแแแแก แแแแก, แแฃ, แจแแกแ แฃแแแแแก แแแแแแแก แแแฎแแแแแ, แแก แฃแแแ แแแแแแแแแก - แแแฆแแช แชแแแแแแแ แฃแแแ แแแญแแ แแแ แแฃแขแแฅแกแแก แแแญแแ แแก. แกแแแแแแแแ แแ, แแก แแ แแงแ แแแแแแฃแ แ แแ แแแแแแ แกแแ แแฃแ แแแแจแ - แแ แฃแแ แแแแ แแแงแแแแแแ Emscripten-แแก แแแแ แแแฌแแแแแฃแ แกแขแแแแแ แขแฃแ แแแแแแ แแแ แงแฃแแแก แคแฃแแฅแชแแแก, แแแแ แแ แแแแฏแแ แแกแแแฅแ แแแฃแแ แแแ แ แแแแแแแแ แฎแกแแแแ แแแกแขแแก แแ แแ แแแแแแขแจแ แแก แแแ แแแฎแแ แฎแแแแแแ. setTimeout
แแแแแแ แ แแแ แงแฃแแแแแ - แแแ แแแแ, แแแแ แจแแแแแ แแแแแแ แแแ แงแฃแแแก แแแแแแ แแแแจแ แฌแแแ แแแแแแ แแแแก แแแขแแแแแแก แแแ แแจแ. แแแแแฌแแ แ แฃแกแแกแ แฃแแ แแแ แงแฃแแแ แแ emscripten_sleep
แแ แแฃแขแแฅแกแแแแแ แแแแแแจแแ แแแฃแแ แแ แแแแแแแแ แจแแฉแแ แแ. แแแแ แแแแแ แฃแคแ แ แแแแแแฃแ แ แแแฎแแ - แแแแแก แแ แแแแแก, แแ แแ แแแฅแแก แแแแ, แ แแแแแแช แแแแแแแแก แจแแแแแ แแแแแแชแแฃแ แฉแแ แฉแแก - แแ แแชแแกแแ แ แฃแแ แแแแ แแแแแแก แ แแฆแแชแแก แแ แแแ แแแ แแแ แแแแฃแแแ แแแแแฎแแแแแ. แแฃแแชแ, แแ แแแแแแแแ แแฅ แแ แฉแแ แแแแแแ: แฎแแแแแฎแแ แแแแฃแก แแฆแกแ แฃแแแแ แฃแแ แแแแ แฉแฃแแแ แฌแงแแแแแแ แงแแแแแแแแ แ แแแแแแแแแแกแแก แแ แจแแชแแแแแก แแแ แแจแ. แแ แแแแแแขแจแ แแ แฃแแ แ แแแฅแแ แแแกแแ, แแแแ แแ, แฌแแ แแแฎแแแแแ, แแแขแงแแ, แ แแ แแ แแแแแแ แแก แแงแ: แแแ แฃแขแแแแก แแแแ, แคแแฅแขแแแ แแแแ, แแ แแงแแแแแก setTimeout
(แแ แแฃแแแแช แแ แช แแกแ แฎแจแแ แแ, แ แแแแ แช แแฅแแแ แคแแฅแ แแแ): แคแฃแแฅแชแแ emscripten_yield
แฃแแ แแแแ แแงแแแแแก แแกแแแฅแ แแแฃแแ แแแ แแก แแ แแจแแก. แแแแแ แกแแฅแแ แแแแจแแ emscripten_coroutine_next
แแ แแ แแก แแกแแแฅแ แแแฃแแ แคแฃแแฅแชแแ: แจแแแแแแแ แแก แแแแฌแแแแก แแ แแจแแก, แแฆแแแแแแก แแแก แแ แแแแแกแชแแแก แแแแขแ แแแก แแฅ, แกแแแแช แกแแญแแ แแ. แแแฃ แกแขแแแแก แแแฌแแแแฃแ แแแ แแฅ แแแแแ แแแแ. แแ แแแแแแ แแก แแงแ, แ แแ แแแแแงแแแแแแก แจแแแแแ แฃแคแแกแ, แ แแแแแแช แแแแแฉแแแ, แ แแแแกแแช แแแ แฃแขแแแแก แคแแแแ แแแแแ แแฃแแ แแงแ แแแแก แแแแ, แ แแ แแ แแ แแแแแแแแแ แ แแแแแก แแแแจแแแแแแแแแ แฎแแแ แแ แกแแแฃแแ แแแ แฃแขแแแแก แคแแแแแแ, แคแฃแแฅแชแแ qemu_in_coroutine
แแแแ แฃแแแ true, แ แแแแกแแช แกแแแแแแแแแแจแ แแก แฃแแแ แแแแ แฃแแแแฃแแแงแ false. แแแแ แแแแแแฌแแแ แแแ แ emscripten_yield
, แ แแแแแก แแแแแแแช แแแกแขแแแ แแ แแแแ แแงแ emscripten_coroutine_next
, แแแกแขแ แแแแจแแแ แแแแแ, แแแแ แแ แแ แ setTimeout
แ แแแแ แช แฃแแแ แแแฅแแ, แแ แแงแ แแแแแคแแแแแ.
JavaScript แแแแแก แแแแแ แแ แแแ
แแ แแ, แคแแฅแขแแแ แแแแ, แแ แแก แแแแแ แแแฃแแ โแแแคแฅแฃแแ แฎแแ แชแแก แฃแแแ แแแแ แฃแแแแโ. แฒแแแแแแแแ แแ . แ แ แแฅแแ แฃแแแ, แแฃ แแ แแฃแแแ แจแ แฉแแแฃแจแแแ Qemu-แก แแ แแแกแจแ Node.js-แก, แแแจแแ, แแฃแแแแ แแแแ, Qemu-แจแ แแแแแก แแแแแ แแ แแแแก แจแแแแแ แแแแแฆแแแ แกแ แฃแแแแ แแ แแกแฌแแ JavaScript-แก. แแแแ แแ แแแแแช, แ แแฆแแช แกแแแแ แแกแแแ แ แขแ แแแกแคแแ แแแชแแ.
แแแ แแแแ, แชแแขแ แแแแแ, แแฃ แ แแแแ แแฃแจแแแแก Qemu. แแแฎแแแ, แแแฃแงแแแแแแแแ แแแแแขแแแ: แแ แแ แแแ แแ แแคแแกแแแแแแ Qemu แแแแแแแแแ แ แแ แฉแแแ แแแกแแแแแแ แจแแแซแแแแ แแงแแก แแชแแแ แ แแแแแ. แ แแแแ แช แแแแแแแ, โแแแกแฌแแแแแก แแแ แ แแ แฃแแแ แแแแฎแแแแแแก แแแกแฌแแแแแแแแก แแแ แก, แแแแแแก แแฅแกแแแแแขแแแแก แแ แกแแฆแ แแแ แโ. Qemu-แก แแฅแแก แแแ แแแแฃแแ แ แแแแแแแแแก แแฎแแ แแแญแแ แแแ แกแขแฃแแ แแก แแ แฅแแขแแฅแขแฃแ แ แแ แแแแแแฃแแแกแแแแก แแ แแก แแกแแแแกแ แแแ แแฅแขแแ แแ target-i386
. แแจแแแแแแแแแกแแก แจแแแแซแแแแ แแแฃแแแแแ แ แแแแแแแแ แกแขแฃแแแ แ แแ แฅแแขแแฅแขแฃแ แแก แแฎแแ แแแญแแ แ, แแแแ แแ แจแแแแแ แแฅแแแแ แแฎแแแแ แ แแแแแแแแ แแแแแ แ. แกแขแฃแแแ แ แแ แฅแแขแแฅแขแฃแ แแก แแฎแแ แแแญแแ แแก แแแแ, แแแแแก แแฎแ แแ, แฌแแ แแแฅแแแแก แแแแแแ แ แจแแแ Qemu แแแแ แแชแแแแก, แ แแแแแแกแแช TCG (Tiny Code Generator) แฃแแแ แแฅแชแแแก แแแกแแแแซแแแก แแ แฅแแขแแฅแขแฃแ แแก แแแแฅแแแฃแ แแแแแ. แ แแแแ แช tcg แแแ แแฅแขแแ แแแจแ แแแแแแ แ readme แคแแแแจแแ แแแแฅแแแแ, แแก แแแแแแแแ แแแแแ แแงแ แฉแแแฃแแแแ แแแ C แจแแแแแแแแแแก แแแฌแแแ, แ แแแแแแช แแแแแแแแแแแ แแแแแขแแ แแแฃแแ แแงแ JIT-แแกแแแแก. แแแแขแแ, แแแแแแแแแ, แกแแแแแแ แแ แฅแแขแแฅแขแฃแ แ แแ แแแแฃแแแแขแแก แแแแแกแแแ แแกแแ แแฆแแ แแ แแก แกแขแฃแแ แแก แแ แฅแแขแแฅแขแฃแ แ, แแ แแแแ แแแกแแแแซแแแ แแ แฅแแขแแฅแขแฃแ แ. แ แแฆแแช แแแแแแขแจแ แแแแแฉแแแ แแแแแ แแ แแ แแแแแแแแแขแ - Tiny Code Interpreter (TCI), แ แแแแแแแช แฃแแแ แจแแแกแ แฃแแแก แแแแ (แแแแฅแแแก แแแแแ แจแแแ แแแแ แแชแแแแ) แแแแแ แแขแฃแแ แฐแแกแขแแก แแ แฅแแขแแฅแขแฃแ แแกแแแแก แแแแแก แแแแแ แแขแแ แแก แแ แแ แกแแแแแแก แจแแแแฎแแแแแจแ. แกแแแแแแแแแแจแ, แ แแแแ แช แแแก แแแแฃแแแแขแแชแแแจแ แฌแแ แแ, แแก แแแ แฏแแแแแ แจแแแซแแแแ แงแแแแแแแแก แแ แแฃแจแแแแแแก แแกแ, แ แแแแ แช JIT แแแแแก แแแแแ แแขแแ แ, แแ แ แแฎแแแแ แ แแแแแแแแ แแแแ, แแ แแแแ แฎแแ แแกแฎแแแ แแแแ. แแฃแแชแ แแ แแแ แแแ แฌแแฃแแแแฃแแ, แ แแ แแแกแ แแฆแฌแแ แ แกแ แฃแแแ แแฅแขแฃแแแฃแ แแ.
แแแแแแแ แแชแแแ แกแ แฃแแคแแกแแแแแ TCG backend-แแก แแแแแแแแ, แแแแ แแ แกแฌแ แแคแแ แแแแแแแฃแแแงแแแ แฌแงแแ แแก แแแแจแ แแ แแแแขแแแแแแก แแแกแขแ แฃแฅแชแแแแแก แแ แช แแฃ แแกแ แแแแคแแ แแฆแฌแแ แแจแ, แแแแขแแ แแแแแแฌแงแแแขแ แจแแแแแ แ TCI แแแ แฏแแแแแ. แแแแ แ แแแแแแแแ แฃแแแ แแขแแกแแแ แแแกแชแ:
- แแแแแก แแแแแ แแขแแ แแก แแแแแ แแแแกแแก แจแแแแซแแแแ แจแแฎแแแแ แแ แ แแแกแขแ แฃแฅแชแแแแแก แแฆแฌแแ แแก, แแ แแแแ แแแ แฏแแแแแก แแแแก
- แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แคแฃแแฅแชแแแแ แแ แ แงแแแแ แแแ แแแแแแก แแแแแแกแแแแก, แแ แแแแ, แแแแแแแแแ, แแฎแแแแ แแแแกแ แจแแกแ แฃแแแแแก แจแแแแแ
- แแฃ แแแแแ แแ แแแฃแแ แแแแ แจแแแชแแแแแ (แแ แแก แจแแกแแซแแแแแแแ, แแฃ แแแแกแฏแแแแแ แคแฃแแฅแชแแแแแก แแแฎแแแแแ แกแแฎแแแแแแ, แ แแแแแแแช แจแแแชแแแก แกแแขแงแแ แแแฉแก), แแ แแแแญแแ แแแแ แแแแแ แแ แแแฃแแ JS แแแแแก แแแฃแฅแแแแ, แแแแ แแ แแแแแช แแแฅแแแแ แแแกแ แ แแแแแแ แแชแแ.
แ แแช แจแแแฎแแแ แแแกแแแ แแฃแแฅแขแก, แแแ แฌแแฃแแแแฃแแ แแ แแแ , แ แแ แแแงแแแแแ แจแแกแแซแแแแแแแ แแแแแก แแแ แแแแแ แจแแกแ แฃแแแแแก แจแแแแแ, แแแแ แแ แแแ แแแแ แแ แ แฌแแ แขแแแ แกแแแแแ แแกแแ.
แแแแแแแแ แแแแแ, แแแแ แแแแแ แแ แแแฃแแ แแงแ แแแแ แแแแแแ แแแแแแก แกแแฎแแ แแ แแแแแแแฃแ แ แแแแขแแแแแแก แแแกแขแ แฃแฅแชแแแก แแแกแแแแ แแแ, แแแแ แแ แจแแแแแ, แ แแแแกแแช แแแแแฎแกแแแ แกแขแแขแแ Emscripten-แแก, แแแแแ แแ แแแฃแแ JS-แแก แแแขแแแแแแชแแแกแ แแ แแแแแฎแแแแแก แจแแกแแฎแแ, แแแแแแฌแงแแแขแ แแแขแ แแแแแแแแแก แแแแ แแแแแ แแ แแแ, แแแ แฃแแแขแแก, แ แแ แแแแแ แแฃแแแ แแก แแฆแแแฉแแแ, แ แแ แแแ แแแแแแก แแแแแจแ แแ แแแแแ แแ แจแแกแแแแก แฌแแ แขแแแ แแแกแ แแแฌแงแแแแ. แชแแขแ แฎแแแก แจแแแแแ, แฉแแแ แแแฅแแแแ แแแแแก แแแแแ แแขแแ แ, แ แแแแแแช แฅแแแแแ แแแแก if-แแแแ (แแฃแแชแ แแแ แงแฃแแแแแก แแแ แแจแ). แแแแ แแ แชแฃแแ แแฆแแแแ, แแก แฉแแแแแแ แแ, แ แแช แแแแแแแแแ แจแแขแงแแแแแแแแก, แ แแ แแแกแขแ แฃแฅแชแแแแ แแงแ แแ แแกแฌแแ แ แกแแแ แซแแก. แฃแคแ แ แแแขแแช, แแแแ แแแกแขแ แฃแฅแชแแ แแ แ แแแฃแ แกแแแก แแแแแแ แแงแ brcond
. แแแ แแ, แแ แแแแแแแขแแ แแแแแขแฃแ แจแแแแฌแแแแแก แแ แแแกแขแ แฃแฅแชแแแก แแแแแแแ แ แแแฃแ แกแแฃแแ แแแ แแก แแแฌแงแแแแแแ แแ แจแแแแแ แแ... แแ แช แแ แแ แแแแแแแ แแ แจแแกแ แฃแแแแฃแแ, แแแแ แแ assert switch-แแก แจแแแแแ แแกแแแ แแแแแช แแแ แแแฎแแ แฎแแ. แกแแแแแแ แฏแแแจแ, แแแแแ แแ แแแฃแแ แแแแแก แจแแกแฌแแแแแก แจแแแแแ แแแแฎแแแ, แ แแ แแแแแ แแแแก แจแแแแแ, แแแแแแแแ แ แแแกแขแ แฃแฅแชแแแก แแแฉแแแแแแแแ แฎแแแแฎแแ แแขแแแ แแแแ แแแกแขแแแแ แแ แกแแแแ แแฃแแแ แแแแแฌแแ แแแแ แแแแแ แแ แแแฃแแ JavaScript แแแแแ. แแ แแกแ แแฆแแแฉแแแ. แแฃแคแแ แแก แแ แแ แแแแแแแแขแแแแ แแแแแแ แแแแ แแแก แแ แแคแแ แ แแแฐแงแแแแ แแ แชแฎแแแ แแแฎแแ, แ แแ แแแแแก แแแแแ แแขแแ แ แฌแ แแแแจแ แแฃแจแแแแแ. แฃแแแ แแแแแแแแแแฌแแแแแแ, แ แแ แแ แแแแกแฃแแแงแแแแ แแแแแแแแแแแ แขแฃแแแ แแฃแแแแแก แกแแแฆแแ แแแก แแ แแฃ แแแแแแแ, แแแจแแ แแแแแแชแแ แจแแแแแแ แขแฃแแแ แแฃแแแแแก แแแกแแแแ แแ แแแแฃแก แแแจแแแ, แ แแแ แแแแแแแ แซแแ แแฆแกแ แฃแแแแ. แแแ แแ แแแแกแ, แแก แแแแแ แแแก แแ แแแแแแแก "แ แแแแแ แแแแแ แแ แแแฃแแ แคแฃแแฅแชแแแแ แฃแแแ แแงแแก แแแฃแฅแแแแฃแแ, แแฃ แแแแขแแแแแแก แแก แแแฌแแแ แจแแแชแแแแ?" โ แแฎแแแแ แคแฃแแฅแชแแ, แ แแแแแแช แจแแแกแแแแแแแ แแ แแแ แแแแแแก แแแแแก, แฃแแแ แแแฃแฅแแแแก. แกแฎแแแแ แจแแ แแก, แแแฃแฎแแแแแแ แแแแกแ, แ แแ แงแแแแแคแแ แ แแแแแกแฌแแ แ Chromium-แจแ (แ แแแแแ แแ แแแงแแแแ Firefox แแ แฃแคแ แ แแแแแแแ แชแแแแ แแ แแฃแแแ แแก แแแแแงแแแแแ แแฅแกแแแ แแแแแขแแแแกแแแแก), Firefox แแแแแฎแแแ แ แแแแแแกแฌแแ แแแแแ แจแแฃแแแแกแแแแแแ asm.js แกแขแแแแแ แขแแแ, แ แแก แจแแแแแแแช แแแแ แฃแคแ แ แกแฌแ แแคแแ แแแแฌแงแ แแฃแจแแแแ. แฅแ แแแ.
แแแแแ แแ แแแฃแแ แแแแแก แแแแแแแแ
Compiling 0x15b46d0:
CompiledTB[0x015b46d0] = function(stdlib, ffi, heap) {
"use asm";
var HEAP8 = new stdlib.Int8Array(heap);
var HEAP16 = new stdlib.Int16Array(heap);
var HEAP32 = new stdlib.Int32Array(heap);
var HEAPU8 = new stdlib.Uint8Array(heap);
var HEAPU16 = new stdlib.Uint16Array(heap);
var HEAPU32 = new stdlib.Uint32Array(heap);
var dynCall_iiiiiiiiiii = ffi.dynCall_iiiiiiiiiii;
var getTempRet0 = ffi.getTempRet0;
var badAlignment = ffi.badAlignment;
var _i64Add = ffi._i64Add;
var _i64Subtract = ffi._i64Subtract;
var Math_imul = ffi.Math_imul;
var _mul_unsigned_long_long = ffi._mul_unsigned_long_long;
var execute_if_compiled = ffi.execute_if_compiled;
var getThrew = ffi.getThrew;
var abort = ffi.abort;
var qemu_ld_ub = ffi.qemu_ld_ub;
var qemu_ld_leuw = ffi.qemu_ld_leuw;
var qemu_ld_leul = ffi.qemu_ld_leul;
var qemu_ld_beuw = ffi.qemu_ld_beuw;
var qemu_ld_beul = ffi.qemu_ld_beul;
var qemu_ld_beq = ffi.qemu_ld_beq;
var qemu_ld_leq = ffi.qemu_ld_leq;
var qemu_st_b = ffi.qemu_st_b;
var qemu_st_lew = ffi.qemu_st_lew;
var qemu_st_lel = ffi.qemu_st_lel;
var qemu_st_bew = ffi.qemu_st_bew;
var qemu_st_bel = ffi.qemu_st_bel;
var qemu_st_leq = ffi.qemu_st_leq;
var qemu_st_beq = ffi.qemu_st_beq;
function tb_fun(tb_ptr, env, sp_value, depth) {
tb_ptr = tb_ptr|0;
env = env|0;
sp_value = sp_value|0;
depth = depth|0;
var u0 = 0, u1 = 0, u2 = 0, u3 = 0, result = 0;
var r0 = 0, r1 = 0, r2 = 0, r3 = 0, r4 = 0, r5 = 0, r6 = 0, r7 = 0, r8 = 0, r9 = 0;
var r10 = 0, r11 = 0, r12 = 0, r13 = 0, r14 = 0, r15 = 0, r16 = 0, r17 = 0, r18 = 0, r19 = 0;
var r20 = 0, r21 = 0, r22 = 0, r23 = 0, r24 = 0, r25 = 0, r26 = 0, r27 = 0, r28 = 0, r29 = 0;
var r30 = 0, r31 = 0, r41 = 0, r42 = 0, r43 = 0, r44 = 0;
r14 = env|0;
r15 = sp_value|0;
START: do {
r0 = HEAPU32[((r14 + (-4))|0) >> 2] | 0;
r42 = 0;
result = ((r0|0) != (r42|0))|0;
HEAPU32[1445307] = r0;
HEAPU32[1445321] = r14;
if(result|0) {
HEAPU32[1445322] = r15;
return 0x0345bf93|0;
}
r0 = HEAPU32[((r14 + (16))|0) >> 2] | 0;
r42 = 8;
r0 = ((r0|0) - (r42|0))|0;
HEAPU32[(r14 + (16)) >> 2] = r0;
r1 = 8;
HEAPU32[(r14 + (44)) >> 2] = r1;
r1 = r0|0;
HEAPU32[(r14 + (40)) >> 2] = r1;
r42 = 4;
r0 = ((r0|0) + (r42|0))|0;
r2 = HEAPU32[((r14 + (24))|0) >> 2] | 0;
HEAPU32[1445307] = r0;
HEAPU32[1445308] = r1;
HEAPU32[1445309] = r2;
HEAPU32[1445321] = r14;
HEAPU32[1445322] = r15;
qemu_st_lel(env|0, r0|0, r2|0, 34, 22759218);
if(getThrew() | 0) abort();
r0 = 3241038392;
HEAPU32[1445307] = r0;
r0 = qemu_ld_leul(env|0, r0|0, 34, 22759233)|0;
if(getThrew() | 0) abort();
HEAPU32[(r14 + (24)) >> 2] = r0;
r1 = HEAPU32[((r14 + (12))|0) >> 2] | 0;
r2 = HEAPU32[((r14 + (40))|0) >> 2] | 0;
HEAPU32[1445307] = r0;
HEAPU32[1445308] = r1;
HEAPU32[1445309] = r2;
qemu_st_lel(env|0, r2|0, r1|0, 34, 22759265);
if(getThrew() | 0) abort();
r0 = HEAPU32[((r14 + (24))|0) >> 2] | 0;
HEAPU32[(r14 + (40)) >> 2] = r0;
r1 = 24;
HEAPU32[(r14 + (52)) >> 2] = r1;
r42 = 0;
result = ((r0|0) == (r42|0))|0;
if(result|0) {
HEAPU32[1445307] = r0;
HEAPU32[1445308] = r1;
}
HEAPU32[1445307] = r0;
HEAPU32[1445308] = r1;
return execute_if_compiled(22759392|0, env|0, sp_value|0, depth|0) | 0;
return execute_if_compiled(23164080|0, env|0, sp_value|0, depth|0) | 0;
break;
} while(1); abort(); return 0|0;
}
return {tb_fun: tb_fun};
}(window, CompilerFFI, Module.buffer)["tb_fun"]
แแแกแแแแ
แแกแ แ แแ, แกแแแฃแจแแ แฏแแ แแแแแ แแ แแ แแก แแแกแ แฃแแแแฃแแ, แแแแ แแ แแแแแฆแแแ แแ แแ แซแแแแแแแแแ แแจแแแแแแแแแก แคแแ แฃแแแ แกแ แฃแแงแแคแแแแ แแแงแแแแแ. แแแแขแแ แแแแแแฌแงแแแขแ แแแแแแแฅแแแงแแแแแแ แแก, แ แแช แแฎแแ แแแฅแแก. แแแแ แแแแแ แชแแขแ แกแแจแแแแแแ, แ แแแแแ แแก แแฅแกแแแ แแแแแขแแ แแ แฌแแแแกแฌแแ แแแฃแแแแแ แแ แ แ แฃแแแ แแแแแแแแก. แแแแแ, แแแจแแ แฆแแ แก แแแ แแแแฃแ แ แแขแแแฃแ แ แแแแแแแฃแแแแแแแก แแแชแแแ Qemu-แก แฃแคแ แ แแแแแแแแ แแแ แแแ แกแแแก แแแแแ. แแแแแแ แแฃแแแ, แแแขแแจแ แแ แแก แแแแ แแแแแแก แคแแ แแแขแจแ: แงแแแแแ "แแแแแกแแแแก", แ แแแแแแช แ แแฆแแชแแแแ แแ แแแแแช แแแแแ แ, แแแแแขแแแฃแแแ แแแขแแแฃแ แ แแแแแแขแแ แ แ แฃแกแฃแ แแแแแ. แกแแแแแแแแแแจแ, แแก แกแขแแขแแ แแแแฌแแแแ แแ แแก แแแกแแแแแก แฎแแแแฎแแแ แแแแฎแ แแแ git log
.
แจแแแแซแแแแ แกแชแแแแ แแก แงแแแแแคแแ แ
แ แแช แฃแแแ แแฃแจแแแแก:
- x86 แแแ แขแฃแแแฃแ แ แแ แแชแแกแแ แ แแฃแจแแแแก
- แแ แกแแแแแก JIT แแแแแก แแแแแ แแขแแ แแก แกแแแฃแจแแ แแ แแขแแขแแแ แแแแฅแแแแก แแแแแแแ JavaScript-แแแ
- แแ แกแแแแแก แกแฎแแ 32-แแแขแแแแ แกแขแฃแแ แแก แแ แฅแแขแแฅแขแฃแ แแก แแฌแงแแแแก แจแแแแแแ: แแฎแแแแ แจแแแแซแแแแ แแฆแคแ แแแแแแแแฃแแแงแแแแ Linux-แแ MIPS แแ แฅแแขแแฅแขแฃแ แแ แแ แแฃแแแ แจแ แฉแแขแแแ แแแแก แแขแแแแ แแแงแแแแแกแแแแก.
แแแแแ แ แ แจแแแแซแแแ แแแแแแแ
- แแแฃแแแชแแแก แแแฉแฅแแ แแแ. JIT แ แแแแแจแแช แแ, แ แแแแ แช แฉแแแก, แแก แฃแคแ แ แแแแ แแฃแจแแแแก, แแแแ แ Virtual x86 (แแแแ แแ แแแขแแแชแแฃแ แแ แแ แกแแแแแก แแแแแ Qemu แแแแ แ แแแฃแแแ แแแฃแแ แแแแ แแขแฃแ แแ แแ แแ แฅแแขแแฅแขแฃแ แแ)
- แแแ แแแแฃแ แ แแแขแแ แคแแแกแแก แจแแกแแฅแแแแแแ - แแฃแแฌแ แคแแแแ แ แแ แแแฅแแแ, แแ แแ แแแ แแแ แแ แแแ แแแแแแแแแ แ, แแกแ แ แแ, แแฎแแ แแ แจแแแฅแแแแ แกแขแแแแแ แขแฃแแ Emscripten แแแ แกแ, แ แแแแ แช แจแแแแซแแแ
- แจแแแชแแแแ แแแฃแจแแแ แฃแคแ แ แ แแฃแแ Qemu แคแฃแแฅแชแแแแ - แฅแกแแแ, VM แแแแ แแชแแ แแ แ.แจ.
- UPD: แแฅแแแ แฃแแแ แฌแแ แแแแแแแ แแฅแแแแ แ แแแแแแแแ แแแแแแแแ แแแ แแ แจแแชแแแแแแแก แจแแกแแฎแแ แแแฎแกแแแแแแแ Emscripten-แจแ, แ แแแแ แช แแแแก แแแแแแแแแแ Qemu-แก แแ แกแฎแแ แแ แแแฅแขแแแแก แฌแแแ แแแ แขแแ แแแ. แแแแแแแ แแแ, แ แแ แจแแซแแแก แฃแแแ แแแแ แแแแแแงแแแแ แแแแแแแแ แฌแแแแแ Emscripten-แจแ, แ แแแแ แช แฉแแแ แแแแชแแแแก แแแฌแแแ.
แฌแงแแ แ: www.habr.com