- 18 Sep, 2020 10 commits
-
-
Leszek Swirski authored
This reverts commit 1aa9ab73. The reverted CL chain had an issue where ThinStrings could accidentally end up in compilation artifacts, causing issues down the line with ICs that expected direct internalized strings. The reason for this bug was that forward references to internalized strings were resolved before PostProcessNewObject. When this happened, the internalized string A would be written to the field where it was previously deferred, then PostProcessNewObject would change string A to string A', and update string A to a ThinString. This means any _future_ back references to A would see the ThinString and follow it to receive A', but any _past_ forward references would keep pointing to the ThinString A. This reland fixes this by preventing InternalizedString deferral, so that all references to InternalizedStrings are back references. It also adds some additional verification to the heap verifier that constant pools and object boilerplate descriptors aren't allowed to hold thin strings. This patch also fixes an additional bug in the original CL, where weak forward refs weren't being serialized with a weak prefix. Original change's description: > Revert recent de/serializer related changes > > They are suspected to be causing Canary crashes, confirmed through > local reverts and repro attempts. > > This reverts: > - "Reland "[serializer] Change deferring to use forward refs"" > commit 76d684cc. > - "Reland "[serializer] Remove new space"" > commit 81231c23. > - "[serializer] Clean-up and de-macro ReadDataCase" > commit c06d24b9. > - "[serializer] DCHECK deserializer allocations are initialized" > commit fbc1f32d. > > Bug: chromium:1128872 > Change-Id: Id2bb3b8fac526fdf9ffb033222ae08cd423f8238 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414220 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69955} Tbr: jgruber@chromium.org,dinfuehr@chromium.org Bug: chromium:1075999 Bug: chromium:1127610 Bug: chromium:1128848 Bug: chromium:1128872 Bug: chromium:1128957 Change-Id: I8b7bbabf77eb8cb942a28316afbfaa5f9a0aa4cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418101 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69988}
-
Camillo Bruni authored
The new helper function allows us to write tests for log parsing without the need of first generating a log file. This makes it easier guard against errors when the log format changes. - add d8.log.getAndStop helper - add basic log test - fix test that regresses due to changed gc timing Bug: v8:10668 Change-Id: Ie57171fa98fe90428b89c26289d55fcbf2a70615 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403245Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69987}
-
Camillo Bruni authored
Bug: chromium:1126309 Change-Id: I9d9d33cd151ed8af5ee8af09b8957eae9df2dcb1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410059 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#69986}
-
Michael Lippautz authored
Fix merging of detachedness state. Drive-by: Split lookup and merging of nodes. Bug: chromium:1110816 Change-Id: I27dba7a6f22c75e5aae130d8cec01ccf755fad79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416492 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69985}
-
Michael Achenbach authored
The builder was renamed here: https://chromium-review.googlesource.com/c/v8/v8/+/2418093 No-Try: true Change-Id: I0b437cb854d56c903609109a21827b34b6dd4a94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2418094 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69984}
-
Michael Achenbach authored
... to "V8 Linux64 TSAN - stress-incremental-marking" since it runs with --stress-incremental-marking (and concurrent marking is on by default anyways). No-Try: true Change-Id: I4660151cde2fb9e873cc046c1baf6578ab835eb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416385 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69983}
-
Tobias Tebbi authored
This enables defining abstract type subtypes of classes with constexpr version, which in turn is useful to model custom C++ subclasses. Bug: v8:7793 Change-Id: I07dcb62121afdddfbe2c78ecc870afcb11800c19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412180 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69982}
-
Manos Koukoutos authored
Changes: - Extend IsJSCompatibleSignature to include typed functions. - Generalize WasmIsValidFuncRefValue to WasmIsValidRefValue, utilize DynamicTypeCheckRef. Use it in FromJS. - Extend DynamicTypeCheckRef to eqRef type and WasmJSFunction references. - Update call-ref.js test. Change-Id: I71166ab8c1e716c21e79776c561e77b443add1da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412527Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#69981}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b5fefa9..153ad0b Rolling v8/third_party/aemu-linux-x64: cw5KjATCqXEo2ji2ep1Vx88VOe8DdIMAsfq3dV86XzYC..QxDL1Bk85zKmALn9xHGhro_uZAytSTHjJ--QwZLaT7oC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d03abd8..0de9874 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/a787cd5..d949c91 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/d7eebbf..79326ef Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/06a2576..92b3622 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I8d2b7ca89e949a3ed77a7ed6fb88df8068ebe4e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416142Reviewed-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@{#69980}
-
Zhao Jiazhong authored
Port 7f654693 https://chromium-review.googlesource.com/c/v8/v8/+/2411691 Change-Id: I8b06288b003d99d1ee76415aee3fafd5cd963ae7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415852 Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69979}
-
- 17 Sep, 2020 17 commits
-
-
Etienne Pierre-doray authored
To let the user do special handling on the main thread e.g. Scavenging uses different tracing categories for background/foreground threads. Change-Id: I6c9187fd6201b5b81cd83727727fda49fcf7ff68 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405797Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Cr-Commit-Position: refs/heads/master@{#69978}
-
Milad Fa authored
ceilf and truncf do not preserve the sign bit when its input is passed by value and the output is rounded to 0: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97086 Change-Id: I10b963e3193f1754f31f3bfc415b8a82d4ae011c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416240Reviewed-by: Junliang Yan <junyan@redhat.com> Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#69977}
-
Clemens Backes authored
In many cases, the event we are waiting for already happened. In that case, entering the {ExecuteCompilationUnits} function creates significant overhead. This CL fixes this by just checking whether the event we are waiting for already happened, and returning early in that case. This should restore the original performance before https://crrev.com/c/2351671. R=thibaudm@chromium.org Bug: v8:10922 Change-Id: I5229808162a3b348bbbb067bd10065894c8a655c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414028Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69976}
-
Ng Zhi An authored
Implement f32x4.pmin, f32x4.pmax, f64x2.pmin, and f64x2.pmax for arm and arm64. Bug: v8:10904 Change-Id: Ife8b832dfc21850c2c292b0d6446b7dd3f6d9849 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415109Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69975}
-
Andreas Haas authored
R=ulan@chromium.org, thibaudm@chromium.org Bug: v8:7581 Change-Id: Ie41f09339a1f5c022bd74fb3140ca66f40cc4476 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412185Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69974}
-
Dominik Inführ authored
While so far this should only happen in tests in test-log.cc, it can happen that background threads using Logger::is_logging() race with Logger::TearDownAndGetLogFile(). Fix the race by protecting is_logging_ with the mutex that is also used for writing log messages. Logger::is_logging_ now becomes relaxed atomic, such that code for logging isn't required to lock the mutex to check whether logging is enabled. Also remove Log::IsEnabled() in favor of Logger::is_logging() to avoid checking both flags since both are the same. Bug: v8:10315 Change-Id: Ic14e7f74334eb8a8438abad82ad227d1e6752bb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416488 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69973}
-
Milad Fa authored
Port 7f654693 Original Commit Message: Implement f32x4 and f64x2 nearest, trunc, ceil, and floor for ia32 and x64. arm and arm64 will follow in a future patch, now they just bail out into a runtime call. R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ida97cc498661a1f87dee95914fc4b7e75e55de80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416232Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#69972}
-
Omer Katz authored
For the standalone library, some platform implementations might not support non-nested tasks. We can still offer incremental marking in such cases using regular tasks and without assuming an empty stack. (cppgc's default platform e.g. doesn't support non-nested tasks.) This CL also updates GCInvoker to not trigger an incremental GC if we won't be able to finalize it. That makes finalizing through an non-nested incremental task safe. Bug: chromium:1056170 Change-Id: I85f0c9f2efe643cb87dd65d80417eea0d6ee5d52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414217 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69971}
-
Michael Achenbach authored
Bug: v8:10577 Change-Id: Ia546984711fa47978dafa139cce7a0388ef5c347 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416369 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69970}
-
Peter Marshall authored
This reverts commit f6965281. Reason for revert: Test is flaky: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64/39092 Original change's description: > [cpu-profiler] Log OSR code when starting the profiler > > OSR code doesn't hang off any JSFunction or SFI, so we missed it when > starting up the profiler. This meant we didn't properly attribute > ticks to SFI code. The ticks ended up going to the caller instead. > > There is a weak cache of OSR code per native context, so iterate that > on profiler startup and log all the code objects. > > Change-Id: I2e9738b86a488b37f36ac89803561607dc76f745 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414216 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69964} TBR=mythria@chromium.org,petermarshall@chromium.org,dinfuehr@chromium.org Change-Id: I1e69f8af88d901bab6f257652d3536d24a4777f9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415994Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#69969}
-
Dominik Inführ authored
IsEnabled() is checked before and after taking the lock. Move the first check into NewMessageBuilder() to make this more obvious to the reader. Bug: v8:10315 Change-Id: Iee1000a209f3ae7d07884f1cbb4e0daf43a58a9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414227Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69968}
-
Shu-yu Guo authored
Bug: v8:9344 Change-Id: I6f0bb4fa81f70c5c2f8744c153d5662c576d23d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414786 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69967}
-
Santiago Aboy Solanes authored
Replace the SourceTextModuleRef::GetCell method. Bug: v8:7790 Change-Id: I65e2f121b9d37c39e5d208d68409f61724ce198e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410192Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69966}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I2f0c2fdcb44c216471a8778816b9e041478f0792 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410191Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69965}
-
Peter Marshall authored
OSR code doesn't hang off any JSFunction or SFI, so we missed it when starting up the profiler. This meant we didn't properly attribute ticks to SFI code. The ticks ended up going to the caller instead. There is a weak cache of OSR code per native context, so iterate that on profiler startup and log all the code objects. Change-Id: I2e9738b86a488b37f36ac89803561607dc76f745 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414216 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69964}
-
Zeynep Cankara authored
This CL updates the tool instructions to reflect changes in the tool. Removes the empty <br> tags from the tool's panel templates. Bug: v8:10644, v8:10727 Change-Id: I0b3db6adcd37518f9cdaf2839094ef86eff52dfb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413253Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Zeynep Cankara <zcankara@google.com> Cr-Commit-Position: refs/heads/master@{#69963}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/be363dc..b5fefa9 Rolling v8/third_party/aemu-linux-x64: 8YjsZy1I3YIJIOUKErXW54SHjiEX62hd9SqYjmop19oC..cw5KjATCqXEo2ji2ep1Vx88VOe8DdIMAsfq3dV86XzYC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/0063ad8..d03abd8 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/52fdd1f..a787cd5 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/79326ef..d7eebbf Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/e075ddd..06a2576 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I03cb09a9bca4db0c5bca354f24c18a6dbb4cbbee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415111Reviewed-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@{#69962}
-
- 16 Sep, 2020 13 commits
-
-
Ng Zhi An authored
Implement f32x4 and f64x2 nearest, trunc, ceil, and floor for ia32 and x64. arm and arm64 will follow in a future patch, now they just bail out into a runtime call. Bug: v8:10906 Change-Id: I8c90ba6825e0360ca1251a1f706f9dbcba7afdbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411691 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69961}
-
Ng Zhi An authored
Add lowering for I64x2 in S128Const and converting Int64x2 to Int32x2. Bug: v8:10507 Change-Id: I5bc40ae135fa00e31e901337b1a315f6ead14b02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410800Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69960}
-
Bill Budge authored
This reverts commit 2000aea5. Reason for revert: Breaks NumFuzz. Original change's description: > Reland^4 "[flags] warn about contradictory flags" > > This is a reland of 0ba115e6 > Changes compared to last reland: > - Fix Python code trying to write to expected_outcomes, which is now a > computed property. > - Fix remaining place in d8.cc that ignored the --fuzzing flag. > - Expect flag contradictions for --cache in code_serializer variant. > > Original change's description: > > Reland^3 "[flags] warn about contradictory flags" > > > > Changes: > > - Also allow second parameter influenced by --cache to be reassigned. > > - Fix --stress-opt to only --always-opt in the last iteration as before. > > > > Original change's description: > > > Reland^2 "[flags] warn about contradictory flags" > > > > > > This is a reland of d8f8a7e2 > > > Change compared to last reland: > > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > > - Allow identical re-declaration of --cache=* > > > > > > Original change's description: > > > > Reland "[flags] warn about contradictory flags" > > > > > > > > This is a reland of b8f91666 > > > > Difference to previous CL: Additional functionality to specify > > > > incompatible flags based on GN variables and extra-flags, used > > > > to fix the issues that came up on the waterfall. > > > > > > > > This also changes the rules regarding repeated flags: While > > > > explicitly repeated flags are allowed for boolean values as long > > > > as they are identical, repeated flags or explicit flags in the > > > > presence of an active implication are disallowed for non-boolean > > > > flags. The latter simplifies specifying conflict rules in > > > > variants.py. Otherwise a rule like > > > > > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { > > > > "--gc-interval=*": ["--gc-interval=*"], > > > > } > > > > > > > > wouldn't work because specifying the same GC interval twice > > > > wouldn't actually count as a conflict. This was an issue with > > > > test/mjsunit/wasm/gc-buffer.js, which specifies > > > > --gc-interval=500 exactly like the extra flag by the stress bot. > > > > > > > > Also, this now expands contradictory flags checking to d8 flags > > > > for consistency. > > > > > > > > Original change's description: > > > > > [flags] warn about contradictory flags > > > > > > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > > > > > > > > > Bug: v8:10577 > > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > > > Cr-Commit-Position: refs/heads/master@{#68168} > > > > > > > > Bug: v8:10577 > > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > > Cr-Commit-Position: refs/heads/master@{#68989} > > > > > > Bug: v8:10577 > > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#69339} > > > > Bug: v8:10577 > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69433} > > Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69954} TBR=clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I2dc80bcad9f74c29298902e01939e7e7f3336cf6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415133Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69959}
-
Andreas Haas authored
The {offset_reg} parameter was introduced so that the signature of StoreTaggedPointer is the same as for Store, and also to prepare for potential later uses. However, handling the parameter would introduce additional complexity, and chances are low that it will ever be used. That's why this CL just removes it. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: Ib419a72e1d9f36b8d9a3dbbce538ce57bb37d476 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412182Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69958}
-
Almothana Athamneh authored
Bug: chromium:1126467 Change-Id: Id10117b99fa28504780dd6c0a7850bb17e5e94ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414210 Auto-Submit: Almothana Athamneh <almuthanna@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#69957}
-
Frank Tang authored
This is a reland of effbbb8c Original change's description: > Roll test262 > > https://chromium.googlesource.com/external/github.com/tc39/test262/+log/e8cdf92..6397602 > > Bug: v8:7834, v8:4628, v8:10903, v8:10905 > Change-Id: I65bf15d6308126a4955abe0a6b0647834f4ff066 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405804 > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69899} Bug: v8:7834 Bug: v8:4628 Bug: v8:10903 Bug: v8:10905 Bug: v8:10921 Change-Id: I615279b2a370daa2d7ce1fbdaa13f1ade12f8101 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413482Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#69956}
-
Jakob Kummerow authored
They are suspected to be causing Canary crashes, confirmed through local reverts and repro attempts. This reverts: - "Reland "[serializer] Change deferring to use forward refs"" commit 76d684cc. - "Reland "[serializer] Remove new space"" commit 81231c23. - "[serializer] Clean-up and de-macro ReadDataCase" commit c06d24b9. - "[serializer] DCHECK deserializer allocations are initialized" commit fbc1f32d. Bug: chromium:1128872 Change-Id: Id2bb3b8fac526fdf9ffb033222ae08cd423f8238 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414220Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69955}
-
Tobias Tebbi authored
This is a reland of 0ba115e6 Changes compared to last reland: - Fix Python code trying to write to expected_outcomes, which is now a computed property. - Fix remaining place in d8.cc that ignored the --fuzzing flag. - Expect flag contradictions for --cache in code_serializer variant. Original change's description: > Reland^3 "[flags] warn about contradictory flags" > > Changes: > - Also allow second parameter influenced by --cache to be reassigned. > - Fix --stress-opt to only --always-opt in the last iteration as before. > > Original change's description: > > Reland^2 "[flags] warn about contradictory flags" > > > > This is a reland of d8f8a7e2 > > Change compared to last reland: > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > - Allow identical re-declaration of --cache=* > > > > Original change's description: > > > Reland "[flags] warn about contradictory flags" > > > > > > This is a reland of b8f91666 > > > Difference to previous CL: Additional functionality to specify > > > incompatible flags based on GN variables and extra-flags, used > > > to fix the issues that came up on the waterfall. > > > > > > This also changes the rules regarding repeated flags: While > > > explicitly repeated flags are allowed for boolean values as long > > > as they are identical, repeated flags or explicit flags in the > > > presence of an active implication are disallowed for non-boolean > > > flags. The latter simplifies specifying conflict rules in > > > variants.py. Otherwise a rule like > > > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { > > > "--gc-interval=*": ["--gc-interval=*"], > > > } > > > > > > wouldn't work because specifying the same GC interval twice > > > wouldn't actually count as a conflict. This was an issue with > > > test/mjsunit/wasm/gc-buffer.js, which specifies > > > --gc-interval=500 exactly like the extra flag by the stress bot. > > > > > > Also, this now expands contradictory flags checking to d8 flags > > > for consistency. > > > > > > Original change's description: > > > > [flags] warn about contradictory flags > > > > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > > > > > > > Bug: v8:10577 > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > > Cr-Commit-Position: refs/heads/master@{#68168} > > > > > > Bug: v8:10577 > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#68989} > > > > Bug: v8:10577 > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69339} > > Bug: v8:10577 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69433} Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#69954}
-
Ng Zhi An authored
dst might not be the same as src0 (since we don't define them to be equals in the instruction-selector if AVX is enabled), so the minps and maxps comparisons were incorrect. I found this while trying to run some spec tests, so not adding any unittest, eventually when the spec tests are enabled, this will be covered. Bug: v8:10835 Change-Id: I4fbc1dfe949e4137e057e73c0d5dfb8534a00b8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411484Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69953}
-
Alex Kodat authored
While the sampler checked if the sampled thread had the Isolate locked (if locks are being used) under Linux, the check was not done under Windows (or Fuchsia) which meant that in a multi-threading application under Windows, thread locking was not checked making it prone to seg faults and the like as the profiler would be using isolate->js_entry_sp to determine the stack to walk but isolate->js_entry_sp is the stack pointer for the thread that currently has the Isolate lock so, if the sampled thread does not have the lock, the sampler woud be iterating over the wrong stack, one that might actually be actively changing on another thread. The fix was to move the lock check into CpuSampler and Ticker (--prof) so all OSes would do the correct check. The basic concept is that on all operating systems a CpuProfiler, and so its corresponding CpuCampler, the profiler is tied to a thread. This is not based on first principles or anything, it's simply the way it works in V8, though it is a useful conceit as it makes visualization and interpretation of profile data much easier. To collect a sample on a thread associated with a profiler the thread must be stopped for obvious reasons -- walking the stack of a running thread is a formula for disaster. The mechanism for stopping a thread is OS-specific and is done in sample.cc. There are currently three basic approaches, one for Linux/Unix variants, one for Windows and one for Fuchsia. The approaches vary as to which thread actually collects the sample -- under Linux the sample is actually collected on the (interrupted) sampled thread whereas under Fuchsia/Windows it's on a separate thread. However, in a multi-threaded environment (where Locker is used), it's not sufficient for the sampled thread to be stopped. Because the stack walk involves looking in the Isolate heap, no other thread can be messing with the heap while the sample is collected. The only ways to ensure this would be to either stop all threads whenever collecting a sample, or to ensure that the thread being sampled holds the Isolate lock so prevents other threads from messing with the heap. While there might be something to be said for the "stop all threads" approach, the current approach in V8 is to only stop the sampled thread so, if in a multi-threaded environment, the profiler must check if the thread being sampled holds the Isolate lock. Since this check must be done, independent of which thread the sample is being collected on (since it varies from OS to OS), the approach is to save the thread id of the thread to be profiled/sampled when the CpuSampler is instantiated (on all OSes it is instantiated on the sampled thread) and then check that thread id against the Isolate lock holder thread id before collecting a sample. If it matches, we know sample.cc has stop the sampled thread, one way or another, and we know that no other thread can mess with the heap (since the stopped thread holds the Isolate lock) so it's safe to walk the stack and collect data from the heap so the sample can be taken. It it doesn't match, we can't safely collect the sample so we don't. Bug: v8:10850 Change-Id: Iba6cabcd3e11a19c261c004103e37e806934dc6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411343Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#69952}
-
Frank Tang authored
Bug: v8:7481, v8:9084, v8:8664 Change-Id: Iccbf78bf11a4e8ca5d105772fa5f654fbe6542cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410791 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69951}
-
Michael Achenbach authored
I/O is quite expensive on the bots. This cuts down a bit of it by printing slightly fewer characters per test in verbose mode. This leads to an overall speed improvement of ~20% for large test suites, e.g. Test262 output-collection time goes from ~2m30 to ~2m. The averages to a 5-10% overall speed improvement for slow tryjobs. Bug: v8:10916 Change-Id: I56dcb072af8eb32a1e09e17a05db5782c6d79315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414038 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69950}
-
Santiago Aboy Solanes authored
This is a reland of b5f37051 Got reverted since it was breaking the bots (https://bugs.chromium.org/p/v8/issues/detail?id=10918) The solution is to keep the JSDataView class as kSerialized but change its method to do a direct heap access. In this way, its map it will still be serialized (which was the cause of the bot failure). In order to keep incrementally skipping serialization, we can introduce new macros that allow a per-method skip of serialization rather than per-class. Original change's description: > [compiler] Replace JSDataView with direct reads > > Bug: v8:7790 > Change-Id: Id01c2e4359aa4294816ffe14c08a586a9b9b10c2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404768 > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69904} Bug: v8:7790, v8:10918 Change-Id: Ifdfe504272369e7cc1332fe53992739f9d0be385 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413258Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69949}
-