-
Notifications
You must be signed in to change notification settings - Fork 29.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deps: V8: backport 596d55a from upstream #19477
Conversation
d313467
to
17f186b
Compare
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#48060} Refs: v8/v8@596d55a Refs: v8/v8@f0acede Fixes: nodejs#19274
17f186b
to
f2a75d1
Compare
I'd like to fast track this to try and get it into today's 9.x release (and the upcoming 8.x rc) |
I will test this with my reproduction of #19274. Update: It works when applied to |
CI was being weird... one more TIME!!! (V8-CI is green) |
Analogous to this v9.x-staging PR submitted by @MylesBorins: nodejs#19477 I can confirm this fixes nodejs#19274 for the reproductions I've been using. Original commit message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#48060} Refs: v8/v8@596d55a
CI is good and this is ready to land on 9.x and 8.x as soon as it gets sign off |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{#48060} PR-URL: #19477 Fixes: #19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{#48060} PR-URL: #19477 Fixes: #19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
landed in 36f664e |
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{#48060} PR-URL: #19477 Fixes: #19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#48060} PR-URL: nodejs#19477 Fixes: nodejs#19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{#48060} PR-URL: #19477 Fixes: #19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#48060} PR-URL: nodejs#19477 Fixes: nodejs#19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Did not remove ActivationsFinder from `src/runtime/runtime-compiler.cc` as in the original commit as the Class is still being used prior to f0acede landing Original Commit Message: Deoptimization and multithreading. When using Lockers and Unlockers it is possible to create a scenario where multiple threads point to the same optimized code object. When that happens, if one of the threads triggers deoptimization, then the stack replacement needs to happen in the stacks of all threads. With this CL, the deoptimizer visits all threads to do so. The CL also adds three tests where V8 used to crash due to this issue. Bug: v8:6563 Change-Id: I74e9af472d4833aa8d13e579df45133791f6a503 Reviewed-on: https://chromium-review.googlesource.com/670783 Reviewed-by: Jaroslav Sevcik <[email protected]> Commit-Queue: Juliana Patricia Vicente Franco <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#48060} PR-URL: nodejs#19477 Fixes: nodejs#19274 Refs: v8/v8@596d55a Refs: v8/v8@f0acede Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Did not remove ActivationsFinder from
src/runtime/runtime-compiler.cc
as in the original commit as the Class is still being used prior to
f0acede landing
Original Commit Message:
Refs: v8/v8@596d55a
Refs: v8/v8@f0acede
/cc @nodejs/v8