{"id":342269,"date":"2022-12-07T09:02:48","date_gmt":"2022-12-07T09:02:48","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=342269"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2022-12-07T09:02:48","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=342269","title":{"rendered":"<span>\u041f\u043e\u0438\u0441\u043a \u0431\u0430\u0433\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043a \u0432\u044b\u043b\u0435\u0442\u0443 Chrome<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/c65\/1f2\/7a4\/c651f27a43ac81d8940487be4609247f.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c65\/1f2\/7a4\/c651f27a43ac81d8940487be4609247f.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u00ab\u042d\u0439 \u0442\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0414\u0430, \u044f \u043a \u0442\u0435\u0431\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0441\u044c. \u041f\u0440\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043c\u043e\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b. \u0414\u0430, \u0438 \u044d\u0442\u043e\u0442 \u0442\u043e\u0436\u0435, \u0442\u044b \u0447\u0442\u043e, \u0434\u0443\u043c\u0430\u0435\u0448\u044c, \u0432 Linux \u043f\u043e\u043f\u0430\u043b\u0430?\u00bb<\/p>\n<p>  \u0412\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f. ABI (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Application_binary_interface\" rel=\"nofollow noopener noreferrer\">Application Binary Interface<\/a>) \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0438\u0445 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0431\u043e\u0440 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432 Linux \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u0430\u0432\u0438\u043b \u0432 Windows. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 Chrome \u0432 Windows. \u041d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041c\u0435\u043d\u044f \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0438\u0437\u0443\u0447\u0438\u0442\u044c <a href=\"https:\/\/bugs.chromium.org\/p\/chromium\/issues\/detail?id=1218384\" rel=\"nofollow noopener noreferrer\">\u0431\u0430\u0433 \u0432\u044b\u043b\u0435\u0442\u0430<\/a> \u0432 Chrome. \u0412\u044b\u043b\u0435\u0442 \u0447\u0451\u0442\u043a\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043b \u0441 \u0438\u043d\u044a\u0435\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 DLL \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b Chrome (\u0430 \u0438\u0445 \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u0430 \u0432\u044b\u0441\u043e\u043a\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u0441\u0442\u0430\u043b\u0438 \u044d\u0442\u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 DLL, \u043d\u043e \u043c\u043d\u0435 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>  \u041c\u043e\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u044d\u0442\u043e\u0442 \u0431\u0430\u0433 \u0440\u0430\u043d\u0435\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u043b\u0435\u0442 \u0431\u044b\u043b \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434\u0430 (\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043a\u043e\u0434 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f <a href=\"https:\/\/source.chromium.org\/chromium\/chromium\/src\/+\/main:base\/task\/thread_pool\/worker_thread.cc;l=481?q=base::internal::WorkerThread::RunWorker\" rel=\"nofollow noopener noreferrer\">\u0437\u0434\u0435\u0441\u044c<\/a>):<\/p>\n<pre><code class=\"cpp\">while (StillRunning()) {   DoLotsOfStuff();   ImportantFunction(std::move(m_ptr));   CHECK(!m_ptr); }<\/code><\/pre>\n<p>  \u041f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u043a\u043e\u0434 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0434\u043e\u043b\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0446\u0438\u043a\u043b, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u043d \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u0442 \u0443\u043c\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0431\u043d\u0443\u043b\u044f\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c. \u0412\u044b\u043b\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f CHECK \u0437\u0430\u043c\u0435\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 <em>\u043d\u0435 \u0431\u044b\u043b<\/em> \u043e\u0431\u043d\u0443\u043b\u0451\u043d. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u0432\u044b\u043b\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p>  \u0418\u0437\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0431\u0430\u0433 \u043c\u0435\u043d\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0434\u0432\u0443\u0445 \u0441\u0442\u0440\u043e\u043a. \u041a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043a\u043e\u0434\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0439? \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u0438\u043d\u043e\u0432\u043d\u0438\u043a\u0438 \u2014 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 DLL, \u043a\u0430\u043a \u0438\u043c \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c? \u042f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0431\u0430\u0439\u0442\u043e\u0432 \u043a\u043e\u0434\u0430 \u0440\u044f\u0434\u043e\u043c \u0441 \u0432\u044b\u043b\u0435\u0442\u043e\u043c \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u0451\u043b, \u0442\u0430\u043a \u043a\u0430\u043a \u0436\u0435? \u041c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u044d\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u044c.<\/p>\n<h2>\u0418\u0441\u0442\u0438\u043d\u0430 \u0442\u0430\u0438\u0442\u0441\u044f \u0432 \u0434\u0430\u043c\u043f\u0435 \u0432\u044b\u043b\u0435\u0442\u0430<\/h2>\n<p>  \u041a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e, \u044f \u0441\u043a\u0430\u0447\u0430\u043b \u043e\u0434\u0438\u043d \u0438\u0437 \u0434\u0430\u043c\u043f\u043e\u0432 \u0432\u044b\u043b\u0435\u0442\u043e\u0432 \u0438 \u0438\u0437\u0443\u0447\u0438\u043b \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 C++. \u041d\u0438\u0436\u0435 \u0432 \u0441\u043c\u0435\u0441\u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434\u0430 \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0442\u043e, \u0432\u043e \u0447\u0442\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u043e\u0434 (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u043c. \u0432 <a href=\"https:\/\/bugs.chromium.org\/p\/chromium\/issues\/detail?id=1218384#c61\" rel=\"nofollow noopener noreferrer\">\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 61<\/a> \u043a \u0431\u0430\u0433\u0443):<\/p>\n<pre><code class=\"cpp\">xorps xmm7, xmm7   ; Zero register xmm7 while (StillRunning()) {   DoLotsOfStuff();   mov rax, QWORD PTR[rsp + 50h]   movaps QWORD PTR[rsp + 50h], xmm7   ; zero m_ptr   call ImportantFunction   CrashIfNonZero(rsp+50h); }<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0444\u043e\u0440; \u0441\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0446\u0438\u043a\u043b\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0440\u0435\u0448\u0438\u043b \u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440 XMM7 (\u043e\u0434\u0438\u043d \u0438\u0437 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Streaming_SIMD_Extensions#Registers\" rel=\"nofollow noopener noreferrer\">\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 SSE<\/a>). \u0417\u0430\u0442\u0435\u043c \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 XMM7 \u0434\u043b\u044f \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u044f m_ptr (\u0445\u0440\u0430\u043d\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 rsp+50h). \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043e\u0436\u0438\u0434\u0430\u043b, \u0447\u0442\u043e XMM7 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043e\u0431\u043d\u0443\u043b\u0451\u043d\u043d\u044b\u043c, \u043d\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0435 \u0442\u0430\u043a.<\/p>\n<p>  \u042f \u0438\u0437\u0443\u0447\u0438\u043b \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0430\u043c\u043f\u043e\u0432 \u0432\u044b\u043b\u0435\u0442\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0435\u0441\u0442\u044c \u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 XMM7. \u0412\u043e\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0438\u0437 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>96 12 54 91 ca c8 18 ef 98 e8 77 c9 6e 5d ce ee<\/li>\n<li>c5 1e 15 13 00 a0 94 5b 37 a5 f3 55 a8 7e 8d 7d<\/li>\n<li>54 39 1f 15 3e bf 13 3e 58 98 fd 6d 64 a3 5a 27<\/li>\n<li>04 df 90 27 02 94 4c ed 73 65 1d 61 af da 33 36<\/li>\n<\/ul>\n<p>  \u0415\u0441\u043b\u0438 \u0432 \u044d\u0442\u0438\u0445 \u0447\u0438\u0441\u043b\u0430\u0445 \u0438 \u0435\u0441\u0442\u044c \u043f\u0430\u0442\u0442\u0435\u0440\u043d, \u0442\u043e \u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e \u0435\u0433\u043e \u043d\u0435 \u0432\u0438\u0436\u0443. \u0421\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u2014 \u044d\u0442\u043e \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0443\u043b\u0438\u043a\u0430, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<\/p>\n<h2>ABI \u2014 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e<\/h2>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/365\/99d\/b55\/36599db5586754572040917377a09bb1.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/365\/99d\/b55\/36599db5586754572040917377a09bb1.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438 DoLotsOfStuff \u0438 ImportantFunction, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442, <a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/build\/x64-calling-convention?view=msvc-170\" rel=\"nofollow noopener noreferrer\">\u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f Windows ABI<\/a> \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f XMM7 (\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 Linux \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a). \u0415\u0441\u043b\u0438 \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0435\u0433\u043e, \u0442\u043e \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0435\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c. \u041d\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u043b\u0430 (\u0438\u043b\u0438 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0430\u043b\u043e\u0441\u044c \u043c\u0435\u0441\u0442\u043e \u0432 \u0441\u0442\u0435\u043a\u0435, \u0433\u0434\u0435 \u043e\u043d\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0441\u044c, \u043d\u043e \u044d\u0442\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u0435\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u043c). \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0432\u044b\u043b\u0435\u0442\u043e\u0432 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 Chrome \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 DLL. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u044d\u0442\u0438 DLL \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Chrome \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u0438\u0445 \u0438\u043d\u044a\u0435\u0446\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043a\u043e\u0434, \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0430\u043b XMM7.<\/p>\n<p>  \u042f <a href=\"https:\/\/twitter.com\/BruceDawson0xB\/status\/1582461778361217025\" rel=\"nofollow noopener noreferrer\">\u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043e\u0431 \u044d\u0442\u043e\u043c \u0442\u0432\u0438\u0442<\/a>, \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u0443\u0437\u043d\u0430\u0442\u044c \u0442\u0435\u043e\u0440\u0438\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c. \u0421\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f\u043c\u0438 \u043e\u0431 ISR, DPC \u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u0445 \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 <a href=\"https:\/\/twitter.com\/dougallj\" rel=\"nofollow noopener noreferrer\">\u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0435 \u043e\u0431\u0449\u0430\u043b\u0441\u044f<\/a>. \u0415\u0441\u043b\u0438 \u0432\u043a\u0440\u0430\u0442\u0446\u0435, \u043e\u043d \u0441\u043a\u0430\u0437\u0430\u043b: \u00ab\u0410 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0451\u0442 <a href=\"https:\/\/chromium.googlesource.com\/chromium\/src\/+\/refs\/heads\/main\/third_party\/boringssl\/win-x86_64\/crypto\/cipher_extra\/aes128gcmsiv-x86_64.asm?pli=1#3142\" rel=\"nofollow noopener noreferrer\">\u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 Chromium<\/a>?\u00bb<\/p>\n<p>  \u042f \u0443\u0432\u0438\u0434\u0435\u043b \u044d\u0442\u043e\u0442 \u0442\u0432\u0438\u0442 \u0441 \u043c\u043e\u0435\u0433\u043e \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430, \u0430 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0448\u0451\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0430\u0432\u0442\u043e\u0440 \u0443\u0436\u0435 \u0435\u0433\u043e \u0443\u0434\u0430\u043b\u0438\u043b. \u041c\u043e\u0451 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u044b\u0433\u0440\u0430\u043b\u043e\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0435\u043c\u0443 \u0432 \u043b\u0438\u0447\u043a\u0443. \u041e\u043d \u043e\u0442\u0432\u0435\u0442\u0438\u043b, \u0447\u0442\u043e \u043a\u043e\u0434 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0435\u043c\u0443 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u043e\u043d \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 <a href=\"https:\/\/boringssl.googlesource.com\/boringssl\/+\/master\/crypto\/cipher_extra\/e_aesgcmsiv.c?pli=1#30\" rel=\"nofollow noopener noreferrer\">\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u0441\u043e\u0437\u043d\u0430\u043b\u0438<\/a> \u0438 \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 Chrome \u0432 Windows. \u0412 \u044d\u0442\u043e\u043c \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f XMM7 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 Chromium \u2014 \u0441\u0441\u044b\u043b\u043e\u043a \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e (\u0431\u043e\u043b\u0435\u0435 17 \u0442\u044b\u0441\u044f\u0447), \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u043a \u0434\u0435\u043b\u0443 \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 IDA Pro <br \/>  \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043f\u0430\u0440\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0445 \u0432 chrome.dll, \u043d\u043e \u043d\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0432\u0448\u0438\u0445 XMM7. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0431\u0430\u0433\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u00ab\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0432\u0441\u0435 \u043c\u0430\u043a\u0440\u043e\u0441\u044b \u0438 #ifdef \u0443\u0436\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b, \u0438 \u0432 \u043d\u0451\u043c \u0432\u0438\u0434\u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435.<\/p>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 dumpbin \/disasm \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 Python \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0430. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 Chrome (\u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0438\u0441\u043a\u043e\u043c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u044b\u0432\u043e\u0434\u0435) \u043c\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043b\u0438 XMM7 \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b, \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0441\u044f \u043b\u0438 \u043e\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e rsp \u043f\u0435\u0440\u0435\u0434 \u0435\u0433\u043e \u043f\u0435\u0440\u0432\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043d\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u043b, \u0447\u0442\u043e \u043e\u043d \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e rax \u0438 rbp, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0441\u043b\u0430\u0431\u0438\u043b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0438. \u041c\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0432\u044b\u0434\u0430\u0432\u0430\u043b \u043b\u043e\u0436\u043d\u043e\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043c\u043e\u0433 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u0436\u043d\u043e\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c.<\/p>\n<p>  \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u0430\u0433 \u0432\u044b\u0437\u0432\u0430\u043d \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438, \u043c\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430\u0448\u0451\u043b \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0440\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0435\u0440\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 XMM7 \u043d\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u043e \u0435\u0433\u043e:<\/p>\n<ol>\n<li>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 <code>dav1d_iflipadst_16x8_internal_16bpc_sse4<\/code> (<a href=\"https:\/\/source.chromium.org\/chromium\/chromium\/src\/+\/main:third_party\/dav1d\/libdav1d\/src\/x86\/\" rel=\"nofollow noopener noreferrer\">\u043e\u0442\u0441\u044e\u0434\u0430?<\/a>), \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 dav1d. \u0412\u0441\u0435 \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0451\u0440\u0442\u043a\u0430\u043c\u0438, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0449\u0438\u043c\u0438 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 XMM7, \u0442\u043e \u0435\u0441\u0442\u044c \u0441 \u043d\u0438\u043c\u0438 \u0432\u0441\u0451 \u0431\u044b\u043b\u043e \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<\/li>\n<li>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 <code>__longjmp_internal<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 <em>\u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e<\/em> \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0432\u0441\u0435 \u0434\u043e\u043b\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043c\u043e\u0433\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/li>\n<li>\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 Chromium \u0437\u0430\u0431\u0430\u0433\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/li>\n<\/ol>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/ee4\/ccf\/181\/ee4ccf18115ac89dda380780a06dd130.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ee4\/ccf\/181\/ee4ccf18115ac89dda380780a06dd130.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u044d\u0442\u043e\u0439 \u0433\u0440\u0443\u0431\u043e\u0439 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u044f \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u0442\u0435 \u0436\u0435 \u0441\u0430\u043c\u044b\u0435 \u0437\u0430\u0431\u0430\u0433\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 chrome.dll, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043c\u043e\u0439 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a \u0432 Twitter.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <a href=\"https:\/\/source.chromium.org\/chromium\/chromium\/src\/+\/main:third_party\/libyuv\/source\/scale_gcc.cc;l=1003?q=ScaleRowUp2_Bilinear_12_SSSE3\" rel=\"nofollow noopener noreferrer\">ScaleRowUp2_Bilinear_12_SSSE3<\/a> \u0432 WebRTC \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0430 \u0432 XMM7 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 0x0008000800080008 \u0431\u0435\u0437 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u0431\u0430\u0433, \u0438 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u044b\u043b\u0435\u0442\u044b, \u043d\u043e \u044f \u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u0431\u044b\u043b \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 <em>\u044d\u0442\u043e\u0433\u043e<\/em> \u0432\u044b\u043b\u0435\u0442\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u043c\u043d\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f XMM7 \u0431\u044b\u043b\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438. \u042f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b \u043e\u0442\u0447\u0451\u0442 \u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u0430\u0432\u0442\u043e\u0440\u0443, \u043e\u043d <a href=\"https:\/\/bugs.chromium.org\/p\/libyuv\/issues\/detail?id=945\" rel=\"nofollow noopener noreferrer\">\u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0431\u0430\u0433<\/a> \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u043b \u0435\u0433\u043e \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 24 \u0447\u0430\u0441\u043e\u0432.<\/p>\n<p>  <a href=\"https:\/\/source.chromium.org\/chromium\/chromium\/src\/+\/main:third_party\/openh264\/src\/codec\/processing\/src\/x86\/downsample_bilinear.asm;l=2226?q=DyadicBilinearQuarterDownsampler_sse\" rel=\"nofollow noopener noreferrer\">DyadicBilinearQuarterDownsampler_sse<\/a> \u0432 openh264 \u0442\u043e\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 XMM7 \u0431\u0435\u0437 \u0435\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0412\u0438\u0434\u0435\u043e\u043a\u043e\u0434\u0435\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u0435\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <em>\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e<\/em> \u044d\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0435 \u043c\u043d\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0441\u043f\u043e\u0439\u043b\u0435\u0440: \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043d\u0435 \u0432 \u044d\u0442\u043e\u043c) \u0438 \u044d\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u042f <a href=\"https:\/\/github.com\/cisco\/openh264\/issues\/3585\" rel=\"nofollow noopener noreferrer\">\u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0431\u0430\u0433<\/a>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0440\u0435\u0448\u0438\u043b \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0433\u043e. \u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u0437\u0432\u0430\u043b\u043e \u043f\u0430\u0440\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439:<\/p>\n<ol>\n<li>\u0411\u0430\u0433 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u043c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u044b\u044f\u0441\u043d\u044f\u0442\u044c (\u0438\u0437\u0443\u0447\u0430\u044f \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438) \u043d\u0443\u0436\u043d\u044b\u0435 \u0437\u0430\u043a\u043b\u0438\u043d\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0442\u0440\u0430\u043d\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e \u0441\u0443\u0442\u0438, \u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0437\u043d\u0430\u044e. \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432 \u2014 \u043d\u0430\u0448\u0435 \u0432\u0441\u0451. \u041a\u0430\u043a \u0431\u044b \u0442\u043e \u043d\u0438 \u0431\u044b\u043b\u043e, <a href=\"https:\/\/github.com\/cisco\/openh264\/commit\/db956674bbdfbaab5acdd3fdb4117c2fef5527e9\" rel=\"nofollow noopener noreferrer\">\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438<\/a> \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/li>\n<li>\u0423\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u0430 \u0432 openh264 \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e Chrome \u0441\u0440\u0430\u0437\u0443 \u0436\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 Chromium \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u00ab\u043d\u0430\u043a\u0430\u0442\u0438\u0442\u044c\u00bb \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e openh264. \u0418\u043d\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0430\u044f \u044d\u0442\u043e \u0441 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0430\u043c\u0438, \u043d\u043e \u0443 openh264 \u0435\u0451 \u043d\u0435 \u0431\u044b\u043b\u043e. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437 openh264 \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043d\u0430\u0437\u0430\u0434, \u0430 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435 \u043a\u0442\u043e-\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043b \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0432 \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443. \u0422\u0430\u043a \u043a\u0430\u043a Chromium \u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 (<a href=\"https:\/\/webrtc.org\/\" rel=\"nofollow noopener noreferrer\">WebRTC<\/a>) \u0432\u043a\u043b\u044e\u0447\u0430\u043b\u0438 \u0432 \u0441\u0435\u0431\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438\u0437 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u0432 WebRTC \u0438\u043b\u0438 Chromium, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u044d\u0442\u0430\u043f\u043e\u0432 (<a href=\"https:\/\/chromium-review.googlesource.com\/c\/chromium\/src\/+\/3986032\" rel=\"nofollow noopener noreferrer\">\u043e\u0434\u0438\u043d<\/a>, <a href=\"https:\/\/webrtc-review.googlesource.com\/c\/src\/+\/280942\" rel=\"nofollow noopener noreferrer\">\u0434\u0432\u0430<\/a>, <a href=\"https:\/\/webrtc-review.googlesource.com\/c\/src\/+\/280800\" rel=\"nofollow noopener noreferrer\">\u0442\u0440\u0438<\/a>, <a href=\"https:\/\/chromium-review.googlesource.com\/c\/chromium\/src\/+\/3996007\" rel=\"nofollow noopener noreferrer\">\u0447\u0435\u0442\u044b\u0440\u0435<\/a>, <a href=\"https:\/\/chromium-review.googlesource.com\/c\/chromium\/src\/+\/3978910\" rel=\"nofollow noopener noreferrer\">\u043f\u044f\u0442\u044c<\/a>, <a href=\"https:\/\/webrtc-review.googlesource.com\/c\/src\/+\/281561\" rel=\"nofollow noopener noreferrer\">\u0448\u0435\u0441\u0442\u044c<\/a>, <a href=\"https:\/\/chromium-review.googlesource.com\/c\/chromium\/src\/+\/4027295\" rel=\"nofollow noopener noreferrer\">\u0441\u0435\u043c\u044c<\/a>, <a href=\"https:\/\/chromium-review.googlesource.com\/c\/chromium\/src\/+\/4028582\" rel=\"nofollow noopener noreferrer\">\u0432\u043e\u0441\u0435\u043c\u044c<\/a>). \u041f\u043e \u0441\u0443\u0442\u0438, \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u0445 \u0432 WebRTC \u0438 \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043d\u0430\u043a\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f WebRTC \u0432 Chromium \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442.<\/li>\n<\/ol>\n<p>  \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b WebRTC \u0438 openh264 \u0431\u044b\u043b\u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c\u0438 \u0431\u0430\u0433\u0430\u043c\u0438, \u0430 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442 \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0432\u044b\u043b\u0435\u0442\u044b \u0432 Chromium, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u043d\u0438 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u043b\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0439 \u043c\u043d\u043e\u0439 \u0431\u0430\u0433. \u0412\u044b\u043b\u0435\u0442\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0438\u0441\u044c. \u041f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c \u0431\u044b\u043b\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0435 \u041f\u041e.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/229\/4ea\/448\/2294ea4481cc9c0f3dcc7a8513daec10.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/229\/4ea\/448\/2294ea4481cc9c0f3dcc7a8513daec10.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0411\u044b\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u043c\u0451\u043a\u043e\u0432 \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0433\u043e \u041f\u041e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0435\u0447\u0442\u043e, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0435\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430\u044f \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c \u041f\u041e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u0430. \u041e\u0434\u0438\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b \u0432\u044b\u043b\u0435\u0442\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u0430, \u0430 Microsoft \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0430 <a href=\"https:\/\/bugs.chromium.org\/p\/chromium\/issues\/detail?id=1218384#c78\" rel=\"nofollow noopener noreferrer\">\u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044e \u0441 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438, \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/a>. \u0411\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0441\u0432\u044f\u0437\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c \u041f\u041e.<\/p>\n<p>  \u041c\u044b \u0441\u0432\u044f\u0437\u0430\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c (McAfee\/Trellix) \u0438 \u043e\u043d <a href=\"https:\/\/bugs.chromium.org\/p\/chromium\/issues\/detail?id=1218384#c93\" rel=\"nofollow noopener noreferrer\">\u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 Drive Encryption<\/a>.<\/p>\n<p>  \u042f \u0440\u0430\u0434, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430, \u043d\u043e \u0435\u0449\u0451 \u0431\u044b \u043c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u043d\u0430\u0434 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u043c\u043e\u0433\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0430\u0443\u0434\u0438\u0442 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c Windows ABI. \u042d\u0442\u043e \u043d\u0435 <a href=\"https:\/\/twitter.com\/Zalathar\/status\/1595204081429012480\" rel=\"nofollow noopener noreferrer\">\u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0431\u0430\u0433\u043e\u0432<\/a> \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e \u043d\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439.<\/p>\n<h2>\u041c\u043e\u044f \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f<\/h2>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c, \u043d\u043e \u0435\u0449\u0451 \u0438 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043e\u043d\u043e \u0435\u0449\u0451 \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043e. \u041c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 Chromium. \u041c\u043e\u0433\u0443\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/twitter.com\/Zalathar\/status\/1594970774603202561\" rel=\"nofollow noopener noreferrer\">\u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b<\/a>, \u0434\u0435\u043b\u0430\u044e\u0449\u0438\u0435 \u044d\u0442\u0443 \u043e\u0448\u0438\u0431\u043a\u0443, \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0435\u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0435 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 ABI Linux \u0438 Windows. \u041b\u044e\u0431\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u041f\u041e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u0441\u043b\u043e\u043c\u0430\u043d\u044b, \u0430 \u043c\u043d\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0439 ABI. \u041f\u043e\u0445\u043e\u0436\u0435, \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0431\u0430\u0433\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e.<\/p>\n<h2>\u0418\u0442\u043e\u0433<\/h2>\n<p>  \u042d\u0442\u0438 \u0432\u044b\u043b\u0435\u0442\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 M91 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 Chrome. \u041f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u043e\u043d\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u043a\u0430\u043a \u0431\u0430\u0433 Chrome, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438\u043b\u0438 \u043a\u043e\u0434 Chromium \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0442\u0430\u043a, \u0447\u0442\u043e \u0441\u0442\u0430\u043b <em>\u0443\u044f\u0437\u0432\u0438\u043c<\/em> \u043a \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 XMM7, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0438 \u0442\u0430\u043a \u0443\u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u0414\u043e M91 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b XMM7 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <em>RunWorker<\/em> (<a href=\"https:\/\/bugs.chromium.org\/p\/chromium\/issues\/detail?id=1218384#c92\" rel=\"nofollow noopener noreferrer\">\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b<\/a>), \u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 M91 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c (\u0441\u043c\u0435\u043d\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430?) \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e XMM7 \u0447\u0430\u0441\u0430\u043c\u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f \u043e\u0431\u043d\u0443\u043b\u0451\u043d\u043d\u044b\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0432 \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p>  \u0418 \u0441\u043d\u043e\u0432\u0430 \u0441\u043f\u0430\u0441\u0438\u0431\u043e <a href=\"https:\/\/twitter.com\/dougallj\" rel=\"nofollow noopener noreferrer\">Dougall<\/a> \u0437\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u0437\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0438\u043b \u043c\u0435\u043d\u044f \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0435\u0451 \u0433\u043b\u0443\u0431\u0436\u0435.<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/703894\/\"> https:\/\/habr.com\/ru\/post\/703894\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/c65\/1f2\/7a4\/c651f27a43ac81d8940487be4609247f.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c65\/1f2\/7a4\/c651f27a43ac81d8940487be4609247f.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u00ab\u042d\u0439 \u0442\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0414\u0430, \u044f \u043a \u0442\u0435\u0431\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0441\u044c. \u041f\u0440\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043c\u043e\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b. \u0414\u0430, \u0438 \u044d\u0442\u043e\u0442 \u0442\u043e\u0436\u0435, \u0442\u044b \u0447\u0442\u043e, \u0434\u0443\u043c\u0430\u0435\u0448\u044c, \u0432 Linux \u043f\u043e\u043f\u0430\u043b\u0430?\u00bb<\/p>\n<p>  \u0412\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f. ABI (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Application_binary_interface\" rel=\"nofollow noopener noreferrer\">Application Binary Interface<\/a>) \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0438\u0445 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0431\u043e\u0440 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432 Linux \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u0430\u0432\u0438\u043b \u0432 Windows. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 Chrome \u0432 Windows. \u041d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-342269","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/342269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=342269"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/342269\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=342269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=342269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=342269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}