рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдШрд░реЗрд▓реВ рдПрд▓реНрдмреНрд░рд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХрд╣рд╛рдиреА рд╣реИ, рдЬреЛ рдпреВрдЖрдИрдкреНрд░реЛ рдХреЗ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдЦ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдиреБрдХрд╕рд╛рди рдХреА рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдЦ рджрд┐рдорд┐рддреНрд░реА (
dbezheckov )
рдмреЗрдЬрд╝реЗрддреНрдХреЛрд╡ рдФрд░ рд╡реНрд▓рд╛рджрд┐рдореАрд░ (
рд╡рд▓реЛрдбрд┐рдпрд╛рдмреЛ ) Anufrienko рджреНрд╡рд╛рд░рд╛ рдкрд╡рд┐рддреНрд░ рдЬреЗрдПрд╕ 2018 рдкрд╛рдЗрдЯрд░ рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдХрдЯ рдХреЗ рддрд╣рдд рдЖрдкрдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реЗрдЧрд╛ред
рднрд╛рдЧ 1. рдПрд▓реНрдмреНрд░рд╕, рдореВрд▓ рд░реВрдк рд╕реЗ рд░реВрд╕ рд╕реЗ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдПрд▓реНрдмреНрд░рд╕ рдХреНрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ x86 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕ рдордВрдЪ рдХреА рдХреБрдЫ рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред
рд╡реАрдПрд▓рдЖрдИрдбрдмреНрд▓реНрдпреВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛
рд╕реБрдкрд░рд╕реНрдХреЗрд▓рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд╕рдорд╛рдзрд╛рди, рдЬреЛ рдЕрдм рдмрд╛рдЬрд╛рд░ рдкрд░ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рд╡реАрдПрд▓рдЖрдИрдбрдмреНрд▓реНрдпреВ рдЖрдкрдХреЛ рд╕рднреА рд╕реНрд╡рддрдВрддреНрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп-рддрд░реНрдХ рдЙрдкрдХрд░рдгреЛрдВ (ALUs) рдХреЗ рд╕реНрдкрд╖реНрдЯ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рдореЗрдВ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдо рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдЗрд░рд╛рджреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдПрд▓реНрдмреНрд░рд╕ рдХреЗ рдкрд╛рд╕ рд╣реИ, 4. рдпрд╣ рдХреБрдЫ ALU рдХреЗ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ рдШрдбрд╝реА рдЪрдХреНрд░ рджреНрд╡рд╛рд░рд╛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд░ред
рдЯреАрдо рдмрдВрдбрд▓рд┐рдВрдЧ
рддреИрдпрд╛рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрдорд╛рдВрдб рдмрдВрдбрд▓ (рдмрдВрдбрд▓) рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдмрдВрдбрд▓ рдПрдХ рдмрдбрд╝рд╛ рдирд┐рд░реНрджреЗрд╢ рд╣реИ рдЬреЛ рдкреНрд░рддрд┐ рд╕рд╢рд░реНрдд рдШрдбрд╝реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрдИ рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдФрд░ рддреБрд░рдВрдд рдПрд▓рдмреНрд░рд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рджрд╛рдИрдВ рдУрд░ рдХреА рдЫрд╡рд┐ рдореЗрдВ, рдЧреНрд░реЗ рдЖрдпрддрд╛рдХрд╛рд░ рдмрд╛рдИрдВ рдУрд░ рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдмрдВрдбрд▓реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдирд┐рд░реНрджреЗрд╢ ldd, fmuld, faddd, fsqrts рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд▓рдЧрднрдЧ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рдмрдВрдбрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрд▓реНрдмреНрд░рд╕ рдЕрд╕реЗрдВрдмрд▓рд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рд╡рд░реНрддрдорд╛рди рдлреНрд▓реЛрдЯрдореИрде рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЛ ctpr3 рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХреЗред рдлрд┐рд░, рдЕрдВрддрд┐рдо рдмрдВрдбрд▓ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ctpr3 рдореЗрдВ рдкреНрд░реАрд▓реЛрдб рдХрд┐рдП рдЧрдП рдкрддреЗ рдкрд░ рд╕рдВрдХреНрд░рдордг рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдПрд▓реНрдмреНрд░рд╕ рдореЗрдВ x86 рдХреЗ рд▓рд┐рдП 192 + 32 + 32 рдмрдирд╛рдо 16 + 16 +8 рдХреЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВред
рд╕реНрдкрд╖реНрдЯ рд╕рдЯреНрдЯрд╛ рдмрдирд╛рдо рдирд┐рд╣рд┐рдд
рдПрд▓реНрдмреНрд░рд╕ рдХрдорд╛рдВрдб рд╕реНрддрд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ a.bar рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рдЕрд╢рдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рджрд╛рдИрдВ рдУрд░ рдХреЛрдб рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЕрдВрдд рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдкрдврд╝рдирд╛ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ b рдореЗрдВ рдорд╛рди рдХреЗрд╡рд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдЧрд▓рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╕рд╢рд░реНрдд рдирд┐рд╖реНрдкрд╛рджрди рд╕рд╣рд╛рдпрддрд╛
рдПрд▓реНрдмреНрд░рд╕ рднреА рд╕рд╢рд░реНрдд рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рджреГрдврд╝ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреЛрдб рднреА рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рд╕реЗред рдПрд▓реНрдмреНрд░рд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдзреЗрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХреЗрд╡рд▓ рджреЛ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдРрд╕реЗ рд╡рд┐рдзреЗрдп рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдордп рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдирд┐рд░реНрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, cmpeq рдирд┐рд░реНрджреЗрд╢ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рддрд╛рд░реНрдХрд┐рдХ рдкрд░рд┐рдгрд╛рдо рдХреЛ P1 рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рддрдм рдкрд░рд┐рдгрд╛рдо рдореЗрдВ b рд╕реЗ рдорд╛рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐ рд╡рд┐рдзреЗрдп рд╕рддреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдерд╛, рддреЛ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдорд╛рди 0 рдмрдирд╛ рд░рд╣рд╛ред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рдпрдВрддреНрд░рдг рдЧреНрд░рд╛рдл рдХреЛ рд╡рд┐рдзреЗрдп рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдмрдВрдбрд▓ рдХреА рдкрд░рд┐рдкреВрд░реНрдгрддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдзреЗрдп рдХреЗ рддрд╣рдд рдФрд░ рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░ рдЯреАрдо рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдВрдбрд▓реЛрдВ рд╕реЗ рднрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрд▓реНрдмреНрд░рд╕ 32 рд╡рд┐рдзреЗрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ 65 рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ (рдХрдорд╛рдВрдб рдкрд░ рдПрдХ рд╡рд┐рдзреЗрдп рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд▓рд╕ рдПрдХ) рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрдВрдЯреЗрд▓ рдореЗрдВ рдПрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреАрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрдЯреИрдХ
рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрди рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред рдПрдХ - рдЪреЗрди рд╕реНрдЯреИрдХ - рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рд░рд┐рдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдкрддреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЕрдиреНрдп - рд░рдЬрд┐рд╕реНрдЯрд░ рд╕реНрдЯреИрдХ - рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рддреАрд╕рд░рд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреИрдХ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЗрдВрдЯреЗрд▓ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдПрдХ рд╕реНрдЯреИрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИ, рдЪреВрдВрдХрд┐ рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреЗ рд╕рднреА рдкрддреЗ, рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдХреЛрдИ рдбрд╛рдпрдиреЗрдорд┐рдХ рдмреНрд░рд╛рдВрдЪ рдкреНрд░реЗрдбрд┐рдХреНрдЯрд░ рдирд╣реАрдВ
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдЧрд░-рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рд╕рдВрдХреНрд░рдордг рдХреА рддреИрдпрд╛рд░реА рд╡рд╛рд▓реА рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдВрдж рди рд╣реЛред
рддреЛ рд╣рдореЗрдВ рдПрд▓рдмреНрд░рд╕ рдкрд░ рдЬреЗрдПрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
- рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиред
- рдПрд▓рдмреНрд░рд╕ рдХрд╛ рдШрд░реЗрд▓реВ рдХрдВрдкреНрдпреВрдЯрд░ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдкрд░рд┐рдЪрдп, рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред
- Elbrus рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Node.js. рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдиреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдПрд▓реНрдмреНрд░рд╕ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮред
рдпрджрд┐ рдХреЛрдИ рджреБрднрд╛рд╖рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рджреЛ рд╕рдВрдХрд▓рдХ рдЖрддреЗ рд╣реИрдВ
Google рд╕реЗ v8 рдХреЗ рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдПрдХ рд╕рд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░реА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐ рджреЛ рд╕рдВрдХрд▓рдХ (рдХреНрд░реИрдВрдХрд╢рд╛рдлреНрдЯ рдпрд╛ рдлреБрд▓рдХреЛрдбреЗрди) рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВ, рдХреНрд░рдорд╢рдГ, рдЕрдиреБрдХреВрд▓рд┐рдд рдпрд╛ рдЧреИрд░-рдЕрдиреБрдХреВрд▓рд┐рдд рдмрд╛рдЗрдирд░реА рдХреЛрдб рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдИ рджреБрднрд╛рд╖рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред

FullCodegen рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рдкреЗрдбрд╝ рдХреЗ рдиреЛрдбреНрд╕ рдХреЛ рдмрд╛рдЗрдирд░реА рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде "рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ" рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдиреЛрдб рдореИрдХреНрд░реЛ рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдХреЛрдб рдХреА рд▓рдЧрднрдЧ 300 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рдпрд╣, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдХреНрд╖рд┐рддрд┐рдЬ рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ рдмрд╛рдпреЛрдЯреЗрдХ рд╕рдВрдХреНрд░рдордг рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдХреЛ рдореИрдХреНрд░реЛ рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдлрд┐рд░ рднреА, рдпрд╣ рд╕рдм рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдПрд▓реНрдмреНрд░рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреБрд▓рдХреЛрдбреЗрди 1.0 рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг рдерд╛ред рд╕рдм рдХреБрдЫ C ++ рд░рдирдЯрд╛рдЗрдо v8 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдХреЗрд╡рд▓ x86 рд╕реЗ рдПрд▓реНрдмреНрд░рд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдХреЛрдбрдЬреЗрди рез.рез
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд░рд┐рдгрд╛рдо рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рдерд╛, рдФрд░ рдлреБрд▓рдХреЛрдбреЗрди 1.1 рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рдХрдо рд░рдирдЯрд╛рдЗрдо рдмрдирд╛рдпрд╛, рдПрдХ рдореИрдХреНрд░реЛ рдЕрд╕реЗрдВрдмрд▓рд░ рдкрд░ рд▓рд┐рдЦрд╛;
- рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдореИрдиреБрдЕрд▓ рдЕрдЧрд░ рд░реВрдкрд╛рдВрддрд░рдг (рдЪрд┐рддреНрд░ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЗрдПрд╕ рдЪрд░ рдХреЛ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ);

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ NaN, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд, рдЕрд╢рдХреНрдд рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдПрдХ рд╕рдордп рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдЬреЛ рдХрд┐ Intel рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред
- рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдЗрдВрдЯреЗрд▓ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реНрдЯрдмреНрд╕ рдореЗрдВ рд╕реНрдкреЗрдХреБрд▓реИрд╕рд┐рдЯреА рд▓рд╛рдЧреВ рдХреА рдФрд░ MAsm (рдореИрдХреНрд░реЛ рдЕрд╕реЗрдВрдмрд▓рд░) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╛рд╕реНрдЯ-рдкрд╛рде рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
Google рдСрдХреНрдЯреЗрди рдореЗрдВ рдЯреЗрд╕реНрдЯ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рдЯреЗрд╕реНрдЯ рдорд╢реАрди:
- рдПрд▓реНрдмреНрд░рд╕: рдИ 2 рдПрд╕ 750 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ, 24 рдЬреАрдмреА
- рдЗрдВрдЯреЗрд▓: рдХреЛрд░ i7 3.4 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬ, 16 рдЬреАрдмреА
рдЖрдЧреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо:

рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдкрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рдд рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдХрд┐рддрдиреА рдмрд╛рд░ Elbrus рдЗрдВрдЯреЗрд▓ рд╕реЗ рднреА рдмрджрддрд░ рд╣реИред рджреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ, рдХреНрд░рд┐рдкреНрдЯреЛ рдФрд░ рдЬрд╝реНрд▓рд┐рдм рдкрд░, рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд╛рдлреА рдЦрд░рд╛рдм рд╣реИрдВ рдХрд┐ рдПрд▓рдмреНрд░рд╕ рдХреЗ рдкрд╛рд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕реЗ рдЬреЗрдПрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ, рдЬреЛ рдорд╛рдирдХ рдПрд▓реНрдмреНрд░рд╕ рд╡рд┐рддрд░рдг рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЬреНрдпрд╛рджрд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдлреИрд╕рд▓рд╛ - рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рдлрд┐рд░ рд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдо
- рдирдП JS рдЗрдВрдЬрди рдиреЗ test262 рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рдХрд┐рдПред рдпрд╣ рдЗрд╕реЗ рдкреВрд░реНрдг-рдХреНрд░рдорд┐рдХ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг ECMAScript 262 рдХрд╣рд▓рд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред
- рдкрд┐рдЫрд▓реЗ рдЗрдВрдЬрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдФрд╕рддрди рдкрд╛рдВрдЪ рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ - рджреБрднрд╛рд╖рд┐рдпрд╛ред
- Node.js 6.10 рдХреЛ V8 рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред
- рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрднреА рднреА рд╕рд╛рдд рдмрд╛рд░ рджреНрд╡рд╛рд░рд╛ FullCodegen рдкрд░ рдХреЛрд░ i7 рд╕реЗ рднреА рдмрджрддрд░ рд╣реИред
рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рдерд╛
рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ Google рдиреЗ рдШреЛрд╖рдгрд╛ рдХреА рдХрд┐ рдпрд╣ рдЕрдм FullCodegen рдФрд░ Crankshaft рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЯреАрдо рдХреЛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд╛рд╕ рдЖрджреЗрд╢ рдорд┐рд▓рд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред

рднрд╛рдЧ 2. рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдЗрд╕рдХреЗ рдордХрдбрд╝реА рдмрдВрджрд░
рдпрд╣ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ - рд╕реНрдкрд╛рдЗрдбрд░рдореЙрдиреНрдХреАред рдЖрдХреГрддрд┐ рдореЗрдВ, рдЗрд╕ рдЗрдВрдЬрди рдФрд░ рдирдП V8 рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ред

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рд╕рдм рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░реА рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдмрд╛рдЗрдЯ рдХреЛрдб рдореЗрдВ, рдФрд░ рдлрд┐рд░ рдорддрднреЗрдж рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред
рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдВрдХреА рдореЗрдВ, рдмрд╛рдИрдЯреЗрдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ C ++ рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рд╕реНрд╡рд┐рдЪ рд╕реЗ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреВрджрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдирд┐рдпреЛрдЯрд┐рдорд╛рдЗрдЬрд┐рдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдмреЗрд╕рд▓рд╛рдЗрди рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдлрд┐рд░, рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ, рдЕрдиреБрдХреВрд▓рди рд╕рдВрдХрд▓рдХ рдЖрдпрди рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╡реА 8 рдЗрдВрдЬрди рдореЗрдВ, рдмрд╛рдИрдЯреЗрдХреЛрдб рдХреЛ рдЗрдиреНрдЧреНрдирд┐рд╢рди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЯрд░реНрдмреЛрдлреИрди рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ред
рдЖрдзрд╛рд░рднреВрдд, рдореИрдВ рдЖрдкрдХреЛ рдЪреБрдирддрд╛ рд╣реВрдВ!
рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдмреЗрд╕рд▓рд╛рдЗрди рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рд╣реБрдИред рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЦрдбрд╝реА рдорд╢реАрди рд╣реИред рдпрд╣реА рд╣реИ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдЯреИрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╡рд╣ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЪрд░ рд▓реЗрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ, рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд╣ рджреЛрдиреЛрдВ рдЪрд░ рдФрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдвреЗрд░ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рдХреБрдЫ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдЗрд╕ рддрдВрддреНрд░ рдХреЛ рд╕рд░рд▓ рдлрд╝рдВрдХреНрд╢рди рдлреВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрджрдо рд╕реЗ рдХрджрдо рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:




рдПрдХ рдлреНрд░реЗрдо рдХреНрдпрд╛ рд╣реИ?

рдКрдкрд░ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдЖрдк рд╢рдмреНрдж рдлрд╝реНрд░реЗрдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдпрд╣ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рд╣реИ, рдЕрд░реНрдерд╛рдд, рдвреЗрд░ рдкрд░ рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЬреЛ рдЖрдкрдХреЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди foo рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╡рд╣реА рд╣реИ рдЬреЛ рд╕реНрдЯреИрдХ рдкрд░ рджрд┐рдЦрддрд╛ рд╣реИ: рддрд░реНрдХ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╡рд░рдг, рд░рд┐рдЯрд░реНрди рдкрддрд╛, рдкрд┐рдЫрд▓реЗ рдлреНрд░реЗрдо рдХрд╛ рд╕рдВрдХреЗрдд, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣реАрдВ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреЙрд▓ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдЯреИрдХ, рдФрд░ рдлрд┐рд░ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдп рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░,
рдмреЗрд╕рд▓рд╛рдЗрди рдХреЗ
рд▓рд╛рдн :
- рдлреБрд▓рдХреЛрдбреЗрди рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдХрд╛ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХрд╛рдо рдЖрдпрд╛;
- рдХреЛрдбрд╛рдВрддрд░рдХ рдкреЛрд░реНрдЯ, рдПрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╕рдВрдХрд▓рдХ рдорд┐рд▓;
- рдпрд╣ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ;
- рдХрд┐рд╕реА рднреА рдареВрдВрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ
рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВ:
- рд░реИрдЦрд┐рдХ рдХреЛрдб, рдЬрдм рддрдХ рдЖрдк рдПрдХ рдмрд╛рдЗрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ;
- рдЪреВрдВрдХрд┐ рдпрд╣ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдХреЗрд╡рд▓ рдореИрдХреНрд░реЛ рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдПрдХ рддреИрдпрд╛рд░-рд╕рдВрдХрд▓рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рд╛ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЭреБрдХрддреА рдереА, рдпрд╣ x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рд╕реНрдЯреИрдХ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛, рдФрд░ рдлрд┐рд░ рдЙрд╕ рдкрд░ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирдП рд╕рдВрдХрд▓рдХ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрддреНрдкрд╛рджрдХрддрд╛ рддреАрди рдЧреБрдирд╛ рд╣реЛ рдЧрдИ рд╣реИ:

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдУрдХрдЯрд╛рдЗрди рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЙрдирдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдЕрд╕рд╛рдзрд╛рд░рдг рдХрд╛рдо
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЕрдкрд╡рд╛рдж x86 рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЬрдмрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд░рд┐рдЯрд░реНрди рдкрддреЗ рд╕реНрдЯреИрдХ рдХреЛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИред рд╣рдо рд░рдирдЯрд╛рдЗрдо рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрд╡рд╛рдж рдХрд╣рд╛рдВ рд╣реБрдЖ рдерд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд░рд┐рдЯрд░реНрди рдкрддрд╛ рдЙрд╕реА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЕрдкрд╡рд╛рдж рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрд▓реНрдмреНрд░рд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдПрдХ рдФрд░ рд╕реНрдЯреИрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЪреЗрди рд╕реНрдЯреИрдХ рдореЗрдВ рд░рд┐рд╡рд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреА рдХрд┐рддрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдХреЙрд▓ рд╕реНрдЯреИрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рдЪреЗрди рд╕реНрдЯреИрдХ рдореЗрдВ рдкрддреЗ рдореЗрдВ, рд╣рдо рд░рд┐рдЯрд░реНрди рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрддреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рдЗрди рдЪрд░рдгреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░рдг рд╣реИред

рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдкрд╡рд╛рдж рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдЗрдВрдЯреЗрд▓ рдкрд░ рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ:

рдПрд▓реНрдмреНрд░рд╕ рдХреЗ рд╕рд╛рде, рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЫрд▓рд╛рдВрдЧ рд╣реЛрдЧреА:

рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рджреЛрдВ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рддрд░реНрдХ рдХреЛ рдЖрдзрд╛рд░ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЦрд╛рд╕рдХрд░ рдПрд▓реНрдмреНрд░рд╕ рдкрд░ред
рдЗрд╕реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВ!
рддреЛ, рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рд╣рдо рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рд╣рдордиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рддреЗрдЬ рдХрд┐рдпрд╛:
- рдЗрдирд▓рд╛рдЗрди рдХреИрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛;
- рд╡рд┐рд▓рдВрдм рдХреА рдПрдХ рдореИрдиреБрдЕрд▓ (рдФрд░ рдлрд┐рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд) рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЧрдИ;
- рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХреА (рдХреЛрдб рдореЗрдВ рдЕрдзрд┐рдХ): рдкрд╣рд▓реЗ рд╕рдВрдХреНрд░рдордг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмреЗрд╣рддрд░;
- рдмрдврд╝реЗ рд╣реБрдП рдХреВрдбрд╝рд╛ рдмреАрдирдиреЗ рд╡рд╛рд▓реЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛
рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдВрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред

рдХреЛрдИ рднреА рдСрдкрд░реЗрд╢рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЛрдбрд┐рдВрдЧ, рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рддреАрди рдЪрдХреНрд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдо рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдордиреЗ рдЧреБрдгрди рдСрдкрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрдВрдбреНрд╕ рдиреЗ рдЕрднреА рддрдХ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗрд╡рд▓ рдЙрдирдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрд╛рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛, рдЪрд╛рд░ рдореЗрдВ рд╕реЗ рдХрдИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рд▓рдВрдм рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЗрд░реА рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдереАред

рдмреЗрд╕рд▓рд╛рдЗрди v1.0 рдмрдирд╛рдо рдмреЗрд╕рд▓рд╛рдЗрди v1.1 рдЕрдиреБрдХреВрд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдоред рдпрдХреАрди рд╣реИ, рдЗрдВрдЬрди рддреЗрдЬ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рдЖрдпрди рдмрдВрджреВрдХ рдХреИрд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдмреЗрд╕рд▓рд╛рдЗрди v1.1 рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдлрд▓рддрд╛ рдХреА рд▓рд╣рд░ рдкрд░, рдпрд╣ рдЕрдиреБрдХреВрд▓рди рд╕рдВрдХрд▓рдХ рдЖрдпрди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рд╣реИ, рд╕рдВрдХрд▓рди рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╛рдпреЛрдЯреЗрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЖрдпрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ "рд╣реЙрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕" рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ - рдЬреЛ рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ, рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡, рдПрдХ рдСрдкрд░реЗрд╢рди рдЧреНрд░рд╛рдл, рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдСрдкреНрдЯ 1, рдСрдкреНрдЯ 2, рдСрдкреНрдЯ ...), рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рд░рдЬрд┐рд╕реНрдЯрд░ рдЖрд░рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдПрдХ рд╕реАрдзреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдмрд╛рдЗрдирд░реА рдХреЛрдб рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

рдПрд▓реНрдмреНрд░рд╕ рдкрд░ рдЕрдзрд┐рдХ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВ рдФрд░ рдЯреАрдореЗрдВ рд╕реНрд╡рдпрдВ рдмрдбрд╝реА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдЯреАрдо рдкреНрд▓рд╛рдирд░
- рд╕реНрд╡рдпрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛;
- рдЦреБрдж рдХрд╛ рдПрд▓рдЖрдИрдЖрд░ (рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐);
- рдЦреБрдж рдХрд╛ рдХреЛрдб-рдЬрдирд░реЗрдЯрд░ред
рдЯреАрдо рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛ рдХреЛ рдПрд▓рдмреНрд░рд╕ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдерд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрдпрди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЙрд╕реЗ рдЯреИрдВрдЧреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣реИ:
- рдЯреАрдо рдкреНрд▓рд╛рдирд░
- рд╕реНрд╡рдпрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛;
- рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдЕрдиреБрдХреВрд▓рдиред
рдпрд╣ рдЪрдпрдирдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдВрдЧреЛ рдореЗрдВ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯреИрдВрдЧреЛ рдореЗрдВ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рджреГрд╢реНрдп рдХреЛрдбрд╛рдВрддрд░рдХ рдХреА рддрд░рд╣ рд╣реИ, рдЬрд┐рд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕рдВрдХрд▓рдХ рдХреЛ рдЕрдВрджрд░ рдХреА рддрд░рд╣ рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП? рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдореЛрдЬрд╝рд┐рд▓рд╛ рдиреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкрд╡рд┐рддреНрд░ рд╕рдВрдХрд▓рдХ рдмрдирд╛рдпрд╛, рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдмреАрдЪ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЦреБрдж рдХреА рдорд┐рдиреА-рднрд╛рд╖рд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИред

рд╡рд┐рдХрд╛рд╕ рдЕрднреА рднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдЖрдЧреЗ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред
рднрд╛рдЧ 3. рдЕрдЪреНрдЫреЗ рдХрд╛ рджреБрд╢реНрдорди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ
рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд╕рдВрдХрд▓рди
рдЖрдпрди рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЬрдм рдХреЛрдб рдЧрд░реНрдо рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рдВрдХрд▓рди рдФрд░ рдЕрдиреБрдХреВрд▓рди рд╣реЛрддрд╛ рд╣реИ, рд▓рд╛рд▓рдЪреА рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
function foo(a, b) {
return a + b;
}
function doSomeStuff(obj) {
for (let i = 0; i < 1100; ++i) {
print(foo(obj,obj));
}
}
doSomeStuff("HollyJS");
doSomeStuff({n:10});
JS Shell ( ), Mozilla, :

. , , - bailout (). , . foo object, , , . , :
function doSomeStuff(obj) {
for (let i=0; i < 1100; ++i) {
if (!(obj instanceof String))
print(foo_only_str(obj, obj));
}
}
, .
. , , DCE.

, , , .
, , , SpiderMonkey Resume Point. - , . , baseline . , runtime , . lowering, regAlloc, (snapshot), , . baseline .
:

runtime x86 : , . . , , , , , . , , Type . :

, , chain . , , .
: , chain-, N , , baseline, .
, .
:

Ion 4- baseline. :

, , SpiderMonkey, V8 Node. тАФ . .
. , , chain-.
, : 24-25 HolyJS, . тАФ , .