- 03 Sep, 2020 18 commits
-
-
Ng Zhi An authored
Functions with v128 in their signatures are always lowered to 4 word32. So if a return happens to be have an input that is a f32x4 operation, we get a register allocator error because it tries to fit a float into a general register. To fix that we need to do some checks when lowering kReturn, and for each input node, if we are returning a v128, and it is to be lowered into 4 f32 nodes, we bitcast the floats to ints. Bug: v8:10507 Change-Id: Iea2fdfc4057304ebf0898e6f7091124629c589f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391331 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69705}
-
Dominik Inführ authored
Tests do not expect concurrent allocation and are simply skipped in that configuration. Bug: v8:10315 Change-Id: Ia371efa3c27e1f8b76fab47abcce2d7c218224bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390774Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69704}
-
Jakob Kummerow authored
This reverts commit 825c61d8. Reason for revert: Processing interrupts triggers a DisallowHeapAllocation scope failure. Original change's description: > Check interrupts in runtime BigInt parser > > The BigInt constructor has quadratic complexity while parsing strings, > and the input is unbounded. Interrupts should be checked during this > operation to ensure the host has control over runaway execution. > > Change-Id: I15db9adeeafadc7b866a395dd8263aa8c2109ce8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2384166 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69679} TBR=jkummerow@chromium.org,leszeks@chromium.org,marcel@laverdet.com Bug: chromium:1124477 # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I1ba8c1de1f809f71a1c4fae9b56a8bd40f9f7e7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2392815Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69703}
-
Ng Zhi An authored
We are comparing equals to 0, we can remove this equality comparison, and invert the phi outputs. This saves 1 op/node for every lowered comparision. Bug: v8:10824 Change-Id: I4957bed635c34d47fff98c5556ab55754d3fd91e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391911Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69702}
-
Santiago Aboy Solanes authored
There are some objects that are serialized with concurrent inlining off even when they are part of HEAP_BROKER_NEVER_SERIALIZED_OBJECT_LIST. Bug: v8:7790 Change-Id: I91aa0e9d93cf86e2765f1f56bcfb8456c4b7685e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2382310 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#69701}
-
evih authored
The generic wrapper can be used for Wasm functions with int32 parameters and 0 or 1 int32 return values. Added tests for cases when the return value can & cannot be converted to a Smi. Bug: v8:10701 Change-Id: I470954ed0aced0e4ec6e65a9f38caac19c576549 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390141 Commit-Queue: Eva Herencsárová <evih@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69700}
-
Dominik Inführ authored
Do not use the already existing always_allocate() method for allowing all allocations after tear down was started. Use explicit checks of gc_state() == TEAR_DOWN instead. This ensures that background threads extend the heap beyond its limits only when tearing down the isolate. always_allocate() is also used during regular execution in C++ code. Bug: v8:10315 Change-Id: I66b5bfb06fa854048f37305a5d0cb7d60fadb30f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390764 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69699}
-
Dominik Inführ authored
PagedSpace::CommittedPhysicalMemory() needs to use mutex when iterating chunks due to concurrent allocations. Also reorder sampling of memory statistics according to this order: 1) used memory 2) committed physical memory 3) committed memory That way, used <= committed physical <= committed should hold. Bug: v8:10315 Change-Id: Ie922ecc4846f724a09c71667a898bf74a8652220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390768 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69698}
-
Milad Farazmand authored
Port: a2fd94f0 Change-Id: I174ef5523806d23a0425e546ffe557b2c21defe7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390828Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69697}
-
Dominik Inführ authored
HeapWithPointerCompressionTest.HeapLayout sometimes raced with background threads. When iterating chunks, background threads might add chunks concurrently. Prevent this by enforcing safepoint during iteration. Bug: v8:10315 Change-Id: I2852ec3ea18905b669e60eadc660d9343ea35f48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390767 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69696}
-
Santiago Aboy Solanes authored
There is an int version that will be TNodified in a follow-up CL. Bug: v8:9708, v8:6949 Change-Id: I3a47cb352396dfe9dea426b6396216c06e0e3254 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387963 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#69695}
-
Ulan Degenbaev authored
This is a reland of 9eb090d2 The android-pie-arm64-dbg compiler error was fixed in: https://chromium-review.googlesource.com/c/v8/v8/+/2381450 Original change's description: > [heap] Add concurrent typed slot recording > > Since the typed slot set is not thread-safe, each concurrent marking > barrier collects typed slots locally and publishes them to the main > typed slot set in safepoints. > Bug: v8:10315 > > Change-Id: If1f5c5df786df88aac7bc27088afe91a4173c826 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370302 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69576} Bug: v8:10315 Change-Id: Iae2882bad1cd0ffcae28c96318ba5fd7937f2215 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390763Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69694}
-
Ulan Degenbaev authored
Tests that use SimulateFullSpace and SealCurrentObjects do not work if there is a background thread allocating concurrently. Bug: v8:10315 Change-Id: I73a4c9db8eb32fdf3e07fcb8f5dda309de797709 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390765Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69693}
-
Santiago Aboy Solanes authored
This used to break x64 no embed bot due to it being Large code objects but no embed no longer exists so this isn't a problem anymore. Bug: v8:9708, v8:6949, v8:9637 Change-Id: I83836a94ff1747841315d46ca0e7ec5c73bbaf0d Fix: v8:9637 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387962Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69692}
-
Ulan Degenbaev authored
ManualGCScope is used in tests that perform GC manually. Stressing concurrent allocation interferes with that and may trigger more GCs than the test expects. Bug: v8:10315 Change-Id: I6705f0b7cc555074b319a41d29810936b5a2a556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2392242Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69691}
-
Jakob Gruber authored
This is a reland of 453cf219 Original change's description: > [compiler] Add a StartNode wrapper class > > .. to make implicit semantics of output nodes explicit. > > Bug: v8:8888 > Change-Id: I2ea5f5fa02f3d1f51196ea1e1e46b526dd9dc7d6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388117 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69681} Tbr: tebbi@chromium.org Bug: v8:8888 Change-Id: I7ff3fc64c607a5289981a0762ad3a2b1de5a284d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2392241 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69690}
-
Jakob Gruber authored
JSFunctions with an attached InterpreterEntryTrampoline should also be reset to CompileLazy, but this was recently broken by https://crrev.com/c/2345966. This CL introduces a new JSFunction::CanDiscardCompiled helper to mirror SFI::CanDiscardCompiled, and uses it during serialization. Bug: v8:10869 Change-Id: I176b77278d2d40d34db671638232faec4dda1d9c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390145Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69689}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6d55754..7cbd827 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/156bfc1..8584a9d Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ed15af5..56048e6 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I64ddc2caa6feae1432aa3a7cba4e854de98acf38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391803Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#69688}
-
- 02 Sep, 2020 22 commits
-
-
Ng Zhi An authored
Due to the way SSE flags work, we need to enable all versions prior to SSE 4.1 as well. Bug: v8:10863 Change-Id: I50ddd3f486641e7bf22c651fc2c9a8a4ccbc2b46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391325Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69687}
-
Zequan Wu authored
The type of m is long in 64 bits build, and results implicit conversion loses integer precision, which was found by improved clang warning (-Wshorten-64-to-32) Bug: chromium:1124085 Change-Id: Ic9f22508bd817a06d5c90162b1ac3554a7171529 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391323 Commit-Queue: Zequan Wu <zequanwu@google.com> Auto-Submit: Zequan Wu <zequanwu@google.com> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#69686}
-
Ng Zhi An authored
This was added to try and skip tests when run on platforms without sse41, but it doesn't work fuzz tests, since they add the flags on command line. With https://crrev.com/c/2389982 we are now adding the flag in the js test file itself. Remove this condition since it's likely to be confusing and not work correctly for all tests. Bug: v8:10863 Change-Id: Ieeadade05dfc04ce250710d09a6a272775ce98c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391321Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69685}
-
Ng Zhi An authored
With https://crrev.com/c/2389982 we are now forcing the sse flag in this test, so we no longer need the flag check. Keep it around for the other archs. The nosse41 condition will be removed from the test runner in the next patch. Bug: v8:10863 Change-Id: I7eacb21803e6cc810384d3e4881d2a965dc1ad69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391320Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69684}
-
Etienne Pierre-doray authored
- JobHandle::IsCompleted() - JobDelegate::GetTaskId() - worker_count passed as argument to GetMaxConcurrency(). Jobs implementation must call the new GetMaxConcurrency(), but Jobs users aren't migrated yet. Bug: chromium:1114823 Change-Id: Ie09a8847d1cb884b1e388903370e49f33fa25a64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2374308Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Cr-Commit-Position: refs/heads/master@{#69683}
-
Clemens Backes authored
This reverts commit 453cf219. Reason for revert: Multiple compile errors, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug%20builder/45301 Original change's description: > [compiler] Add a StartNode wrapper class > > .. to make implicit semantics of output nodes explicit. > > Bug: v8:8888 > Change-Id: I2ea5f5fa02f3d1f51196ea1e1e46b526dd9dc7d6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388117 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69681} TBR=jgruber@chromium.org,tebbi@chromium.org Change-Id: Ic81321960da36e8ddcdc8e0072b2e9cd41206478 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8888 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390646Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69682}
-
Jakob Gruber authored
.. to make implicit semantics of output nodes explicit. Bug: v8:8888 Change-Id: I2ea5f5fa02f3d1f51196ea1e1e46b526dd9dc7d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388117 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69681}
-
Jakob Gruber authored
Pass this flag to print all generated nci code. Bug: v8:8888 Change-Id: I12a5e7433278c72da4a973c5890b2fb2d7857e70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388115 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69680}
-
Marcel Laverdet authored
The BigInt constructor has quadratic complexity while parsing strings, and the input is unbounded. Interrupts should be checked during this operation to ensure the host has control over runaway execution. Change-Id: I15db9adeeafadc7b866a395dd8263aa8c2109ce8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2384166Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69679}
-
Jeremy Roman authored
Bug: v8:10641 Change-Id: I9248c6877ead34e622b94cd32959b6570f824e15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390442Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Jeremy Roman <jbroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#69678}
-
HyeockJinKim authored
During spread operation, after VisitForAccumulatorValue, set the position of the current expression again Bug: chromium:929844 Change-Id: I6e9ca87587789f9cb21e939d4405414c8170b232 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2379531 Commit-Queue: HyeockJin Kim <kherootz@gmail.com> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#69677}
-
Zeynep Cankara authored
This CL unifies the map-processor and ic-processor into a single log processing pipeline. Unified processing pipeline prevents doing 2 pass over the data. Bug: v8:10644 Change-Id: Ic0221a9bb32901f43202390b98fded4830a50f70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2385496 Commit-Queue: Zeynep Cankara <zcankara@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69676}
-
Jakob Gruber authored
A random grab-bag of trivial fixes I came across while working on another CL. Bug: v8:8888 Change-Id: I6e46e1fe5a547854d8afbac19f7e049f1661c406 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388113 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69675}
-
Camillo Bruni authored
v8::String::IsExternal is confusing since it only checks for external two byte strings. The goal is to reintroduce String::IsExternal which checks for one and two byte external strings after removing the old, misleading api method. - Add String::IsExternalTwoByte - Deprecate String::IsExternal for now since it is misleading Bug: v8:10641 Change-Id: I8989de7576c823846e0536fc1898e769b6d68c87 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284495 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69674}
-
Zeynep Cankara authored
This CL enables showing map details of the selected map coming from FocusEvent. It also improves UI experience of selecting a map from map transitions, highlighting selected map. Additionally, stores information about unique map/IC events in model for the timeline-track legend. Bug: v8:10644 Change-Id: Ieb8a2ac0bf1af282d55bce18130192d7178538da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387564Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Zeynep Cankara <zcankara@google.com> Cr-Commit-Position: refs/heads/master@{#69673}
-
Ulan Degenbaev authored
The d8 shell modifies compiler flags in PrepareStressRun after isolate was already set up and has run some JS code. Updating these flags forces recomputation of implications for all flags. This causes no-op stores to some unrelated flags that are accessed from background threads leading to benign data races. Bug: v8:10315 Change-Id: I568445d4382ae392970deccbf9588c98e46a4a4e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390140 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69672}
-
Marja Hölttä authored
This is a follow up for https://chromium-review.googlesource.com/c/v8/v8/+/2362918 . The "slow" path in HandleLoadICSmiHandlerLoadNamedCase was using only "receiver", even though it should've considered both "receiver" and "holder". Bug: v8:9237 Change-Id: I5d7ba1f72e8bf55f9533f648054abf5d25c85533 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387576 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#69671}
-
Michael Lippautz authored
- Avoid invoking Trace() for in-construction objects as the method may access uninitialized fields, e.g., fields that have bogus state with zeroed memory like std::list. - Conservatively scan in-construction objects for pointers. - Verify that stack scan indeed finds all in-construction objects that are present on the heap and vice versa. Bug: chromium:1056170 Change-Id: I2c68da2b8072f715b5a0dcdb1202d5f874c6c6e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388106Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69670}
-
Zeynep Cankara authored
This CL adds drag handlers to the timeline panel to filter events based on the selected portion of the timeline tracks. Bug: v8:10644 Change-Id: Ic8a38493eacb62844b3fed5a027f8b1367f2bb59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346275 Commit-Queue: Zeynep Cankara <zcankara@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69669}
-
Martin Bidlingmaier authored
Previously we checked whether a thread's pc IsPcProcessed before pushing to the stack of (postponed) active_threads_. This commit moves the IsPcProcessed check and corresponding MarkPcProcessed call to when the thread is actually processed, i.e. when it is popped from the active_threads_ stack again. This fixes two issues: - Consider what used to happen in the following scenario: 1. An active thread t is postponed (e.g. because it is a fork) and pushed on active_threads_. IsPcProcessed(t.pc) is false, so t is not discarded and does actually end up on active_threads_. 2. Some other thread s is executed, and at some point s.pc == t.pc, i.e. t.pc is marked as processed. 3. t is popped from active_threads_ for processing. In 3 we don't want to continue execution of t: After all, its pc is already marked as processed. But because previously we only checked for IsPcProcessed in step 1 before pushing to active_threads_, we used to continue execution in 3. I don't think this is a correctness issue, but possibly a performance problem. In any case, this commit moves the IsPcProcessed check from 1 to 3 and so fixes this. - After flushing blocked_threads_, we push them to active_threads_ again. While doing so, we used to mark these thread's pcs as processed. This meant that sometimes a (fork of a) high priority thread was cancelled by the IsPcProcessed check even though its pc was only marked as processed by a thread with lower priority during flushing. We need it to be the other way round: The low priority thread should be cancelled after its pc is processed by a thread with higher priority. With this commit we don't MarkPcProcessed during flushing, it's postponed to when we're actually processing. This was a correctness issue, and there's a new corresponding test case. Bug: v8:10765 Change-Id: Ie12682cf3f8a04222d907edd8a3ad25baa69465a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388112 Commit-Queue: Martin Bidlingmaier <mbid@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69668}
-
Andreas Haas authored
The test is slow and checks the limits of the WebAssembly implementation. Sanitizers are slower and therefore sometimes run into timeouts. Therefore we just disable the test for sanitizers. R=leszeks@chromium.org Change-Id: I4a0cb994dfc34097849f0dd8528dc158883fbc8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2389980 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69667}
-
Ulan Degenbaev authored
Garbage collection requests from background threads are ignored if the heap is tearing down. This fixes CanExpandOldGenerationBackground to check for that case. Bug: v8:10315 Change-Id: I79b6a4446bf3c9037dbca54849c87f022be76b49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387964 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69666}
-