JIT āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš Qemu.js: āĻ¸ā§āĻŸāĻžāĻĢāĻŋāĻ‚ āĻāĻ–āĻ¨āĻ“ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡

āĻ•āĻ¯āĻŧā§‡āĻ• āĻŦāĻ›āĻ° āĻ†āĻ—ā§‡ āĻĢā§āĻ¯āĻžāĻŦā§āĻ°āĻŋāĻ¸ āĻŦā§‡āĻ˛āĻžāĻ°ā§āĻĄ jslinux āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ˛ā§‡āĻ–āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻŋāĻ¸āĻŋ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĨ¤ āĻ¤āĻžāĻ° āĻĒāĻ°ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ†āĻ°āĻ“ āĻ›āĻŋāĻ˛ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ x86. āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•āĻ˛ā§‡āĻ‡, āĻ¯āĻ¤āĻĻā§‚āĻ° āĻ†āĻŽāĻŋ āĻœāĻžāĻ¨āĻŋ, āĻĻā§‹āĻ­āĻžāĻˇā§€ āĻ›āĻŋāĻ˛ā§‡āĻ¨, āĻ¯āĻ–āĻ¨ Qemu, āĻāĻ•āĻ‡ āĻĢā§āĻ¯āĻžāĻŦā§āĻ°āĻŋāĻ¸ āĻŦā§‡āĻ˛āĻžāĻ°ā§āĻĄā§‡āĻ° āĻ˛ā§‡āĻ–āĻž āĻ…āĻ¨ā§‡āĻ• āĻ†āĻ—ā§‡, āĻāĻŦāĻ‚, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, āĻ•ā§‹āĻ¨ā§‹ āĻ¸ā§āĻŦ-āĻ¸āĻŽā§āĻŽāĻžāĻ¨āĻŋāĻ¤ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°, āĻšā§‹āĻ¸ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§‹āĻĄā§‡ āĻ—ā§‡āĻ¸ā§āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° JIT āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•āĻžāĻœāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§‡āĻ›ā§‡: āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻŽā§‡āĻļāĻŋāĻ¨ āĻ•ā§‹āĻĄā§‡āĻ° JIT āĻ¸āĻ‚āĻ•āĻ˛āĻ¨, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ Qemu āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻŸāĻž āĻŽāĻ¨ā§‡ āĻšāĻŦā§‡, āĻ•ā§‡āĻ¨ Qemu, āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻŦāĻžāĻ¨ā§āĻ§āĻŦ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ†āĻ›ā§‡ - āĻāĻ•āĻ‡ VirtualBox, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ - āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ Qemu āĻāĻ° āĻŦā§‡āĻļ āĻ•āĻŋāĻ›ā§ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡

  • āĻŽā§āĻ•ā§āĻ¤ āĻ‰ā§ŽāĻ¸
  • āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ›āĻžāĻĄāĻŧāĻž āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž
  • āĻĻā§‹āĻ­āĻžāĻˇā§€ āĻŽā§‹āĻĄā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž
  • āĻšā§‹āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ—ā§‡āĻ¸ā§āĻŸ āĻ‰āĻ­āĻ¯āĻŧ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨

āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡, āĻ†āĻŽāĻŋ āĻāĻ–āĻ¨ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻ¸āĻ˛ā§‡, āĻŸāĻŋāĻ¸āĻŋāĻ†āĻ‡ āĻŽā§‹āĻĄā§‡, āĻāĻŸāĻŋ āĻ…āĻ¤āĻŋāĻĨāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¨āĻ¯āĻŧ āĻ¯āĻž āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦāĻžāĻ‡āĻŸāĻ•ā§‹āĻĄ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž - āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ Qemu, āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻžāĻ¨ āĻšāĻ¨, A C āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¯āĻĨā§‡āĻˇā§āĻŸ - āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻ˛ā§‡āĻ–āĻž āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŦāĻ‚ āĻāĻ–āĻ¨, āĻĻā§āĻ‡ āĻŦāĻ›āĻ° āĻ…āĻŦāĻ¸āĻ°ā§‡ āĻ†āĻŽāĻžāĻ° āĻ…āĻŦāĻ¸āĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ•āĻŋāĻ‰āĻŽā§ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŸāĻŋāĻ™ā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•āĻ˛āĻŋāĻŦā§āĻ°āĻŋ āĻ“āĻāĻ¸āĨ¤

Emscripten āĻ•āĻŋ

āĻ†āĻœāĻ•āĻžāĻ˛, āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ†āĻŦāĻŋāĻ°ā§āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻļā§‡āĻˇ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻ˛ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĨ¤ āĻ•āĻŋāĻ›ā§, āĻ¯ā§‡āĻŽāĻ¨ āĻŸāĻžāĻ‡āĻĒ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ, āĻŽā§‚āĻ˛āĻ¤ āĻ“āĻ¯āĻŧā§‡āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, Emscripten āĻšāĻ˛ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ C āĻŦāĻž C++ āĻ•ā§‹āĻĄ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°-āĻĒāĻ āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĢāĻ°ā§āĻŽā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻšāĻžāĻ˛ā§ āĻāĻ‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻĒā§‹āĻ°ā§āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡āĻ›āĻŋ: āĻāĻ–āĻžāĻ¨ā§‡āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ PyPy āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¤āĻžāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ JIT āĻ†āĻ›ā§‡ āĻŦāĻ˛ā§‡ āĻĻāĻžāĻŦāĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ¸āĻ˛ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ‚ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž - āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ†āĻ›ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻšā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻŦā§‡ āĻāĻ•āĻ‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻļāĻŋāĻ˛āĻžāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ "āĻāĻŽāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸ā§āĻŦāĻš āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ C/C++ āĻ•ā§‹āĻĄāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻāĻŽāĻ¨ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ†āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ x86-āĻ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ - āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ†āĻ¨āĻ˛āĻžāĻ‡āĻ¨āĻĄ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸, āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•āĻŋāĻ›ā§ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ , Qemu āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻŦāĻ‚ , āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ…āĻ¨ā§‡āĻ• āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¨āĻž - āĻāĻŸāĻŋ āĻ¨āĻŋāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° JIT āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸā§ āĻŸāĻŋāĻ™ā§āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨ - āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻļā§‡āĻˇ! āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻž āĻ¨āĻ¯āĻŧ āĻŽāĻžāĻŽāĻ˛āĻž...

āĻĒā§āĻ°āĻĨāĻŽ āĻšā§‡āĻˇā§āĻŸāĻž

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ Qemu āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻž āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻ¨āĻ‡āĨ¤ ReactOS āĻĢā§‹āĻ°āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ†āĻ—ā§‡āĻ“, āĻ—ā§āĻœāĻŦ āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻĢā§āĻ¯āĻžāĻŦā§āĻ°āĻŋāĻ¸ āĻŦā§‡āĻ˛āĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž jslinux āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻž āĻ†āĻŽāĻŋ āĻ¯āĻ¤āĻĻā§‚āĻ° āĻœāĻžāĻ¨āĻŋ, JS-āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ…āĻ°ā§āĻœāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻŽāĻžāĻ¤ā§āĻ°, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻĨā§‡āĻ•ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒāĻ°ā§‡, āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ x86 āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ - āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻ‰āĻ¤ā§āĻ¸ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚, āĻ¯ā§‡āĻŽāĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŽā§āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻŦā§ƒāĻšāĻ¤ā§āĻ¤āĻ° "āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž" āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ SeaBIOS āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, Emscripten āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Qemu āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻ›āĻŋāĻ˛ - āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¸āĻ•ā§‡āĻŸ āĻœā§‹āĻĄāĻŧāĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨, āĻ¯āĻ¤āĻĻā§‚āĻ° āĻ†āĻŽāĻŋ āĻŦā§āĻāĻŋ, āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ›āĻŋāĻ˛āĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻāĻŸāĻž āĻŽāĻ¨ā§‡ āĻšāĻŦā§‡, āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻ¤ā§āĻ¸ āĻ†āĻ›ā§‡, āĻāĻ–āĻžāĻ¨ā§‡ Emscripten āĻ†āĻ›ā§‡ - āĻāĻŸāĻž āĻ¨āĻŋāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛. āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ“ āĻ†āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛ā§‹āĻ° āĻ‰āĻĒāĻ° Qemu āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¸ā§‡āĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ, āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻ˛ libffi, āĻ¯āĻž glib āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡. āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻ—ā§āĻœāĻŦ āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻāĻŽāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻŦāĻŋāĻļāĻžāĻ˛ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ›āĻŋāĻ˛, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻž āĻāĻ•āĻ°āĻ•āĻŽ āĻ•āĻ āĻŋāĻ¨ āĻ›āĻŋāĻ˛: āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ›āĻŋāĻ˛ āĻ¨āĻž, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ›āĻŋāĻ˛āĨ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻļā§āĻ§ā§ āĻĒāĻŋāĻ• āĻ†āĻĒ, āĻāĻŦāĻ‚ JS āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛. āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¨āĻ¯āĻŧ - āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻŽā§‹āĻšāĻĄāĻŧ āĻĻā§‡āĻ¨, āĻ•āĻŋāĻ›ā§ āĻ•āĻ˛āĻŋāĻ‚ āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ¨ āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻœāĻŋāĻ¨āĻŋāĻ¸: āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž āĻ•ā§‹āĻĄāĻŸāĻŋāĻ•ā§‡ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° JS āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¤ā§‡, āĻ•āĻŋāĻ›ā§ āĻ•ā§ŒāĻļāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻ°āĻŋāĻ˛ā§āĻĒāĻŋāĻ‚ - āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¸āĻš āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ LLVM IR āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻĒā§āĻ°āĻļāĻ‚āĻ¸āĻ¨ā§€āĻ¯āĻŧ ifs, loops āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĨ¤ āĻ“āĻ¯āĻŧā§‡āĻ˛, āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧ? āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡, JS āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¯ā§‡, āĻ¯āĻĻāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧ, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻ¯āĻŧāĨ¤

āĻļā§āĻ°ā§āĻ¤ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 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 āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ•āĻ˛ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻ—ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ•ā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ†āĻ°āĻ“ āĻ¨āĻŋāĻšā§‡ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ–āĻ¨, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻœāĻ¨āĻ• āĻ•āĻ˛ā§‡āĻ° āĻ†āĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ• āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻŦ, āĻāĻŦāĻ‚ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻĒāĻ°āĻ‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ•āĻ˛ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦ, āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻĨāĻžāĻ•ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ• āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŦ, āĻ•ā§‹āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻšāĻ¸ā§āĻ¤āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ squandering — āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ•āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻžāĻ° āĻĒāĻ° āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻœāĻ¨āĻ• āĻ•āĻ˛ā§‡āĻ° āĻĒāĻ°ā§‡ āĻļā§āĻ°ā§ āĻšāĻ“āĻ¯āĻŧāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° "āĻ¸ā§āĻŸāĻžāĻŦāĻ¸" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ — āĻ¯ā§‡āĻŽāĻ¨: āĻ¯āĻĻāĻŋ n āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻœāĻ¨āĻ• āĻ•āĻ˛ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ n/2 āĻ•ā§‹āĻĨāĻžāĻ“ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§‡ āĻŦāĻžāĻ° — āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ•āĻ˛ā§‡āĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§‚āĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ•āĻžāĻ˛ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ†āĻŽāĻžāĻ•ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸ā§‡āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ…āĻ¨ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§‡ "āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž" (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻĒā§āĻ°āĻšāĻžāĻ° āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻ¯āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻ¸āĻŦāĻ‡ āĻ¨āĻ¯āĻŧ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻžāĻœ), āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻžāĻ¤ā§‡ āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ 60 āĻāĻŽāĻŦāĻŋ-āĻāĻ° āĻ¨āĻŋāĻšā§‡āĻ° JS āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ - āĻ†āĻ¸ā§āĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ¤ 30āĻŸāĻŋ āĻŦāĻ˛āĻŋāĨ¤ āĻ¯āĻĻāĻŋāĻ“, āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻāĻŦāĻ‚ āĻ˜āĻŸāĻ¨āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻĢā§‡āĻ˛ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ›āĻŋāĻ˛ -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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨