āĻāĻ¯āĻŧā§āĻ āĻŦāĻāĻ° āĻāĻā§ āĻĢā§āĻ¯āĻžāĻŦā§āĻ°āĻŋāĻ¸ āĻŦā§āĻ˛āĻžāĻ°ā§āĻĄ
- āĻŽā§āĻā§āĻ¤ āĻā§āĻ¸
- āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻĄā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻžāĻĄāĻŧāĻž āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž
- āĻĻā§āĻāĻžāĻˇā§ āĻŽā§āĻĄā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž
- āĻšā§āĻ¸ā§āĻ āĻāĻŦāĻ āĻā§āĻ¸ā§āĻ āĻāĻāĻ¯āĻŧ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨
āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§, āĻāĻŽāĻŋ āĻāĻāĻ¨ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ āĻāĻ¸āĻ˛ā§, āĻāĻŋāĻ¸āĻŋāĻāĻ āĻŽā§āĻĄā§, āĻāĻāĻŋ āĻ āĻ¤āĻŋāĻĨāĻŋ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ¨āĻ¯āĻŧ āĻ¯āĻž āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦāĻžāĻāĻāĻā§āĻĄ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻžāĻ°āĻžāĻāĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻ¨āĻž - āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻŦāĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§ Qemu, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻā§āĻ¯āĻŦāĻžāĻ¨ āĻšāĻ¨, A C āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¯āĻĨā§āĻˇā§āĻ - āĻāĻāĻāĻŋ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻ˛ā§āĻāĻž āĻ¸ā§āĻĨāĻāĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŦāĻ āĻāĻāĻ¨, āĻĻā§āĻ āĻŦāĻāĻ° āĻ āĻŦāĻ¸āĻ°ā§ āĻāĻŽāĻžāĻ° āĻ āĻŦāĻ¸āĻ° āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻŋāĻāĻŽā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ˛āĻŋāĻŦā§āĻ°āĻŋ āĻāĻāĻ¸āĨ¤
Emscripten āĻāĻŋ
āĻāĻāĻāĻžāĻ˛, āĻ
āĻ¨ā§āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŦāĻŋāĻ°ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻļā§āĻˇ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻ˛ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĨ¤ āĻāĻŋāĻā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻžāĻāĻĒ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ, āĻŽā§āĻ˛āĻ¤ āĻāĻ¯āĻŧā§āĻŦā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§, Emscripten āĻšāĻ˛ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ C āĻŦāĻž C++ āĻā§āĻĄ āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°-āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻĢāĻ°ā§āĻŽā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧāĨ¤ āĻāĻžāĻ˛ā§
āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻˇā§āĻāĻž
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻŦāĻ˛āĻ¤ā§ āĻā§āĻ˛ā§, āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ Qemu āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸āĻž āĻāĻŽāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻ¨āĻāĨ¤ ReactOS āĻĢā§āĻ°āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ¨āĻāĻŋ āĻāĻā§āĻ, āĻā§āĻāĻŦ āĻāĻŋāĻ˛ āĻ¯ā§ āĻĢā§āĻ¯āĻžāĻŦā§āĻ°āĻŋāĻ¸ āĻŦā§āĻ˛āĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°ā§āĻāĻŋāĻ˛ā§āĻ¨, āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž jslinux āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻāĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻž āĻāĻŽāĻŋ āĻ¯āĻ¤āĻĻā§āĻ° āĻāĻžāĻ¨āĻŋ, JS-āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ
āĻ°ā§āĻāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž āĻŽāĻžāĻ¤ā§āĻ°, āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻĒāĻ°ā§, āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ x86 āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻāĻ¤ā§āĻ¸ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ, āĻ¯ā§āĻŽāĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŽā§āĻ˛ā§āĻļāĻ¨ā§āĻ° āĻŦā§āĻšāĻ¤ā§āĻ¤āĻ° "āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž" āĻĢāĻžāĻ°ā§āĻŽāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ SeaBIOS āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§āĻā§āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, Emscripten āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ Qemu āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž āĻāĻŋāĻ˛ - āĻāĻŽāĻŋ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻāĻž āĻŽāĻ¨ā§ āĻšāĻŦā§, āĻāĻāĻžāĻ¨ā§ āĻāĻ¤ā§āĻ¸ āĻāĻā§, āĻāĻāĻžāĻ¨ā§ Emscripten āĻāĻā§ - āĻāĻāĻž āĻ¨āĻŋāĻ¨ āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ āĻāĻā§ āĻ¯ā§āĻā§āĻ˛ā§āĻ° āĻāĻĒāĻ° Qemu āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻāĻŦāĻ āĻ¯ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻĒāĻ° āĻ¸ā§āĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ, āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻšāĻ˛
āĻļā§āĻ°ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° JS āĻāĻ° ââāĻ¸āĻžāĻĨā§ libffi āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ˛āĻŋāĻāĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻž āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻšā§āĻĄāĻžāĻ° āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§ āĻĒāĻĄāĻŧāĻ˛āĻžāĻŽ āĻ¯āĻžāĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§ - āĻāĻŽāĻŋ āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¯ā§āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻ˛ā§, "āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻāĻŋ āĻāĻ¤ āĻāĻāĻŋāĻ˛ "āĻāĻŽāĻ°āĻž āĻāĻŋ āĻāĻ¤āĻ āĻŦā§āĻāĻž?" āĻāĻŽāĻžāĻā§ āĻ
āĻ¨ā§āĻ¯ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§ libffi āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¤āĻžāĻ āĻāĻĨāĻž āĻŦāĻ˛āĻ¤ā§ - āĻ¸ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, Emscripten-āĻ āĻāĻ¨āĻ˛āĻžāĻāĻ¨ āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ¯āĻŧ āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§, āĻšā§āĻ¯āĻžāĻ - āĻāĻžāĻ˛, āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨, āĻ¤āĻžāĻ āĻ
ā§āĻ¯āĻžāĻ¸ā§āĻŽā§āĻŦāĻ˛āĻžāĻ°), āĻāĻŦāĻ āĻĢā§āĻ˛āĻžāĻāĻ¤ā§ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ-āĻ¨āĻŋāĻ°ā§āĻāĻ° libffi āĻā§āĻāĻ°āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻŋ āĻāĻŋāĻā§ āĻ¸āĻāĻāĻ˛āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻā§āĻĄ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻāĻāĻŋ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻŽāĻžāĻ° āĻāĻļā§āĻāĻ°ā§āĻ¯, āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻĢāĻ˛ āĻšāĻ¯āĻŧā§āĻā§. āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻž āĻĻā§āĻā§ āĻ¸ā§āĻ¤āĻŽā§āĻāĻŋāĻ¤ - āĻā§āĻ¨ āĻ°āĻ¸āĻŋāĻāĻ¤āĻž āĻ¨āĻ¯āĻŧ, āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻā§āĻ āĻĨā§āĻā§ āĻāĻžāĻ āĻāĻ°ā§āĻā§ - āĻāĻŽāĻŋ, āĻāĻāĻ¨āĻ āĻāĻŽāĻžāĻ° āĻā§āĻāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻāĻŋ āĻ¨āĻž, āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻā§āĻĄāĻāĻŋ āĻāĻŦāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻ¨āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŦāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻĻāĻžāĻŽ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ - āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŽāĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŋāĻ˛ ffi_call
- āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻĢāĻ˛ āĻāĻ˛ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§āĻā§ā§ˇ āĻ¨āĻŋāĻā§āĻ āĻā§āĻ¨ā§ āĻāĻ˛ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ˛ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§āĻāĻŋ, āĻ¯āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°ā§āĻā§ āĻ¯āĻž āĻ¯ā§āĻā§āĻ¨ āĻ
āĻ˛āĻŋāĻŽā§āĻĒāĻŋāĻ¯āĻŧāĻžāĻĄ āĻļāĻŋāĻā§āĻˇāĻžāĻ°ā§āĻĨā§āĻ° āĻāĻžāĻā§ āĻ¸ā§āĻĒāĻˇā§āĻ - āĻĒā§āĻ°āĻā§āĻ¤ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ a == b
āĻāĻŦāĻ āĻāĻŽāĻ¨āĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ a - b < EPS
- āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§, āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ 0 āĻ
āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ 1/3 āĻāĻ° āĻ¸āĻŽāĻžāĻ¨ āĻšāĻŦā§... āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻŽāĻŋ libffi āĻāĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°ā§āĻ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻāĻŋ, āĻ¯ā§āĻāĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻāĻ¤ā§āĻ¤ā§āĻ°ā§āĻŖ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻ¨āĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻ˛āĻŋāĻŦ āĻ¸āĻāĻāĻ˛āĻŋāĻ¤ - āĻāĻŽāĻŋ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻšāĻŦā§, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻĒāĻ°ā§ āĻ¯ā§āĻ āĻāĻ°āĻŦāĨ¤ āĻ¸āĻžāĻŽāĻ¨ā§āĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻŋāĻ¯āĻŧā§, āĻāĻŽāĻŋ āĻŦāĻ˛āĻŦ āĻ¯ā§, āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽāĻ¨āĻāĻŋ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻā§āĻĄā§ libffi āĻĢāĻžāĻāĻļāĻ¨ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨āĻŋāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§, āĻāĻŽāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻŦāĻ˛ā§āĻāĻŋ, āĻāĻŋāĻā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻāĻ°āĻŖā§āĻ° āĻ āĻŦāĻžāĻ§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻ āĻĒā§āĻ°ā§āĻ¤āĻŋāĻāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ˛ā§āĻāĻŋāĻ¯āĻŧā§ āĻ°āĻžāĻāĻž āĻšāĻ¯āĻŧā§āĻā§ - āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ āĻāĻ°āĻž āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻāĻŋāĻā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻžāĻ āĻŦāĻ˛āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻŦā§ āĻĒā§āĻ°ā§āĻāĻŋāĻ āĻā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ āĻ¯āĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¸āĻŋ āĻĨā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻŦāĻ˛āĻ¤ā§ āĻā§āĻ˛ā§, āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĢāĻā§āĻ¸ āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻā§, āĻāĻŦāĻ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ pthread āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻāĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¨āĻŋāĨ¤ āĻāĻŽāĻžāĻā§ Qemu āĻā§āĻĄ āĻĨā§āĻā§ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻ°ā§āĻ āĻāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻ āĻ°ā§āĻĨāĻžā§, āĻĨā§āĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻ˛āĻā§ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°ā§āĻ¨, āĻāĻ āĻĨā§āĻ°ā§āĻĄā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻ˛ā§āĻĒā§āĻ° āĻŦāĻĄāĻŋāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻ¸āĻ°āĻžāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ āĻĨā§āĻā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻā§āĻ° āĻĒāĻ° āĻāĻ āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž
āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻāĻ¨āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻĄā§āĻ° āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻā§āĻ°āĻžāĻāĻā§āĻ˛āĻŋ āĻāĻ˛ā§āĻŽā§āĻ˛ā§āĻāĻžāĻŦā§ āĻ¨āĻžāĻĄāĻŧāĻžāĻāĻžāĻĄāĻŧāĻž āĻāĻ°āĻž āĻā§āĻ¨āĻ āĻāĻžāĻ˛āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°: āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ°āĻžāĻ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻā§ āĻāĻāĻ°āĻāĻŽ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 2.4.1, āĻ¯āĻž āĻ¸ā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻ¤āĻžāĻāĻž āĻāĻŋāĻ˛, āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ (2.5.0 āĻ¨āĻ¯āĻŧ, āĻāĻžāĻ°āĻŖ, āĻā§ āĻāĻžāĻ¨ā§, āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻŽāĻ¨ āĻŦāĻžāĻ āĻĨāĻžāĻāĻŦā§ āĻ¯āĻž āĻāĻāĻ¨āĻ āĻ§āĻ°āĻž āĻĒāĻĄāĻŧā§āĻ¨āĻŋ, āĻāĻŦāĻ āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻ¯āĻĨā§āĻˇā§āĻ āĻŦāĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§ ), āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻāĻž āĻāĻŋāĻ˛ thread-posix.c
. āĻ āĻŋāĻ āĻāĻā§, āĻāĻāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻšāĻŋāĻ¸āĻžāĻŦā§: āĻ¯āĻĻāĻŋ āĻā§āĻ āĻŦā§āĻ˛āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§, āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ
āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ abort()
- āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻāĻŋ āĻāĻāĻŦāĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨āĻŋ, āĻ¤āĻŦā§ āĻ
āĻ¨ā§āĻ¤āĻ¤āĻĒāĻā§āĻˇā§ āĻāĻāĻŋ āĻļāĻžāĻ¨ā§āĻ¤āĻāĻžāĻŦā§ āĻ
āĻ¸āĻā§āĻāĻ¤ āĻĄā§āĻāĻž āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻ°āĻ āĻāĻ¨āĻ¨ā§āĻĻāĻĻāĻžāĻ¯āĻŧāĻ āĻāĻŋāĻ˛āĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻā§āĻāĻ¸-āĻ āĻā§āĻĄ āĻĒā§āĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻā§āĻŦāĻ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ -s ASSERTIONS=1 -s SAFE_HEAP=1
- āĻ¤āĻžāĻ°āĻž āĻāĻŋāĻā§ āĻ§āĻ°āĻŖā§āĻ° āĻ
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻāĻ°āĻŖ āĻ§āĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻ¨āĻ˛āĻžāĻāĻ¨āĻĄ āĻ
ā§āĻ¯āĻžāĻĄā§āĻ°ā§āĻ¸ā§ āĻāĻ˛ āĻāĻ°āĻž (āĻ¯āĻž āĻāĻžāĻāĻĒ āĻāĻ°āĻž āĻ
ā§āĻ¯āĻžāĻ°ā§āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻā§āĻ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧ HEAP32[addr >> 2] = 1
) āĻ
āĻĨāĻŦāĻž āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻā§āĻ˛ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻžāĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻāĻāĻ°āĻŖ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĨ¤ āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻāĻŽāĻŋ āĻāĻā§āĻ āĻŦāĻ˛ā§āĻāĻŋ, āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨ TCI (āĻā§āĻˇā§āĻĻā§āĻ° āĻā§āĻĄ āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ°ā§āĻāĻžāĻ°) āĻāĻ° āĻāĻ¨ā§āĻ¯ Qemu āĻāĻ° āĻāĻāĻāĻŋ "āĻĄāĻŋāĻā§āĻ¨āĻžāĻ°ā§āĻ" āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ°ā§āĻāĻŋāĻ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§ Qemu āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻā§āĻ¯āĻŦāĻžāĻ¨ āĻšāĻ¨, āĻāĻāĻāĻŋ C āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĻ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ "āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻā§āĻ¯āĻŦāĻžāĻ¨ āĻšāĻ¨". āĻāĻŽāĻŋ āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤ āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŦāĻ āĻĻā§āĻāĻž āĻā§āĻ˛ āĻ¯ā§ TCI āĻ¤āĻžāĻ° āĻŦāĻžāĻāĻāĻā§āĻĄ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¨āĻ˛āĻžāĻāĻ¨āĻĄ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§āĻ° āĻāĻāĻ°āĻāĻŽ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§ āĻ āĻāĻ¤ā§āĻ¯āĻž āĻ¸āĻŽāĻ¤āĻ˛ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸āĻš, Qemu āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§ āĻāĻžāĻ°āĻŖ āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ TCG āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ¨ā§āĻāĻŋāĻ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ TCI āĻ¤āĻžāĻĻā§āĻ° āĻāĻĒāĻ° āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ āĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻļā§āĻ¨āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, TCI āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŋāĻā§ āĻāĻā§āĻāĻŋāĻ¤. āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻāĻ¯ā§āĻāĻšā§āĻ¨ āĻĒāĻĄāĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛āĻā§āĻ˛āĻŋ āĻā§āĻĄā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻž Qemu-āĻāĻ° āĻ āĻ¨ā§āĻ¯ āĻ āĻāĻļā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻā§āĻā§āĨ¤
āĻ¸ā§āĻ¤ā§āĻĒ āĻ§ā§āĻŦāĻāĻ¸
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŋāĻ¸āĻŋāĻāĻ-āĻ¤ā§ āĻ
āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§āĻāĻŋāĻā§ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°, āĻāĻ°āĻ¸āĻŋāĻāĻ āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻā§āĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻ
āĻĒāĻļāĻ¨ āĻ¸āĻš Qemu āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ -d exec,in_asm,out_asm
, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§ āĻā§āĻ¨ āĻā§āĻĄā§āĻ° āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§, āĻāĻŦāĻ āĻ¸āĻŽā§āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ¸ā§āĻ āĻā§āĻĄāĻāĻŋ āĻā§ āĻāĻŋāĻ˛, āĻšā§āĻ¸ā§āĻ āĻā§āĻĄāĻāĻŋ āĻā§ āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§ (āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻŦāĻžāĻāĻāĻā§āĻĄ)āĨ¤ āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ, āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ āĻŦā§āĻ˛āĻ āĻāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ˛āĻŋāĻā§ āĻ¯āĻž āĻāĻŽāĻŋ āĻ°ā§āĻā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ RCU āĻāĻāĻ¨ āĻļā§āĻ°ā§ āĻšāĻŦā§ āĻāĻŦāĻ... āĻā§āĻ°ā§āĻ¯āĻžāĻļ abort()
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ free()
. āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻā§āĻā§ tinkering āĻĻā§āĻŦāĻžāĻ°āĻž free()
āĻāĻŽāĻ°āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ āĻ¯ā§ āĻšāĻŋāĻĒ āĻŦā§āĻ˛āĻā§āĻ° āĻšā§āĻĄāĻžāĻ°ā§, āĻ¯āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻāĻā§āĻ¤ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻāĻā§āĻ° āĻāĻ āĻŦāĻžāĻāĻā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤, āĻŦā§āĻ˛āĻā§āĻ° āĻāĻāĻžāĻ° āĻŦāĻž āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŋāĻā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻāĻŋāĻ˛āĨ¤
āĻāĻžāĻĻāĻž āĻ§ā§āĻŦāĻāĻ¸ - āĻāĻ¤ āĻ¸ā§āĻ¨ā§āĻĻāĻ°... āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻžāĻ° āĻāĻā§ - (āĻ¯āĻĻāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧ) āĻāĻāĻ āĻāĻ¤ā§āĻ¸ āĻĨā§āĻā§, āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻŋāĻ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄā§āĻ° āĻ
āĻ§ā§āĻ¨ā§ āĻāĻžāĻ˛āĻžāĻ¨āĨ¤ āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§, āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻŋāĻ˛. āĻāĻŽāĻŋ āĻāĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ - āĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§, āĻāĻŽāĻ¨āĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ
āĻĒā§āĻ°ā§āĻ¤āĻŋāĻāĻ° - āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ, āĻāĻ¤ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ āĻŋāĻ āĻāĻāĻ āĻāĻŋāĻ˛ āĻ¨āĻž, āĻ¯āĻž āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻ āĻ¨āĻ¯āĻŧ, āĻāĻžāĻ°āĻŖ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§ āĻāĻŋāĻā§āĻāĻž āĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻā§āĻ¯āĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻāĻā§ - āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻŋ āĻāĻ āĻŦāĻžāĻāĻāĻŋ āĻ āĻŋāĻ āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§, āĻ¯āĻĻāĻŋ āĻāĻŽāĻŋ āĻāĻžāĻā§āĻ¯āĻŦāĻžāĻ¨ āĻšāĻ , āĻāĻ¸āĻ˛āĻāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻŋ āĻā§āĻ¯āĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄā§āĻ° āĻ
āĻ§ā§āĻ¨ā§ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻžāĻ˛āĻžāĻā§āĻāĻŋ... Y-y-y, y-y-y, āĻāĻš-āĻāĻš, āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻ°āĻŖā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻā§āĻ˛ āĻŽā§āĻŽāĻ°āĻŋ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ¸āĻ˛ āĻŦāĻžāĻāĻāĻŋ āĻ
āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°ā§ āĻāĻ˛ā§ āĻā§āĻā§, āĻĢāĻ˛āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻ¨āĻž āĻāĻ°āĻžāĨ¤ āĻā§āĻŦāĻ¨, āĻ¯ā§āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻ˛ā§, āĻāĻŽāĻžāĻā§ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°ā§āĻ¨āĻŋ - āĻāĻ¯āĻŧāĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄā§āĻ° āĻ
āĻ§ā§āĻ¨ā§ āĻāĻžāĻ˛ā§ āĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻļāĻŋāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻāĻ¯āĻŧāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻāĻž āĻāĻŋ āĻāĻŋāĻ˛ āĻāĻāĻāĻŋ āĻ°āĻšāĻ¸ā§āĻ¯. āĻāĻŽāĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻšāĻ˛ āĻ¯ā§ āĻāĻāĻŦāĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ°ā§āĻ¯āĻžāĻļā§āĻ° āĻĒāĻ°ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻāĻļā§āĻĒāĻžāĻļā§, āĻāĻŋāĻĄāĻŋāĻŦāĻŋ āĻāĻžāĻ āĻĻā§āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛ memset
āĻāĻāĻāĻŋ āĻŦā§āĻ§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ mmx
, āĻŦāĻž xmm
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻŋ āĻāĻ āĻ§āĻ°āĻŖā§āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻāĻāĻ°āĻŖ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻŋāĻ˛, āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨āĨ¤
āĻ āĻŋāĻ āĻāĻā§, āĻāĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻāĻāĻžāĻ¨ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻ¨āĻžāĨ¤ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻ¸āĻŦāĻāĻŋāĻā§āĻ āĻāĻŽāĻ¨āĻāĻŋ āĻļā§āĻ°ā§ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ˛āĻā§āĻˇ āĻ˛āĻā§āĻˇ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻā§ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻāĻā§āĻŦāĻžāĻ°ā§ āĻ
āĻāĻžāĻ¨āĻž āĻāĻžāĻ°āĻŖā§ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ
āĻ¨ā§āĻ āĻĻāĻŋāĻ¨ āĻ§āĻ°ā§, āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻžāĻ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻāĻŽāĻžāĻā§ āĻāĻāĻ¨āĻ āĻŦāĻ¸ā§ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽāĻāĻŋ āĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻž āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ°ā§ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻŽāĻ¤ā§ āĻ¨āĻ¯āĻŧ, āĻŦāĻ°āĻ āĻāĻ āĻ§āĻ°āĻŖā§āĻ° āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻĄā§āĻāĻžāĨ¤ āĻāĻŦāĻ, āĻĻā§āĻā§āĻ¨, āĻāĻ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ BIOS āĻĢāĻžāĻāĻ˛ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻā§āĻā§ - āĻ
āĻ°ā§āĻĨāĻžā§, āĻāĻāĻ¨ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¸āĻā§āĻāĻ¤ āĻāĻ¤ā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻ˛āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻŋāĻ˛ āĻ¯ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻĢāĻžāĻ° āĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§ āĻāĻŋāĻ˛, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽāĻ¨āĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ āĻāĻāĻŋ āĻāĻ āĻŦāĻžāĻĢāĻžāĻ°ā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ - āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ā§, āĻāĻžāĻā§āĻ¯āĻā§āĻ°āĻŽā§, āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻā§āĻ¨ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻ¨ā§āĻ, āĻāĻ¤ā§ āĻā§āĻ¨ āĻāĻŋāĻĻā§āĻ°āĻ āĻ¨ā§āĻ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻˇ āĻ˛āĻā§āĻ āĻĨā§āĻā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§āĻāĻž āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻā§āĻĄā§āĻ° āĻŽāĻžāĻāĻāĻžāĻ¨ā§ āĻā§āĻĨāĻžāĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻĨā§āĻ¯ āĻĻā§āĻā§āĻ¨, āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻĻā§āĻā§āĻ¨, āĻāĻŦāĻ, āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻĻā§āĻ¯ āĻĒāĻžāĻ¨āĨ¤ āĻ¸āĻ¤ā§āĻ¯, āĻ¯ā§āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻĒāĻ°ā§ āĻ˛āĻŋāĻā§āĻ āĻšāĻ¤ā§ āĻāĻ¯āĻŧā§āĻ āĻŽāĻŋāĻ¨āĻŋāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨? āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ˛āĻžāĻāĻ¨ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻā§āĻā§ āĻ¯āĻž āĻ
āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻŦāĻžāĻĢāĻžāĻ° āĻĨā§āĻā§ āĻ
āĻ¤āĻŋāĻĨāĻŋ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ BIOS āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻā§ - āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻŦāĻžāĻĢāĻžāĻ°ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻ āĻ
āĻĻā§āĻā§āĻ¤ āĻŦāĻžāĻĢāĻžāĻ° āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ° āĻā§āĻ¸ āĻā§āĻāĻāĻžāĻ° āĻĢāĻ˛ā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻ¯āĻŧā§āĻā§ qemu_anon_ram_alloc
āĻĢāĻžāĻāĻ˛ā§ oslib-posix.c
- āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻŋāĻ˛: āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻŋ 2 āĻāĻŽāĻŦāĻŋ āĻāĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻāĻŋ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻāĻ°āĻž āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻŦ mmap
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻā§ āĻŦā§āĻļāĻŋ, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦ munmap
. āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§āĻāĻ°āĻŖā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž 2 MB āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻŦ getpagesize()
- mmap
āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĻā§āĻŦā§... āĻ¤āĻžāĻ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ā§ mmap
āĻļā§āĻ§ā§ āĻāĻ˛ malloc
, āĻ¤āĻŦā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻāĻŋ āĻŦāĻžāĻ āĻ¯āĻž āĻāĻŽāĻžāĻā§ āĻāĻ¯āĻŧā§āĻ āĻŽāĻžāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻšāĻ¤āĻžāĻļ āĻāĻ°ā§āĻāĻŋāĻ˛ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ā§ˇ двŅŅ
āĻ˛āĻžāĻāĻ¨
āĻāĻ˛āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯
āĻāĻŦāĻ āĻāĻāĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻāĻŋāĻā§ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻā§, Qemu āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻāĻŋ āĻāĻžāĻ˛ā§ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŦāĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ˛ā§āĻĒā§ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°ā§ -d exec,in_asm,out_asm
. āĻāĻāĻāĻŋ āĻšāĻžāĻāĻĒā§āĻĨāĻŋāĻ¸āĻŋāĻ¸ āĻāĻŦāĻŋāĻ°ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§: āĻāĻžāĻāĻŽāĻžāĻ° āĻŦāĻžāĻ§āĻž (āĻŦāĻž, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻžāĻ§āĻž) āĻāĻ¸ā§ āĻ¨āĻžāĨ¤ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻāĻŋāĻ āĻ
ā§āĻ¯āĻžāĻ¸ā§āĻŽā§āĻŦāĻ˛āĻŋ āĻĨā§āĻā§ āĻŦāĻžāĻ§āĻžāĻā§āĻ˛āĻŋ āĻā§āĻ˛ā§ āĻĢā§āĻ˛ā§āĻ¨, āĻ¯āĻž āĻāĻŋāĻā§ āĻāĻžāĻ°āĻŖā§ āĻāĻžāĻ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ āĻ°āĻāĻŽ āĻāĻŦāĻŋ āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻŽā§āĻā§āĻ āĻāĻ¤ā§āĻ¤āĻ° āĻāĻŋāĻ˛ āĻ¨āĻž: āĻāĻĒāĻ°ā§āĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž āĻā§āĻ°ā§āĻ¸āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻž āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§ āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄā§āĻ° āĻāĻ¤āĻŋāĻĒāĻĨāĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻŦāĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻŦāĻ˛āĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻ˛āĻā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¯āĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻž emrun
āĻ¨ā§āĻāĻŋāĻ āĻ
ā§āĻ¯āĻžāĻ¸ā§āĻŽā§āĻŦāĻ˛āĻŋāĻ° āĻāĻāĻāĻĒā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻāĻāĻāĻĒā§āĻ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¯āĻžāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻ¯āĻŧāĨ¤ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻā§āĻāĻžāĻŦā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§ āĻ¤āĻž āĻāĻŽāĻŋ āĻ āĻŋāĻ āĻāĻžāĻ¨āĻŋ āĻ¨āĻž emrun
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻĒā§āĻā§ āĻāĻŋāĻā§ āĻ˛āĻžāĻāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻžāĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ā§āĻ° āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻāĻ¨āĻ āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻ¨āĻ¯āĻŧ āĻ¯ā§ āĻā§āĻ°āĻžāĻā§āĻā§āĻā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§ āĻā§āĻā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻāĻ ā§ ljmpl
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻā§, āĻāĻŦāĻ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻŦāĻžāĻāĻāĻā§āĻĄ āĻŽā§āĻ˛āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ˛āĻžāĻĻāĻž: āĻāĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻ°āĻ¯āĻŧā§āĻā§, āĻ
āĻ¨ā§āĻ¯āĻāĻŋāĻ¤ā§ āĻ¨ā§āĻā§ˇ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻāĻŦāĻ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻā§āĻĄāĻāĻŋ āĻ
āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ āĻ¯ā§, āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻāĻŋāĻ° āĻ āĻŋāĻ āĻāĻā§ āĻ°ā§āĻāĻŋāĻ¸ā§āĻāĻžāĻ°ā§ cr0
āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄāĻŋāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ - āĻ¯āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĻā§ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŽā§āĻĄā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻā§āĻāĻ¸ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ āĻāĻāĻ¨āĻ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŽā§āĻĄā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨āĻŋāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻšāĻ˛ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ā§āĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻŽāĻ¤ā§ āĻā§āĻĄ āĻ¸āĻšā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻ
āĻ¨ā§āĻšāĻž call
TCI āĻ¤ā§, āĻ¯ā§ āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻāĻžāĻāĻĒ āĻĢāĻ˛āĻžāĻĢāĻ˛ long long f(int arg0, .. int arg9)
- āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸āĻ āĻŋāĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻ¸āĻā§āĻā§ āĻāĻ˛ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ. āĻ¯āĻĻāĻŋ āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ˛āĻā§āĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻšāĻ¯āĻŧ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻŦā§ (āĻ¯āĻž āĻāĻžāĻ˛) āĻ
āĻĨāĻŦāĻž āĻā§āĻ˛ āĻĢāĻžāĻāĻļāĻ¨āĻā§ āĻāĻ˛ āĻāĻ°āĻŦā§ (āĻ¯āĻž āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻž āĻĻā§āĻāĻāĻāĻ¨āĻ āĻšāĻŦā§)āĨ¤ āĻāĻāĻāĻŋ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻ āĻ°āĻ¯āĻŧā§āĻā§ - āĻ°âā§āĻ¯āĻžāĻĒāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻāĻ¨ā§āĻŽāĻā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¯ā§āĻā§āĻ¤/āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻŦā§ āĻŽā§āĻ āĻāĻ āĻ°âā§āĻ¯āĻžāĻĒāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻ āĻāĻžāĻ¯āĻŧāĻāĻž āĻ¨ā§āĻ¯āĻŧ, āĻ¯āĻĻāĻŋāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻāĻŽāĻžāĻ° āĻāĻāĻļāĻāĻŋāĻ°āĻ āĻŦā§āĻļāĻŋ āĻ°âā§āĻ¯āĻžāĻĒāĻžāĻ° āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻāĻāĻŋ āĻāĻāĻž āĻā§āĻŦāĻ āĻĻā§āĻāĻāĻāĻ¨āĻ, āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻā§āĻ°ā§āĻ¤āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§: āĻ°âā§āĻ¯āĻžāĻĒāĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻā§āĻĄā§, āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻŦāĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¤āĻŦā§ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻā§ āĻŦāĻ˛āĻž āĻšāĻ¤ āĻ¨āĻž - āĻāĻžāĻ˛, āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻāĻŽāĻžāĻ° 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+, āĻŦā§āĻ˛āĻ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°ā§āĻāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻāĻžāĻ¨ā§: āĻ¨ā§āĻāĻŋāĻ āĻ
ā§āĻ¯āĻžāĻ¸ā§āĻŽā§āĻŦāĻ˛āĻŋāĻ¤ā§ āĻā§āĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻ¸āĻš āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ -nographic
, āĻāĻŦāĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻĨā§āĻā§ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§ āĻā§āĻ¨ āĻāĻāĻāĻĒā§āĻ āĻ¨ā§āĻ āĻ¯ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ā§ˇ emrun
, āĻāĻ¸ā§āĻ¨āĻŋāĨ¤ āĻ
āĻ°ā§āĻĨāĻžā§, āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻ¨āĻ¯āĻŧ: āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻāĻžāĻ āĻāĻ°āĻā§ āĻ¨āĻž āĻŦāĻž āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ¸ āĻāĻāĻāĻĒā§āĻ āĻāĻžāĻ āĻāĻ°āĻā§ āĻ¨āĻžāĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻā§ āĻ
āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻĨāĻž āĻŽāĻ¨ā§ āĻšāĻ˛āĨ¤ āĻĻā§āĻāĻž āĻā§āĻ˛ āĻ¯ā§ "āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĻāĻŋ āĻā§āĻŽāĻžāĻā§āĻā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻā§āĻŦāĻ˛ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻā§āĻŦāĻ˛āĻā§āĻŦāĻ˛ āĻāĻ°āĻā§," āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒāĻžāĻāĻ āĻŽāĻŋāĻ¨āĻŋāĻ āĻĒāĻ°ā§ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛āĻāĻŋ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻāĻā§āĻā§āĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻā§āĻāĻĄāĻŧā§ āĻĢā§āĻ˛ā§ āĻāĻŦāĻ āĻā§āĻ˛āĻ¤ā§ āĻĨāĻžāĻā§āĨ¤ āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§ āĻ¯ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° SDL2 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄāĻāĻŋ āĻāĻ¨āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŽāĻŋ āĻāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ āĻ¤āĻž āĻāĻžāĻ¨āĻŋ āĻ¨āĻž, āĻ¤āĻžāĻ āĻāĻŋāĻā§ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻāĻŽāĻžāĻā§ āĻāĻ˛ā§āĻŽā§āĻ˛ā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧā§, āĻ˛āĻžāĻāĻ¨ parallel0 āĻāĻāĻāĻŋ āĻ¨ā§āĻ˛ āĻĒāĻāĻā§āĻŽāĻŋāĻ¤ā§ āĻĒāĻ°ā§āĻĻāĻžāĻ¯āĻŧ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻāĻ°ā§āĻā§, āĻ¯āĻž āĻāĻŋāĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻĻā§āĻāĻž āĻā§āĻ˛ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻšāĻ˛ āĻ¯ā§ Qemu āĻāĻāĻāĻŋ āĻĢāĻŋāĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻāĻāĻ¨ā§āĻĄā§āĻ¤ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻāĻāĻ¨ā§āĻĄā§ āĻā§āĻ˛ā§, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ Ctrl-Alt-n āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸ā§āĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: āĻāĻāĻŋ āĻ¨ā§āĻāĻŋāĻ āĻŦāĻŋāĻ˛ā§āĻĄā§ āĻāĻžāĻ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ā§ āĻ¨āĻ¯āĻŧāĨ¤ āĻ
āĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻāĻ¨ā§āĻĄā§āĻ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ° -monitor none -parallel none -serial none
āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĢā§āĻ°ā§āĻŽā§ āĻā§āĻ° āĻāĻ°ā§ āĻĒā§āĻ°ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻāĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§, āĻ¸āĻŦāĻāĻŋāĻā§ āĻšāĻ āĻžā§ āĻāĻ°ā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
āĻāĻ°ā§āĻāĻŋāĻ¨
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻāĻŽā§āĻ˛ā§āĻļāĻ¨ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤ā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻāĻ-āĻĢā§āĻ˛āĻĒāĻŋ āĻāĻŋāĻā§ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻā§āĻ¨āĻ āĻŦā§āĻ˛āĻ I/O āĻ¨ā§āĻ - āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ°ā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ Qemu-āĻāĻ° āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻ°āĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŦāĻ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻĒā§āĻ°āĻā§āĻ¤āĻŋāĻ° āĻāĻžāĻ°āĻŖā§, āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋ āĻāĻžāĻāĻ˛āĻŋāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻĻā§āĻā§ āĻŽāĻ¨ā§ āĻšāĻŦā§ "āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ˛ā§ āĻā§āĻā§, āĻĒā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻā§āĻā§," āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŦāĻāĻŋāĻā§āĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻŦā§āĻļ āĻŽāĻāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧ: āĻāĻ° āĻāĻ āĻ¸āĻ¨ā§āĻĻā§āĻšāĻāĻ¨āĻ āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ emscripten_sleep
āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻāĻā§āĻ˛āĻŋ Asyncify āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻāĻ˛ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻ˛ āĻāĻ°ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻā§āĻ° āĻĻā§āĻāĻŋ āĻā§āĻ¸ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻāĻ°āĻ āĻ¨āĻŋāĻā§ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻāĻāĻ¨, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻ¨ā§āĻĻā§āĻšāĻāĻ¨āĻ āĻāĻ˛ā§āĻ° āĻāĻā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻ āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻĒāĻ°āĻ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ āĻāĻ˛ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĨāĻžāĻā§, āĻāĻŽāĻ°āĻž āĻāĻ āĻ
ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻ āĻĒā§āĻ°āĻ¸āĻā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŦ, āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻšāĻ¸ā§āĻ¤āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻžāĻ¨ā§āĻ āĻĒā§āĻ°āĻāĻžāĻŦ āĻ
āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ā§āĻ° āĻ¸ā§āĻ¯ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ -O3
. āĻāĻŽāĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻā§āĻĄ āĻāĻžāĻ˛āĻžāĻ, āĻāĻŦāĻ āĻā§āĻ°ā§āĻŽāĻŋāĻ¯āĻŧāĻžāĻŽ āĻŽā§āĻŽāĻ°āĻŋ āĻāĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻāĻ°ā§āĨ¤ āĻāĻŽāĻŋ āĻ¤āĻāĻ¨ āĻāĻāĻ¨āĻžāĻā§āĻ°āĻŽā§ āĻ¤āĻžāĻāĻžāĻ˛āĻžāĻŽ āĻ¯ā§ āĻ¸ā§ āĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§... āĻāĻā§āĻāĻž, āĻāĻŽāĻŋ āĻāĻŋ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻā§ 500+ āĻāĻŽāĻŦāĻŋ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°ā§ āĻ
āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻŦāĻ˛āĻž āĻšāĻ¤ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻŋāĻ āĻšāĻŋāĻŽ āĻšāĻ¯āĻŧā§ āĻ¯ā§āĻ¤āĻžāĻŽāĨ¤
āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, Asyncify āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻā§āĻĄā§āĻ° āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻŦāĻ¨ā§āĻ§ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ˛ āĻ¨āĻž longjmp
-s āĻ¯ā§āĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻā§āĻĄā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ āĻĒā§āĻ¯āĻžāĻ āĻ¯āĻž āĻāĻ āĻā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¸āĻā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻā§āĻ°āĻĒā§āĻ°ā§āĻŦāĻ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°ā§ āĻ¯ā§āĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻāĻ āĻžāĻ āĻāĻŋāĻ˛, āĻā§āĻĄāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻ
āĻĻā§āĻā§āĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛: āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻā§āĻļāĻ¨ āĻā§āĻĄā§ āĻā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻāĻāĻāĻā§āĻ˛āĻŋ āĻ¯āĻž āĻā§āĻĄāĻāĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻāĻ°ā§ āĻ¯āĻĻāĻŋ, āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻ˛āĻāĻŋāĻ āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻāĻāĻŋ āĻŦā§āĻ˛āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ - āĻā§āĻ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ° āĻāĻ°āĻž āĻŽāĻŋāĻāĻā§āĻā§āĻ¸ āĻĻāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋāĻ˛āĨ¤ āĻ¸ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻāĻĄ āĻā§āĻĄā§ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¤ā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧāĻ¨āĻŋ - āĻāĻŽāĻŋ āĻā§āĻŦāĻ˛ Emscripten āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ
ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ āĻāĻ˛ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻā§āĻ˛ā§ āĻĢā§āĻ˛āĻŦā§ āĻāĻŦāĻ āĻ¸ā§āĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§ setTimeout
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ āĻĨā§āĻā§ - āĻāĻāĻāĻžāĻŦā§, āĻā§āĻĄāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻ¨āĻž āĻ°ā§āĻā§ āĻŽā§āĻ˛ āĻ˛ā§āĻĒā§āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻā§āĨ¤ āĻāĻāĻāĻŋ āĻ
āĻ¸ā§āĻŽ āĻ˛ā§āĻĒā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻā§āĻ¨ āĻāĻŦāĻ emscripten_sleep
, āĻāĻŦāĻ mutexes āĻ¸āĻā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻŦāĻ¨ā§āĻ§. āĻā§āĻĄāĻāĻŋ āĻāĻ°āĻ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§ - āĻ¸āĻ°ā§āĻŦā§āĻĒāĻ°āĻŋ, āĻāĻ¸āĻ˛ā§, āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻā§āĻĄ āĻ¨ā§āĻ āĻ¯āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§āĻļāĻ¨ āĻĢā§āĻ°ā§āĻŽ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°ā§ - āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĻāĻŋ āĻā§āĻŦāĻ˛ āĻāĻŋāĻā§ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻā§āĻ°āĻŽā§ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĨāĻžāĻŽā§āĻ¨āĻŋ: āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ Qemu āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻā§āĻ¨ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻŦāĻž āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¨āĻŋāĻāĻļāĻŦā§āĻĻā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§ āĻ¯ā§āĻ¤āĨ¤ āĻ¸ā§āĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻā§āĻĄāĻŧā§ āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§, āĻ¸āĻžāĻŽāĻ¨ā§āĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻŋāĻ¯āĻŧā§, āĻāĻŽāĻŋ āĻŦāĻ˛āĻŦ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻŋāĻ˛: āĻā§āĻ°ā§āĻāĻŋāĻ¨ āĻā§āĻĄ, āĻāĻ¸āĻ˛ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻž setTimeout
(āĻŦāĻž āĻ
āĻ¨ā§āĻ¤āĻ¤ āĻ¯āĻ¤āĻāĻž āĻāĻĒāĻ¨āĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¤āĻ¤āĻŦāĻžāĻ° āĻ¨āĻ¯āĻŧ): āĻĢāĻžāĻāĻļāĻ¨ emscripten_yield
āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻ
ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ āĻāĻ˛ āĻĒāĻ¤āĻžāĻāĻž āĻ¸ā§āĻ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°ā§ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋ āĻšāĻ˛ āĻ¯ā§ emscripten_coroutine_next
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ āĻĢāĻžāĻāĻļāĻ¨ āĻ¨āĻ¯āĻŧ: āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻĒāĻ¤āĻžāĻāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§, āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§āĨ¤ āĻ
āĻ°ā§āĻĨāĻžā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻĒāĻĻā§āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ¸ā§āĻāĻžāĻ¨ā§āĻ āĻļā§āĻˇāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻŋāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°-āĻĒāĻ°-āĻŽā§āĻā§āĻ¤-āĻāĻ° āĻāĻžāĻ°āĻŖā§, āĻ¯āĻž āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻāĻ¨ āĻā§āĻ°ā§āĻāĻŋāĻ¨ āĻĒā§āĻ˛āĻāĻŋ āĻ
āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻ āĻāĻžāĻ°āĻŖā§ āĻ¯ā§ āĻāĻŽāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§āĻ°ā§āĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻĨā§āĻā§ āĻā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ˛āĻžāĻāĻ¨ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻŋāĻ¨āĻŋ, āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ qemu_in_coroutine
āĻ¸āĻ¤ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¯āĻāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻāĻāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻāĻŋāĻ˛. āĻāĻ āĻāĻāĻāĻŋ āĻāĻ˛ āĻ¨ā§āĻ¤ā§āĻ¤ā§āĻŦā§ emscripten_yield
, āĻ¯āĻžāĻ° āĻāĻĒāĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻāĻĒāĻ° āĻā§āĻ āĻāĻŋāĻ˛ āĻ¨āĻž emscripten_coroutine_next
, āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻā§āĻŦ āĻāĻĒāĻ°ā§ unfolded, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻž setTimeout
, āĻāĻŽāĻŋ āĻāĻā§āĻ āĻŦāĻ˛ā§āĻāĻŋ, āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤
āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨
āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§, āĻāĻ¸āĻ˛ā§, āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤ "āĻāĻŋāĻŽāĻž āĻāĻ°āĻž āĻŽāĻžāĻāĻ¸ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻāĻ¯āĻŧāĻž"āĨ¤ āĻāĻ¸āĻ˛ā§ āĻ¤āĻž āĻ¨āĻž. āĻ āĻŦāĻļā§āĻ¯āĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ Qemu āĻāĻžāĻ˛āĻžāĻ, āĻāĻŦāĻ āĻāĻ¤ā§ Node.js, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§āĻ, Qemu-āĻ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĒāĻ° āĻāĻŽāĻ°āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻā§āĻ˛ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĒāĻžāĻŦāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨āĻ, āĻāĻŋāĻā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°.
āĻĒā§āĻ°āĻĨāĻŽā§, āĻāĻŋāĻāĻŽā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻā§āĨ¤ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻāĻŽāĻžāĻā§ āĻāĻāĻ¨āĻ āĻā§āĻˇāĻŽāĻž āĻāĻ°ā§āĻ¨: āĻāĻŽāĻŋ āĻāĻāĻāĻ¨ āĻĒā§āĻļāĻžāĻĻāĻžāĻ° Qemu āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻ¨āĻ āĻāĻŦāĻ āĻāĻŽāĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤āĻā§āĻ˛āĻŋ āĻāĻŋāĻā§ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻā§āĻ˛ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻ˛ā§, "āĻļāĻŋāĻā§āĻˇāĻā§āĻ° āĻŽāĻ¤āĻžāĻŽāĻ¤, āĻĒāĻŋāĻ¯āĻŧāĻžāĻ¨ā§āĻ° āĻ¸ā§āĻŦāĻ¤āĻāĻ¸āĻŋāĻĻā§āĻ§ āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ¤ā§āĻ°ā§āĻ° āĻŽāĻ¤āĻžāĻŽāĻ¤ āĻŽāĻŋāĻ˛āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤" Qemu-āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻāĻā§āĻ¯āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻŽāĻ¤ā§ āĻ°āĻ¯āĻŧā§āĻā§ target-i386
. āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻā§āĻŦāĻ˛ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻšāĻŦā§āĨ¤ āĻā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°āĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄāĻāĻŋ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻŋāĻā§ āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ Qemu āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻ¯āĻž TCG (āĻā§āĻˇā§āĻĻā§āĻ° āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°) āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻšā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻļāĻŋāĻ¨ āĻā§āĻĄā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻāĻ°ā§āĨ¤ āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻāĻŋāĻ¸āĻŋāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ°āĻŋāĻĄāĻŽāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻāĻŋ āĻŽā§āĻ˛āĻ¤ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ¸āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°ā§āĻ° āĻ
āĻāĻļ āĻāĻŋāĻ˛, āĻ¯āĻž āĻĒāĻ°ā§ JIT-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻāĻŋāĻ¯ā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻ¨āĻĨāĻŋāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻˇāĻŋāĻ¤ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻāĻ° āĻ
āĻ¤āĻŋāĻĨāĻŋ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¨āĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻšā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°āĨ¤ āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻāĻŋāĻ¨āĻŋ āĻā§āĻĄ āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ°ā§āĻāĻžāĻ° (āĻāĻŋāĻ¸āĻŋāĻāĻ), āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻšā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻā§āĻĄ (āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻ āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ) āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻāĻ° āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻ āĻĻā§āĻāĻžāĻˇā§ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻāĻāĻŋ JIT āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¤āĻŋāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻˇāĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤āĻāĻžāĻŦā§ āĻ¨āĻ¯āĻŧ, āĻā§āĻŖāĻāĻ¤āĻāĻžāĻŦā§āĻāĨ¤ āĻ¯āĻĻāĻŋāĻ āĻāĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¨āĻ āĻ¯ā§ āĻ¤āĻžāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻāĨ¤
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻžāĻā§āĻ TCG āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻ°ā§āĻ¤ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ āĻŦāĻžāĻāĻāĻā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸ā§āĻĒāĻˇā§āĻ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻŋāĻ˛ āĻ¨āĻž, āĻ¤āĻžāĻ āĻāĻŽāĻŋ TCI āĻĻā§āĻāĻžāĻˇā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻāĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§:
- āĻāĻāĻāĻŋ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ¨ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻāĻžāĻˇā§ āĻā§āĻĄā§āĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ¨
- āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž, āĻ¤āĻŦā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļāĻ¤āĻ¤āĻŽ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻĒāĻ°ā§
- āĻ¯āĻĻāĻŋ āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻļāĻŦā§āĻĻ āĻĒā§āĻ¯āĻžāĻ āĻ¸āĻŽā§āĻŦāĻ˛āĻŋāĻ¤ āĻ¨āĻžāĻŽā§āĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°ā§), āĻāĻŽāĻžāĻā§ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž JS āĻā§āĻĄāĻāĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¤āĻŦā§ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻĨāĻžāĻāĻŦā§
āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§, āĻāĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¨āĻ āĻ¯ā§ āĻā§āĻĄāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§ āĻĒā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸āĻŽā§āĻāĻŦ, āĻ¤āĻŦā§ āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§, āĻā§āĻĄāĻāĻŋ āĻŽā§āĻ˛ āĻŦāĻžāĻāĻāĻā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ°ā§, āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨, āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻā§āĻāĻ¸ā§āĻ° āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻ°āĻŋāĻ˛ā§āĻĒāĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻŽāĻ¨ā§ āĻ°ā§āĻā§, āĻāĻŽāĻŋ āĻāĻ°āĻ āĻŽāĻžāĻ¨āĻŦ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ, āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻžāĻāĻ¤āĻāĻžāĻŦā§ āĻĻā§āĻāĻž āĻā§āĻ˛ āĻ¯ā§ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ āĻŦā§āĻ˛āĻā§āĻ° āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻŦā§āĻļ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻšāĻ˛ āĻāĻ° āĻļā§āĻ°ā§āĨ¤ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻā§āĻā§āĻˇāĻŖ āĻĒāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻāĻŋāĻ˛ āĻ¯āĻž ifs āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ (āĻ¯āĻĻāĻŋāĻ āĻ˛ā§āĻĒ āĻāĻžāĻĄāĻŧāĻžāĻ)āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯, āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§āĻ¯āĻŧ āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻŋāĻā§ āĻā§āĻ˛ āĻĻā§āĻ°ā§āĻā§āĻ¯ā§āĻ° āĻāĻŋāĻ˛āĨ¤ āĻ¤āĻžāĻāĻžāĻĄāĻŧāĻž, āĻāĻ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻ¸ā§āĻ¤āĻ°ā§ āĻļā§āĻˇ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻŋāĻ˛ brcond
. āĻ āĻŋāĻ āĻāĻā§, āĻāĻŽāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤ āĻāĻ˛ā§āĻ° āĻāĻā§ āĻāĻŦāĻ āĻĒāĻ°ā§ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨ā§ āĻāĻāĻāĻŋ āĻ
āĻāĻŋāĻ¨ā§āĻ¨ āĻā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻŦ āĻāĻŦāĻ... āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻ¸āĻžāĻ°ā§āĻ āĻ¸ā§āĻāĻā§āĻ° āĻĒāĻ°ā§āĻ āĻ¤āĻžāĻ°āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻā§āĻ¨āĻžāĻ°ā§āĻā§āĻĄ āĻā§āĻĄ āĻ
āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ āĻ¯ā§ āĻ¸ā§āĻ¯ā§āĻāĻā§āĻ° āĻĒāĻ°ā§, āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤. āĻŦāĻžāĻĢāĻžāĻ°āĻā§ āĻāĻ āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ āĻĨā§āĻā§ āĻĻāĻļā§ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻĢāĻ˛ā§ āĻāĻŋāĻā§ āĻāĻā§āĻ¨āĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻā§āĻā§ āĻ¯ā§ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°āĻāĻŋ āĻā§āĻ¨āĻžāĻļā§āĻ¨āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ˛āĻā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻŋāĻŦāĻŋāĻ° āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻ
āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°āĻŋāĻ¨āĻŋ, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŋāĻŦāĻŋāĻ° āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¯āĻŧā§āĻ āĻāĻŋāĻšā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻžāĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§ "āĻ¯āĻĻāĻŋ āĻŦāĻžāĻāĻāĻā§āĻĄā§āĻ° āĻāĻ āĻ
āĻāĻļāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻā§āĻ¨ āĻā§āĻĒāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ
āĻŦā§āĻ§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤?" â āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ
āĻŦā§āĻ§ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋāĻ āĻāĻŽāĻŋ āĻā§āĻ°ā§āĻŽāĻŋāĻ¯āĻŧāĻžāĻŽā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°ā§āĻāĻŋ (āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻŋ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĢāĻā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛āĻžāĻĻāĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻŽāĻžāĻ° āĻĒāĻā§āĻˇā§ āĻ¸āĻšāĻ), āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĢāĻā§āĻ¸ āĻāĻŽāĻžāĻā§ 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 āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒ āĻ°āĻ¯āĻŧā§āĻā§
- āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ 32-āĻŦāĻŋāĻ āĻā§āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§: āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ˛ā§āĻĄāĻŋāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ MIPS āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻĒā§āĻ°āĻļāĻāĻ¸āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¤ā§āĻŽāĻŋ āĻāĻ° āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
- āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨āĨ¤ āĻāĻŽāĻ¨āĻāĻŋ JIT āĻŽā§āĻĄā§ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ x86 āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻ§ā§āĻ° āĻāĻ¤āĻŋāĻ¤ā§ āĻāĻ˛ā§ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ (āĻ¤āĻŦā§ āĻĒā§āĻ°āĻā§āĻ° āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ Qemu āĻ°āĻ¯āĻŧā§āĻā§)
- āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ - āĻ¸āĻ¤ā§āĻ¯āĻŋ āĻŦāĻ˛āĻ¤ā§, āĻāĻŽāĻŋ āĻāĻāĻāĻ¨ āĻāĻžāĻ˛ āĻāĻ¯āĻŧā§āĻŦ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ° āĻ¨āĻ, āĻ¤āĻžāĻ āĻāĻĒāĻžāĻ¤āĻ¤ āĻāĻŽāĻŋ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ¨ āĻļā§āĻ˛āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋāĨ¤
- āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ Qemu āĻĢāĻžāĻāĻļāĻ¨ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨ - āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ, VM āĻŽāĻžāĻāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
- āĻāĻāĻĒāĻŋāĻĄāĻŋ: Qemu āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻžāĻ°āĻĻā§āĻ° āĻŽāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ Emscripten āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻāĻŦāĻ āĻŦāĻžāĻ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻŽāĻž āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻžāĻ° āĻāĻžāĻ¸ā§āĻā§āĻ° āĻ āĻāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ Emscripten-āĻ āĻ¤āĻžāĻĻā§āĻ° āĻ āĻŦāĻĻāĻžāĻ¨ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com