- 13 Dec, 2021 10 commits
-
-
Alexander Schulze authored
Bug: chromium:1279426 Change-Id: Ia510b105a4aacbca3abc521b110bcf58cfe6e294 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3335816 Auto-Submit: Alexander Schulze <alexschulze@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#78355}
-
Piotr Sikora authored
Signed-off-by: Piotr Sikora <piotrsikora@google.com> Change-Id: Iee9005f1dd934fc6b81c1a8eb3d8d6bfb21b4bdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3334336Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78354}
-
Tim van der Lippe authored
We recently ran into two separate issues with this DCHECK. To enhance debugging, let's add some more information as to which property is failing. That should make investigating of the problematic property easier, as we now no longer need to printf the results. R=jkummerow@chromium.org Bug: chromium:1276617, chromium:1262066 Change-Id: I8613780fc9613af700e113bb6050d4cbbd4cb040 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3330467 Commit-Queue: Tim Van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Auto-Submit: Tim Van der Lippe <tvanderlippe@chromium.org> Cr-Commit-Position: refs/heads/main@{#78353}
-
Nico Weber authored
No behavior change. Bug: chromium:1278777 Change-Id: I18deed9571acb9f953cb6cddee12e27733de98b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3332197 Auto-Submit: Nico Weber <thakis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#78352}
-
Manos Koukoutos authored
Since the reftypes proposal has shipped, we remove the respective flag and the code that handled its absence. We maintain a WasmFeature for reftypes for feature detection purposes. We remove the flag declaration from tests, and adapt some tests that make no sense without the flag. Bug: v8:7581 Change-Id: Icf2f8d0feae8f30ec68d5560f1e7ee5959481483 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329781Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78351}
-
Milad Fa authored
Support was added to big endian machines (PPC/AIX and S390) using the following CLs: TurboFan fixes: https://crrev.com/c/3313444 https://crrev.com/c/3327721 Wasm Compiler fix: https://crrev.com/c/3316032 cctest: https://crrev.com/c/3302852 Change-Id: Ie20dcbe37d04b20d15aae724a82a204bd12baa2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329795Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#78350}
-
Patrick Thier authored
This is a reland of 863bc2b8 Diff to original: - Don't eliminate GC observable stores that were temporarily unobservable during traversal. - Skip the previously added test for single-generation - Add new test Original change's description: > [turbofan] Improve StoreStoreElimination > > Previously, StoreStoreElimination handled allocations as > "can observe anything". This is pretty conservative and prohibits > elimination of repeated double stores to the same field. > With this CL allocations are changed to "observes initializing or > transitioning stores". > This way it is guaranteed that initializing stores to a freshly created > object or stores that are part of a map transition are not eliminated > before allocations (that can trigger GC), but allows elimination of > non-initializing, non-transitioning, unobservable stores in the > presence of allocations. > > Bug: v8:12200 > Change-Id: Ie1419696b9c8cb7c39aecf38d9f08102177b2c0f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3295449 > Commit-Queue: Patrick Thier <pthier@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78230} Bug: v8:12200, chromium:1276923, v8:12477 Change-Id: Ied45ee28ac12b370f7b232d2d338f93e10fea6b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3320460Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#78349}
-
Leszek Swirski authored
This is a reland of 2418d22a Reland fixes: * Rebase this 2+ year old change
😱 * Unpoison the kept segment before zapping it to make ASAN happy. * Carefully adjust allocation size tracking fields to compensate for kept segment. Original change's description: > [zone] Keep one page when we Zone::Reset for reuse > > Change-Id: I50c6124d3da5b35d4156c066f38d10d2dc966567 > Reviewed-on: https://chromium-review.googlesource.com/c/1349246 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57793} Change-Id: Iaffde5b38b3d683af081b1878464dd4c66be5af8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322833Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78348} -
Benedikt Meurer authored
This CL overrides the Summarize() method on the BuiltinExitFrame, similar to what is already implemented on UnoptimizedFrame. This way the stack trace capturing logic can be unified further, and only needs to distinguish between JavaScript(ish) and WebAssembly frames now. Bug: chromium:1258599, chromium:1278650, chromium:1278647 Change-Id: I15f4dd61199ff047930796ce285bd938e8bcd22f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327142 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#78347}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/dda89a8..47daaa3 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I67a741acaa598961fee60c788f202cf23c3e3f0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3330906 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78346}
-
- 12 Dec, 2021 1 commit
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/10669fa..dda89a8 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/d520ea5..58799ca Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/70bcf59..45fc896 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/58c7c38..ecc14aa R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I1168840eaadcc74c3a0845192669ad5c4a523361 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3330905 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78345}
-
- 11 Dec, 2021 2 commits
-
-
Igor Sheludko authored
Bug: v8:11880 Change-Id: Ifcbf73a68c68b2534bb0c7272be43269b0963507 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329799 Auto-Submit: Igor Sheludko <ishell@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78344}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/312246f..10669fa Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d16203a..70bcf59 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/ed8451a..7fd4168 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I636d923bae0d44bdc02e4b3e94a8450cff867a9c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3330904 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78343}
-
- 10 Dec, 2021 13 commits
-
-
Milad Fa authored
Port df748fc0 R=georgia.kouveli@arm.com, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I3ae962a6c6f20c945c788e9ff512a3b02aff4754 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3331275Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#78342}
-
Andreas Haas authored
With a recent addition to the type reflection proposal, 'anyfunc' gets renamed to 'funcref'. For backwards compatibility, 'anyfunc' becomes an alias for 'funcref'. With this CL, the string 'funcref' can be used to create a funcref table or a funcref global. Additionally, 'funcref' is returned as the type of imported and exported functions as well as globals and tables. R=manoskouk@chromium.org Change-Id: If3ed4d507de862ebfcabd4eb967bbfaae1c6ccba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300135Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78341}
-
Milad Fa authored
Fix is applied to some of halfword signed ops. Change-Id: Idad3cfe9b66d39cb991974c959d447e5c4eccad3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327722Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#78340}
-
Milad Fa authored
Currently atomic ops on TF are using machine native byte order and cannot be used by Wasm calls. This Cl adds support for Little Endian enforced Wasm atomic ops to PPC/AIX by reversing bytes where needed. Change-Id: I4080f318022eedd2058e51d09595753eab385441 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327721Reviewed-by: Vasili Skurydzin <vasili.skurydzin@ibm.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#78339}
-
Leszek Swirski authored
This allows us to reuse AstValueFactory's string table across multiple parsers, while still releasing memory after each individual parse. This is mild overkill for all the single parses that don't reuse AstValueFactories, but there at least the AstRawStrings now end up grouped together in memory, so that might have mild cache benefits. Change-Id: I0b378760b601fa4ec6559a0dca5d7ed6f895e992 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322764Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78338}
-
Leszek Swirski authored
Bug: chromium:1278387 Change-Id: If834ee2f9ba3663822a8066fbd1ece49c24023da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3329790 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#78337}
-
Jakob Kummerow authored
To make sure that Wasm memories don't exceed JSArrayBuffer size. This change shouldn't affect real-world modules, because finding enough contiguous address space to allocate that much memory is virtually impossible anyway. Fixed: chromium:1242339 Change-Id: I68873796b9afb798cb1a64e5e1acc495cf509159 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3328783 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#78336}
-
Leszek Swirski authored
Some bad rebasing meant that we were still deleting on the main thread. As an additional simplification, remove the specific deletion queue mutex, and just use the compiler dispatcher mutex for the deletion queue -- this avoids risks of deadlock when both are held. Change-Id: Ifa4ead6ee3fd814d7f013dd14a5617456afc9f7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3328785 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78335}
-
Leszek Swirski authored
Rather than requiring the user of a LocalIsolate to pass in a RuntimeCallStats from a WorkerThreadRuntimeCallStatsScope, create the scope in the LocalIsolate directly and use its RuntimeCallStats in the LocalIsolate constructor. We can't do this for the main thread LocalIsolate, since WorkerThreadRuntimeCallStatsScope doesn't work on the main thread, so there we use the main-thread RuntimeCallStats instead. This flushes out some issues of background-thread LocalIsolates being used on the main thread, so fix those too, as well as RCS scopes using background counters for operations that could happen on the main thread. Change-Id: I21a53be0771f47a03ccdb27d24c2b9d25d8b2d1c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3318664Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78334}
-
Manos Koukoutos authored
Stub calls generated in wasm-compiler were not marked as kNoThrow. This created an inconsistency where these ostensibly throwing calls did not get wrapped in exception handlers, which in turn creates problems in upcoming changes in inlining. We resolve the inconsistency by marking all such calls as kNoThrow. Exceptions are the throwing calls Throw and Rethrow, for which we create exception handlers in WasmGraphBuildingInterface::CheckForException. Change-Id: I81da1b191332bcd497116e9f82e4de198778086b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322836Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78333}
-
Dominik Inführ authored
During a shared GC we need to iterate the twice: for marking and later when updating pointers after evacuation. This CL introduces a new remembered set to avoid the second heap iteration, the remembered set is created when iterating the client heaps for marking. When updating pointers, the GC only needs to visit slots in the remembered set. CLIENT_TO_SHARED is only used during GC atm. Bug: v8:11708 Change-Id: Ie7482babb53b5f6ca2115daafe6f208acae98d6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3315443Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78332}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/google_benchmark/src: https://chromium.googlesource.com/external/github.com/google/benchmark/+log/1f99405..b000672 Avoid errors due to "default label in switch which covers all enumeration values" in Windows codepath (#1302) (Martin Storsjö) https://chromium.googlesource.com/external/github.com/google/benchmark/+/b000672 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com,mlippautz@chromium.org Change-Id: I5732a8f27fb17fa74ba68331612b9c1e121642ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327747 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78331}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9cfc745..312246f Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/89f2e82..d520ea5 Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/c8c0ec9..d81cd62 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4983973..d16203a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/0a233e1..58c7c38 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/4c5650f..054a986 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/336fcfd..ed8451a Rolling v8/tools/luci-go: git_revision:31175eb1a2712bb75d06a9bad5d4dd3f2a09cd1f..git_revision:e897e118887a2e6c50a82212b660cb2a7c58d910 Rolling v8/tools/luci-go: git_revision:31175eb1a2712bb75d06a9bad5d4dd3f2a09cd1f..git_revision:e897e118887a2e6c50a82212b660cb2a7c58d910 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: If2bd3d5e3c62c274ab71b01a562370e7a77bf980 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327745 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78330}
-
- 09 Dec, 2021 14 commits
-
-
Michael Lippautz authored
Advance deprecations and remove fully deprecated code. Bug: v8:12165 Change-Id: I2cf1715d6878ff65e5b9beaddb8df7aec780b21e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3328781 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#78329}
-
Dominik Inführ authored
This reverts commit 86038ecf. Reason for revert: Caused TSAN failures Original change's description: > [heap] Optimize time to reach global safepoint > > Initial support for global safepoints kept it simple by entering a > safepoint for each of them one after another. This means > time-to-global-safepoint is the sum of all time-to-safepoint operations. > We can improve this slightly by splitting up the safepoint iteration > into two operations: > > 1) Initiate safepoint lock (locks local_heaps_mutex_, arms the barrier > and sets SafepointRequested flag for all client threads) > 2) Block until all runnning client threads reach a safepoint > > We now perform operation 1) for all clients first and only then start > with operation 2). > > Bug: v8:11708 > Change-Id: Iaafd3c6d70bcf7026f722633e9250b04148b3da6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3310910 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78308} Bug: v8:11708, v8:12492 Change-Id: I32ef7139d4392adfadeffeb70c06f3ed18109ca8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3328782 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78328}
-
Omer Katz authored
Concurrent marking could still push object to the in construction worklist after it is emptied at the start of the atomic pause. Bug: v8:12479 Change-Id: I539e5857001c4689867a3de6adb11142f639cb5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327143Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78327}
-
Manos Koukoutos authored
Changes: - Refactor all global base and offset computations into a single function and simplify GlobalGet and GlobalSet. - Remove unneeded pointer arithmetic in the simd case. This enables the use of object operators, including LoadImmutableFromObject, which might enable more loads to be eliminated. Bug: v8:11510 Change-Id: Ieab45fd9433863780bcfd6d4596786c08e3951a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3320457Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78326}
-
Manos Koukoutos authored
Design doc: bit.ly/36MfD6Y We introduce simplified operators LoadImmutableFromObject and InitializeImmutableInObject. These are lowered to Loads and Stores like LoadFromObject and StoreToObject. We split CsaLoadElimination::AbstractState in two HalfStates, which represent the mutable and immutable component of the state. Immutable operators in the effect chain modify the immutable half-state, and plain operators modify the mutable half-state. The immutable part is maintained through write effects and loop headers. Immutable initializations do not lookup and kill previous overlapping stores, assuming each offset cannot be initialized more than once. Bug: v8:11510 Change-Id: I0f5feca3354fdd3bdc1f511cc5214ec51e1407ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268728Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78325}
-
V8 Autoroll authored
Change-Id: I3e803b880574fa17b276f8f3e3e78198a2920866 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3326439Reviewed-by: Lutz Vahl <vahl@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/main@{#78324}
-
Maya Lekova authored
This reverts commit 6b1fb003. Reason for revert: breaks gc stress bots - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/36626/overview Original change's description: > [stack-traces] Don't hold on to code objects from StackFrameInfos. > > Previously every `StackFrameInfo` instance would maintain a reference to > an AbstractCode object, which was used to resolve the `code_offset` on > that stack frame. However, it turns out that nowadays this is not > necessary anymore, since all `code_offset`s reported for JavaScript > frames are already bytecode offsets and thus can be resolved by just > looking at the functions' bytecode. > > For WebAssembly frames we will also eagerly resolve the `code_offset` > (which is different depending on whether we're looking at Liftoff or > TurboFan code) to the byte offset (relative to the function start) and > stash that away in the `StackFrameInfo`. > > For builtin exit frames, the `abstract_code` on the function always > refers to the builtin code object and thus, there's no point in keeping > an extra pointer to it around on the `StackFrameInfo`. > > This way the `StackFrameInfo` representation is somewhat uniform, and > more importantly, the `StackFrameInfo` instances will no longer need to > hold to concrete code objects. > > Drive-by-fix: Use `FixedArray::SetAndGrow()` when adding to the elements > in the `StackTraceBuilder`. > > Also-By: szuend@chromium.org, jarin@chromium.org > Bug: chromium:1258599, chromium:1077657, v8:8742, chromium:1069425 > Change-Id: I650e400e0e1acd920281669bdc7b5e1199683ae8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3323073 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78320} Bug: chromium:1258599, chromium:1077657, v8:8742, chromium:1069425 Change-Id: I20643ad8f0c383b754841fc52f9b3447b004c9d0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3327141 Auto-Submit: Maya Lekova <mslekova@chromium.org> Owners-Override: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#78323}
-
Yu Liu authored
and mips64" This reverts commit 1d6dc2b9. Reason for revert: this modify is inconsistent with the allocation method of the parameter register on the real machine on loong64. Original change's description: > [loong64][mips64][fastcall] Enable float support on loong64 and mips64 > > Port commit 098f31f4 > > Bug: chromium:1052746 > > Change-Id: I4f9fd952c2ce8b51772eac89d4852d55363d1ed1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3292352 > Auto-Submit: Liu yu <liuyu@loongson.cn> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78106} Bug: chromium:1052746 Change-Id: I392f5634cf7ddf208fa9effd32d4ffff941f6179 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3324343Reviewed-by: Maya Lekova <mslekova@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yu Liu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#78322}
-
Toon Verwaest authored
This ensures that the unhandledrejection callback fires. Bug: chromium:1219363 Change-Id: I367d9a90132443e8ec94c1db380b9ef3160625c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3326242Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#78321}
-
Benedikt Meurer authored
Previously every `StackFrameInfo` instance would maintain a reference to an AbstractCode object, which was used to resolve the `code_offset` on that stack frame. However, it turns out that nowadays this is not necessary anymore, since all `code_offset`s reported for JavaScript frames are already bytecode offsets and thus can be resolved by just looking at the functions' bytecode. For WebAssembly frames we will also eagerly resolve the `code_offset` (which is different depending on whether we're looking at Liftoff or TurboFan code) to the byte offset (relative to the function start) and stash that away in the `StackFrameInfo`. For builtin exit frames, the `abstract_code` on the function always refers to the builtin code object and thus, there's no point in keeping an extra pointer to it around on the `StackFrameInfo`. This way the `StackFrameInfo` representation is somewhat uniform, and more importantly, the `StackFrameInfo` instances will no longer need to hold to concrete code objects. Drive-by-fix: Use `FixedArray::SetAndGrow()` when adding to the elements in the `StackTraceBuilder`. Also-By: szuend@chromium.org, jarin@chromium.org Bug: chromium:1258599, chromium:1077657, v8:8742, chromium:1069425 Change-Id: I650e400e0e1acd920281669bdc7b5e1199683ae8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3323073Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#78320}
-
Thibaud Michaud authored
Only initialize the superclass fields initially. The constructor was using an overload of the same class's constructor instead. In most cases this still behaved as expected because the {frame_} field would be overwritten with the right value inside the constructor. But when the stack segment is empty we would keep the wrong value from the ThreadLocalTop info instead of {nullptr}. R=jkummerow@chromium.org Bug: v8:12191, v8:12485 Change-Id: Iff6a7ea7c8501deaee9ac9f95cd066d965ddbe09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3326241Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#78319}
-
Camillo Bruni authored
The execute_us is now tied to the --slow-histograms flag. This currently enabled on a small population as a persistent finch study which should give us enough coverage for now. Drive-by-fixes: - Rename counter: execute_precise() to execute() - Avoid Leave/Enter overhead in NestedTimedHistogramScope if the histogram is not enabled - Only stop timers in debug mode for NestedTimedHistogramScope Bug: chromium:1275056 Change-Id: Id6a492bdd68edb5194cb191c7083829a9f90283f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3320431Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78318}
-
Marja Hölttä authored
Bug: v8:11111 Change-Id: I243832c05b6eb1ba2f13dc98f9b8fb177b351112 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3315438Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78317}
-
Dominik Inführ authored
Parked threads are not allowed to create new handles or access the heap in any other way. This is a pretty fundamental invariant of our safepoint mechanism, which doesn't stop parked threads. Change-Id: I577dbeffbb70e0843644cdc12ffbef022890c364 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3324542 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78316}
-