- 19 Sep, 2022 14 commits
-
-
Marja Hölttä authored
Bug: v8:8888,v8:1360042 Change-Id: I9524f8e99c4239e196066ee49547623a37f8f261 Fixed: v8:1360042 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3898998 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#83300}
-
Matthias Liedtke authored
This change tests all JavaScript language constructs and builtins in combination with the unwrapped Wasm objects. For JavaScript, excluding some basic introspection (e.g. `Object.isExtensible`) WebAssembly GC objects are treated opaque. They can be passed around freely but don't allow any access to properties, elements etc. This behavior is currently exposed only if the `wasm-gc-js-interop` flag is set. Bug: v8:7748 Change-Id: If0dc368f99d4097e3eaf53edde4e244e3081e334 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3879616Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Cr-Commit-Position: refs/heads/main@{#83299}
-
Tobias Tebbi authored
Bug: v8:12783, chromium:1364943 Change-Id: Ia972708e0679cf68e32d8e3c2cf103ab11aac2b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899087Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#83298}
-
Leszek Swirski authored
The parallel move optimizer tries to use the scratch register to store cycle breaks, but needs to spill the value if the scratch register is needed for stack->stack moves. Whether this spill happened is supposed to be tracked with the scratch_has_cycle_start_ field, but the update of this field was missing. Bug: v8:7700 Change-Id: I2dc8d9186c9ec8ca03104fd3ae972a38924670ed Fixed: chromium:1364783 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899086 Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#83297}
-
Michael Achenbach authored
No-Try: true Change-Id: I51acce0dde9c706135a45cbdb6514d2ed9df2574 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902043 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#83296}
-
Michael Achenbach authored
This reverts commit defa678e. Reason for revert: Blocks roll: https://ci.chromium.org/ui/p/v8/builders/ci/Linux%20V8%20FYI%20Release%20(NVIDIA)/21307/overview Original change's description: > cppgc: Be more conservative in Seeper::FinishIfOutOfWork > > Finalizing sweeping can be beneficial to truly end a GC cylce. We > should only finalize in `FinishIfOutOfWork()` though if that would not > introduce any jank. Limit the amount of executing finalizers in that > scenario. > > Bug: v8:13294 > Change-Id: I0237f6b6017d444c457923d83e85147c58586445 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902222 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Cr-Commit-Position: refs/heads/main@{#83279} Bug: v8:13294 Change-Id: Ic3cf7e105a076ef41b35a075d8f35918bc412588 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902582 Owners-Override: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#83295}
-
Igor Sheludko authored
... and report an error if the profile file can't be opened for writing. Also, overwrite the profile file instead of appending if the file exists. Bug: v8:10470 Change-Id: I0da0ee8d901a0c477b7f71ba23436243f93bd0ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902521 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#83294}
-
Leszek Swirski authored
Lazy deopts are always after calls, so force them to spill their inputs. This would normally be the case anyway, except for deferred calls, which don't tell the register allocator to spill like normal calls do. This makes lazy deopt regalloc always spill its inputs and use their spill slot, but unlike calls, this doesn't additionally clear the register, so subsequent nodes can continue using the register cached value without having to reload it. As drive-bys, fix the Throw* opcodes to have the Throw property, and use detail::DeepForEachInput in a couple of extra locations (including for lazy deopts). Bug: v8:7700 Change-Id: I89b04f17ca781d4f69ff0ed07566fa583aa677e6 Fixed: chromium:1364074 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899009Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#83293}
-
Jakob Kummerow authored
1) Inlining functions that contain stringref operations require builtin calls to be marked as kNoThrow appropriately (or have exception handling support in the graph). 2) Some overly-large inputs for string creation hit DCHECKs before getting to the places where they would have thrown an orderly exception. 3) We still had a known issue that some exceptions thrown by JS-focused code were erroneously catchable by Wasm. 4) When string.concat attempted to create a too-long string, it ran into a DCHECK because we didn't clear the "thread in wasm" flag. 5) The builtin call for string.concat was erroneously marked as kEliminatable, which could cause the trap get eliminated. Bug: v8:12868 Change-Id: Iad3ada0e2465bfd8f3d00bb064c32049d6b19d87 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902522 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andy Wingo <wingo@igalia.com> Reviewed-by: Andy Wingo <wingo@igalia.com> Cr-Commit-Position: refs/heads/main@{#83292}
-
Leszek Swirski authored
Add a conversion to int32 index for Numbers and Strings containing indices, and change the element bounds check / lookup nodes to take an int32 rather than a Smi. While we're at it, also turn the index node into an int32 index different depending on its known representation. Bug: v8:7700, v8:13287 Change-Id: Ie98502d58f789873d42f8801499e78bf777db70f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3900012 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#83291}
-
Leszek Swirski authored
Bug: v8:7700 Change-Id: I1f607b929068e249d26df3529f676da301c79a91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3900011 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#83290}
-
v8-ci-autoroll-builder authored
Rolling v8/third_party/fuchsia-sdk/sdk: version:9.20220917.2.1..version:9.20220918.2.1 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Ieee97fe2a91f90bc7602f81507fb6dab73c6de67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3903335 Bot-Commit: 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/main@{#83289}
-
JialuZhang-intel authored
Let jump threading phase be able to handle the jump with gap moves instructions. Record the first occurrence of the gap jump instruction and forward the same gap jump instructions into the recorded one. For example: In this case, we merge the second instruction into the first one, because those two gap jump instructions have the same gap moves. -- Before jump threading phase: B0: 1. gap(rdx=rbx) ArchJmp imm:3 B1: 2. gap(rdx=rbx) ArchJmp imm:3 -- After jump threading phase: B0: 1. gap(rdx=rbx) ArchJmp imm:3 B1: 2. ArchNop This can eliminate redundant jump and move instructions. Design doc: https://docs.google.com/document/d/1SpO7Kw4e6CnCesFT118MUnCufUHZDy3QaVSymcci5jE/edit?usp=sharing Change-Id: Ie94c8f63e2f758824619f6ed9513cbdff00186c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3858528Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jialu Zhang <jialu.zhang@intel.com> Cr-Commit-Position: refs/heads/main@{#83288}
-
Lu Yahan authored
If trap cover 32bit compare, it will emit 3 archopcode(shl shl trap) and don't emit right source position on Trap opcode. Change-Id: I5dd1a89d133688ca315360b8d8123d561782d623 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3903733Reviewed-by: ji qiu <qiuji@iscas.ac.cn> Commit-Queue: ji qiu <qiuji@iscas.ac.cn> Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#83287}
-
- 18 Sep, 2022 2 commits
-
-
JianxiaoLuIntel authored
Can reduce 1 byte instruction size. Change-Id: Ie97841c5011d91e295e756aef4b45b62c3ec52f4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3885956Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Jianxiao Lu <jianxiao.lu@intel.com> Cr-Commit-Position: refs/heads/main@{#83286}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/843261b..cf385c0 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/92ea83b..9e95466 Rolling v8/buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx/+log/e73c465..d128f2b Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/421c4fe..18bdadc Rolling v8/third_party/fuchsia-sdk/sdk: version:9.20220916.1.1..version:9.20220917.2.1 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/c3b78bc..b118dfd R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: I0474c3176189c9245220bf5682a75e78cb20d8da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3903332 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@{#83285}
-
- 17 Sep, 2022 2 commits
-
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/b001130..843261b Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/813d569..92ea83b Rolling v8/buildtools/linux64: git_revision:e70d8c3d5620bc0ddcbad23a36b1b26f815ca90a..git_revision:cc28efe62ef0c2fb32455f414a29c4a55bb7fbc4 Rolling v8/buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx/+log/e2f63a1..e73c465 Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/60a480e..77b82eb Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c067655..fcf15b9 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/dca14bc..421c4fe Rolling v8/third_party/fuchsia-sdk/sdk: version:9.20220915.2.1..version:9.20220916.1.1 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/7d7ed92..8f22e90 Rolling v8/tools/luci-go: git_revision:c93fd3c5ebdc3999eea86a7623dbd1ed4b40bc78..git_revision:78063b01b53dd33a541938207b785cc86d34be37 Rolling v8/tools/luci-go: git_revision:c93fd3c5ebdc3999eea86a7623dbd1ed4b40bc78..git_revision:78063b01b53dd33a541938207b785cc86d34be37 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Iab1835ab4d720c4499485def6680f8cbed20fa90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3901693 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@{#83284}
-
Frank Tang authored
https://chromium.googlesource.com/external/github.com/tc39/test262/+log/7461973..9215420 Bug: v8:7834 Change-Id: I5f830a59c57133b3c0ebe7633b60c20b00caa3ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902516Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#83283}
-
- 16 Sep, 2022 22 commits
-
-
Frank Tang authored
Return fallback while the useGrouping is "true" or "false" but throw RangeError not in the list. https://github.com/tc39/proposal-intl-numberformat-v3/pull/107 Bug: v8:13271 Change-Id: Ia325cd8fe74ff9fb501fd765e9ec2d94f8c97e38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3886070Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#83282}
-
Frank Tang authored
Needed for https://chromium-review.googlesource.com/c/v8/v8/+/3893552 and also https://chromium-review.googlesource.com/c/v8/v8/+/3901196 Bug: v8:11544 Change-Id: Ieb946abde1c623e9edcca608d737e8bf65a34637 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3901195Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#83281}
-
Dominik Inführ authored
This CL unifies the fields for shared spaces for both the shared isolate and the shared space isolate-approach. This allows to mostly avoid separate code paths for both implementations. While this CL already sets up everything needed for allocation with --shared-space, allocation isn't fully working with this CL due to other remaining issues. Bug: v8:13267 Change-Id: Icdb40ed7045e33e6acbb97d3838fa374e6c24a2e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3892786Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#83280}
-
Michael Lippautz authored
Finalizing sweeping can be beneficial to truly end a GC cylce. We should only finalize in `FinishIfOutOfWork()` though if that would not introduce any jank. Limit the amount of executing finalizers in that scenario. Bug: v8:13294 Change-Id: I0237f6b6017d444c457923d83e85147c58586445 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902222 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#83279}
-
Leon Bettscheider authored
This CL adds processing of the OLD_TO_NEW RememberedSet during minor incremental marking start. Bug: v8:13012 Change-Id: I4fd051087d46e1b8a22b735bf0cae6d2da2ecb5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3885875Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Leon Bettscheider <bettscheider@google.com> Cr-Commit-Position: refs/heads/main@{#83278}
-
Teodor Dutu authored
In order to support a larger heap cage (8GB, 16GB), the cage offset will take up more than 32 bits. As a consequence, for 8GB cages, the least significant bit of the cage offset will overlap with the most significant bit of the tagged offset. To avoid this, allocations need to be aligned to 8 or 16 bytes to free up one or two bits from the offset. The allocation top is kept properly aligned without adding fillers in the newly created gaps, by aligning allocation sizes to 8 bytes. Bug: v8:13070 Change-Id: I169b51e583d7a4be61d2a6c6060fcf74b410703c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3877147Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Teo Dutu <teodutu@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#83277}
-
Clemens Backes authored
In multiple counters we have peaks in the 0 microseconds and 1000 microseconds bucket, most probably coming from clients with a low-resolution clock. Exclude those to get more precise timings. R=jkummerow@chromium.org Change-Id: I9b8377354920db4d0070198f440b57a7e86dc7bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902221Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83276}
-
Manos Koukoutos authored
We move js-to-wasm wrappers to a WeakFixedArray in the isolate, indexed by their canonical type index. This ensures that they are reused across instances, and get GC'd when no longer needed. We also remove eager compilation of wrappers. This CL fixes some issues that were caused by out-of-bounds accesses to wrapper arrays attached to module objects. Bug: chromium:1363859, chromium:1363895 Change-Id: Idec0925e775f51fdfa7cd380379b0d1798295a0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3893860Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#83275}
-
Manos Koukoutos authored
Bug: v8:7748, chromium:1364036 Change-Id: I0263a21671fc602127aaae3b3ce022190be91407 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899295Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#83274}
-
Milad Fa authored
Change-Id: Id27959b1e65b86e6d00bd67f637d14a4606a9765 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899300 Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Reviewed-by: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#83273}
-
Leszek Swirski authored
Looks like we hammered on the regalloc hard enough that this works again 🥳 Bug: v8:7700 Change-Id: I4f02417e069e3a6d89ca0c8c43ba165a502150e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899302 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#83272}
-
Clemens Backes authored
R=verwaest@chromium.org CC=mliedtke@chromium.org Change-Id: I1a0b65b14a26f82ae6e86b10344019e1e21bd8f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3898935Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#83271}
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=jkummerow@chromium.org Bug: v8:12887 Change-Id: Ia17d668b3ddcbcb7a35388231aa5d80e8e5b419b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899122 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#83270}
-
Michael Lippautz authored
We only complete sweeping when the young generation GC is enabled. Change-Id: I915acce35d6ba16716c2c4ee4130f99af0744f83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3900377Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#83269}
-
Michael Lippautz authored
Align slow path allocation with V8 in that: 1. Try to refill from the free list. 2. Perform limited sweeping of a space if necessary and retry the free list. 3. Try to expand the space. 4. Perform full sweeping of a space if necessary and retry the free list. 5. Finish sweeping fully as we would anyways do a GC at this point. 6. Retry the free list again 7. Try expanding again as finishing sweeping may have freed up pages. Specifically, this adresses a performance problem where we would fully sweep the whole heap, possibly causing 100ms of jank on allocation. In such cases the new approach maintains performance and stays fast at the expense of using more memory. Allocations usually find memory in 1.-3. Steps 4.-7. are slow paths that are definitely expensive but prevent failing with OOM. Bug: v8:13294 Change-Id: I56133fa4cbbc74f8abcdec49c7e10125c2dbc3e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899260 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#83268}
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=marja@chromium.org Bug: v8:12887 Change-Id: Ie6e725305db09f675da255a0da73d85e2a36298b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3900374 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#83267}
-
Tobias Tebbi authored
Bug: v8:12783 Change-Id: I723438d4843861b5933f1ea1f649ae426a2a1c04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899125 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#83266}
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=saelo@chromium.org Bug: v8:12887 Change-Id: I7e41e1952958936c32fec501b8348fac0538cd71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899269Reviewed-by: Samuel Groß <saelo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83265}
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=marja@chromium.org Bug: v8:12887 Change-Id: Id315d33eee6b45e457766b0ba06c9d21c1e32807 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899268 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#83264}
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=dinfuehr@chromium.org Bug: v8:12887 Change-Id: Icc9e1d2db58999b676477924284f78043cf5533c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899124Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83263}
-
Tobias Tebbi authored
Bug: v8:12783 Change-Id: I5de98493d67c7c797d4a1b2dcd18c0347821f0f8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3870471Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#83262}
-
Clemens Backes authored
Avoid the deprecated FLAG_* syntax, access flag values via the {v8_flags} struct instead. R=ishell@chromium.org Bug: v8:12887 Change-Id: I2ef25bc50fdf12f0149f2cdfce7102f2cc0f25d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899196Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83261}
-