- 11 Jul, 2022 1 commit
-
-
Samuel Groß authored
This CL does the following: - It enables (i.e. allocates and initializes) the per-Isolate ExternalPointerTable when the sandbox is enabled. - It refactors the list of external pointer tags to mark them as "sandboxed" or "unsandboxed". An unsandboxed external pointer has a null tag. - It changes V8_SANDBOXED_EXTERNAL_POINTERS to now essentially just enable sandboxing for all available tags. - It modifies all low-level external pointer accessors to perform the ExternalPointerLookup only if the tag is non-zero and otherwise treat the slot as containing a raw pointer. This now allows rolling out external pointer sandboxing incrementally (separately for each external pointer type), which will in turn allow for more precise performance measurements of the impact of the sandbox. Note: when an external pointer tag is now marked as sandboxed (and V8_SANDBOXED_EXTERNAL_POINTERS is not enabled), the underlying slots are still 64-bits in size. This simplifies the implementation as we would otherwise need to deal with variably-sized external pointer slots. Local benchmarking suggests that the benefits from 32-bit external pointer slots are insignificant on typical benchmarks, so this should be ok. Drive-by: rename kExternalPointerSize to kExternalPointerSlotSize to make it more clear what it refers to (the on-heap storage size). Also delete CodeStubAssembler::InitializeExternalPointerField as it is not currently used and the implementation is fairly inefficient. Bug: v8:10391 Change-Id: I7c38729c7e9048d737a1a8ced84749f5b1f7feab Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3736447Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#81636}
-
- 08 Jul, 2022 1 commit
-
-
Tobias Tebbi authored
Bug: v8:12783 Change-Id: Ib23aa682054bfcf35efe1adef64fc97afe8f9619 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743642Reviewed-by:
Darius Mercadier <dmercadier@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#81615}
-
- 07 Jul, 2022 1 commit
-
-
Michael Achenbach authored
Bug: v8:13005 Change-Id: I25f44231d936d7b3688898e6941d3877f31fafd3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3751205 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#81589}
-
- 06 Jul, 2022 2 commits
-
-
Leszek Swirski authored
Maglev groups all its tagged spill slots together, and the number of them doesn't change. This means that the generality of the existing safepoint mechanism is massive overkill for maglev code. This patch adds a maglev-specific safepoint table, which is the safepoint of a code object if-and-only-if that code object has maglev code. This safepoint stores the number of tagged and untagged slots once, globally, and individual entries are just used for deopts and for storing the state of pushed registers (this is currently unused, but will be used in the future for pushing registers in deferred calls). Bug: v8:7700 Change-Id: I15f84a6e957357825e84e33238f8a36f2e0b3012 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3747858 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81564}
-
Michael Achenbach authored
GCC warnings are already treated as failures on other bots. They don't add value on the coverage bot and only block creating reports. Bug: v8:13005 Change-Id: I2d55288a4790e8cd508cdb8340265c696e44b671 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3747864Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#81552}
-
- 05 Jul, 2022 2 commits
-
-
Jakob Kummerow authored
Unused as of this CL; users will follow. Bug: v8:12917 Change-Id: I82658ea8a401834a5b3661068766bbdfec54d5a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726214Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81533}
-
Anton Bikineev authored
This reverts commit 111d20bb. Reason for revert: - crashes - flaky test failures - ubsan errors - Speedometer regression Original change's description: > Reland "cppgc: Enable pointer compression by default on Desktop" > > Reland since ubsan failures were fixed. > > Original change's description: > > Revert "cppgc: Enable pointer compression by default on Desktop" > > > > This reverts commit 4cf08c1a. > > > > Reason for revert: broke ubsan. > > > > Original change's description: > > > cppgc: Enable pointer compression by default on Desktop > > > > > > The CL enables pointer compression in Oilpan. > > > > > > For sherrifs: the CL may cause some slight perf regressions (likely > > > blink_perf.*), due to slightly higher cost of compression and > > > decomrpession. > > > > > > Speedometer2 is not expected to regress, as was checked locally. Such a > > > slight performance degradation is compensated by memory savings that are > > > expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer > > > PMF). > > > > > > Bug: chromium:1325007 > > > Change-Id: I2e31fc56250dbe6354a7614fa1f9e926260d842b > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695565 > > > Commit-Queue: Anton Bikineev <bikineev@chromium.org> > > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > > Cr-Commit-Position: refs/heads/main@{#81442} > > > > Bug: chromium:1325007 > > Change-Id: Iabc31ed683841ba0189dee9028da330dc03d7e09 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735168 > > Auto-Submit: Anton Bikineev <bikineev@chromium.org> > > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > > Commit-Queue: Anton Bikineev <bikineev@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#81443} > > Bug: chromium:1325007 > Change-Id: Ifc8ea0e73e99d9be622e27d3d4c79d0e35fd459c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735128 > Commit-Queue: Anton Bikineev <bikineev@chromium.org> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Cr-Commit-Position: refs/heads/main@{#81486} Bug: chromium:1325007 Change-Id: I35d9085b9c39fd212002f098a3a015d0db7504a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743468 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81516}
-
- 01 Jul, 2022 2 commits
-
-
Jakob Kummerow authored
Ctrl+X, Ctrl+V. No change in behavior. This is a preparational step for templatizing the module decoder for disassembler purposes. Bug: v8:12917 Change-Id: I08a5d2e666cd16a207e9862b2691446c0473ddb0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3738221 Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81489}
-
Anton Bikineev authored
Reland since ubsan failures were fixed. Original change's description: > Revert "cppgc: Enable pointer compression by default on Desktop" > > This reverts commit 4cf08c1a. > > Reason for revert: broke ubsan. > > Original change's description: > > cppgc: Enable pointer compression by default on Desktop > > > > The CL enables pointer compression in Oilpan. > > > > For sherrifs: the CL may cause some slight perf regressions (likely > > blink_perf.*), due to slightly higher cost of compression and > > decomrpession. > > > > Speedometer2 is not expected to regress, as was checked locally. Such a > > slight performance degradation is compensated by memory savings that are > > expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer > > PMF). > > > > Bug: chromium:1325007 > > Change-Id: I2e31fc56250dbe6354a7614fa1f9e926260d842b > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695565 > > Commit-Queue: Anton Bikineev <bikineev@chromium.org> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#81442} > > Bug: chromium:1325007 > Change-Id: Iabc31ed683841ba0189dee9028da330dc03d7e09 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735168 > Auto-Submit: Anton Bikineev <bikineev@chromium.org> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Anton Bikineev <bikineev@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81443} Bug: chromium:1325007 Change-Id: Ifc8ea0e73e99d9be622e27d3d4c79d0e35fd459c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735128 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#81486}
-
- 30 Jun, 2022 1 commit
-
-
Shu-yu Guo authored
Bug: v8:12764 Change-Id: I5f915d1c4dad22f1ce12423f6149a85ad32d6725 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3733043 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81477}
-
- 29 Jun, 2022 3 commits
-
-
Jakob Kummerow authored
NamesProvider class: This consolidates logic used so far for the debugger interface. It also adds support for the "extended name section" proposal: https://github.com/WebAssembly/extended-name-section StringBuilder class: Like std::ostringstream, but 4x faster for this use case. This lays the groundwork for an updated Wasm disassembler. Bug: v8:12917 Change-Id: I98aa258147834bc0e314ba98c5927b4cd6070b8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3720714Reviewed-by:
Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#81446}
-
Anton Bikineev authored
This reverts commit 4cf08c1a. Reason for revert: broke ubsan. Original change's description: > cppgc: Enable pointer compression by default on Desktop > > The CL enables pointer compression in Oilpan. > > For sherrifs: the CL may cause some slight perf regressions (likely > blink_perf.*), due to slightly higher cost of compression and > decomrpession. > > Speedometer2 is not expected to regress, as was checked locally. Such a > slight performance degradation is compensated by memory savings that are > expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer > PMF). > > Bug: chromium:1325007 > Change-Id: I2e31fc56250dbe6354a7614fa1f9e926260d842b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695565 > Commit-Queue: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81442} Bug: chromium:1325007 Change-Id: Iabc31ed683841ba0189dee9028da330dc03d7e09 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3735168 Auto-Submit: Anton Bikineev <bikineev@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/main@{#81443}
-
Anton Bikineev authored
The CL enables pointer compression in Oilpan. For sherrifs: the CL may cause some slight perf regressions (likely blink_perf.*), due to slightly higher cost of compression and decomrpession. Speedometer2 is not expected to regress, as was checked locally. Such a slight performance degradation is compensated by memory savings that are expected to be around 10-20% of Oilpan committed size (~2.5-5% of Renderer PMF). Bug: chromium:1325007 Change-Id: I2e31fc56250dbe6354a7614fa1f9e926260d842b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695565 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81442}
-
- 27 Jun, 2022 1 commit
-
-
Nikolaos Papaspyrou authored
This CL introduces a compile flag v8_enable_inner_pointer_resolution_mb. Behind it, it introduces a method `FindBasePtr` in `MemoryChunk`, which implements inner pointer resolution using the chunk's marking bitmap. This method is intended to be used for conservative stack scanning, to resolve inner pointers to heap objects, at some point late in the marking phase. It also delays stack scanning during the marking phase of a full GC, to ensure that marking has proceeded and most heap objects have already been marked. Bug: v8:12851 Change-Id: I40e291a86bb8d2587a2c1d9505574dde3c65eb16 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3703837 Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81404}
-
- 24 Jun, 2022 1 commit
-
-
Shu-yu Guo authored
Drive-by: add unscopable test for Array.prototype.toReversed. Bug: v8:12764 Change-Id: I9d7dd8d4eae6d23811382b6795c2c6ff7f76be72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3717552Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#81364}
-
- 22 Jun, 2022 2 commits
-
-
Nikolaos Papaspyrou authored
This CL introduces a compile flag v8_enable_inner_pointer_resolution_osb behind which lies the experimental implementation of the object start bitmap. It disassociates the object start bitmap from the compile flag v8_enable_conservative_stack_scanning. At the moment the former flag is a prerequisite for the latter, as conservative stack scanning requires some mechanism for inner pointer resolution and the object start bitmap provides one such mechanism. Bug: v8:12851 Change-Id: I24c6b389453fbaefc79ae50c34c5ec7a1bf23347 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3717322Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#81295}
-
Luis Fernando Pardo Sixtos authored
Initial implementation for concurrent shared arrays. Current implementation exposes a `SharedArray` constructor, but its syntax might change in the future. Shared arrays can be shared across Isolates, have a fixed size, have no prototype, have no constructor, and can only store primitives, shared structs and other shared arrays. With this CL shared structs are also allowed to store shared arrays. The Backing storage for the SharedArrays is a `FixedArrayBase`. This CL introdces a new ElementKind: `SHARED_ARRAY_ELEMENTS`. The new kind should match the overall functionality of the `PACKED_SEALED_ELEMENTS` kind, but having it as standalone kind allows for easier branching in CSA and turbofan code. Bug: v8:12547 Change-Id: I054a04624d4cf1f37bc26ae4b92b6fe33408538a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585353Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Luis Fernando Pardo Sixtos <lpardosixtos@microsoft.com> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#81285}
-
- 21 Jun, 2022 2 commits
-
-
Samuel Groß authored
This is a reland of commit 5b9401dd Now also skip tests that require large amounts of virtual address space if tsan is enabled as tsan may cause V8 to create a smaller sandbox which is then unable to allocate the required amount of memory. Original change's description: > [sandbox] Also enable the sandbox outside of Chromium builds > > Drive-by: include the right header in sandboxed-pointer-inl.h and fix > missing sandbox initialization in generate-bytecode-expectations.cc. > > Bug: v8:10391 > Change-Id: Ic39ba04b7c98eaa58ea3943189c23b297f581f5a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630082 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Samuel Groß <saelo@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81216} Bug: v8:10391 Change-Id: I141080fdf61a77ef48b22e353e3cfbc1ff816e5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3716474Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#81277}
-
Manos Koukoutos authored
We factor out the path-state part of branch elimination, to reuse it for wasm path-based type optimizations. The node state becomes a template parameter for the {ControlPathState} and {AdvancedReducerWithControlPathState} classes. Change-Id: I5e9811ced0b71140ec73ba26fae358ac7d56c982 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3714238Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81270}
-
- 20 Jun, 2022 1 commit
-
-
Nico Hartmann authored
This reverts commit 5b9401dd. Reason for revert: A few memory tests flake on tsan (e.g. https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/20190/overview) Original change's description: > [sandbox] Also enable the sandbox outside of Chromium builds > > Drive-by: include the right header in sandboxed-pointer-inl.h and fix > missing sandbox initialization in generate-bytecode-expectations.cc. > > Bug: v8:10391 > Change-Id: Ic39ba04b7c98eaa58ea3943189c23b297f581f5a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630082 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Samuel Groß <saelo@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81216} Bug: v8:10391 Change-Id: I22560a6bdcffbf71651f655bdf7d183d5c832620 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3714239 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#81256}
-
- 17 Jun, 2022 1 commit
-
-
Samuel Groß authored
Drive-by: include the right header in sandboxed-pointer-inl.h and fix missing sandbox initialization in generate-bytecode-expectations.cc. Bug: v8:10391 Change-Id: Ic39ba04b7c98eaa58ea3943189c23b297f581f5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630082Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#81216}
-
- 16 Jun, 2022 1 commit
-
-
Manos Koukoutos authored
Changes: - Rename InitExpression -> ConstantExpression in places which reference the ConstantExpression type. - Move ConstantExpression to its own file, along with ValueOrError and EvaluateConstantExpression. Change-Id: Ife572d783531216b6ea3d2626e4fbf4048463253 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702798Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81204}
-
- 15 Jun, 2022 1 commit
-
-
Samuel Groß authored
This is a reland of commit ae55e4d2 crrev.com/c/3706618 should fix the Android failures. Original change's description: > [sandbox] Enable sandboxed pointers on Android > > Bug: chromium:1218005 > Change-Id: Ie7c100193848544e661ee62f88be4601426a4e18 > Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702251 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Samuel Groß <saelo@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81117} Bug: chromium:1218005 Change-Id: Ia6dbbd2c7629614391ea49f898b0784f39cf27f1 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702445Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#81190}
-
- 14 Jun, 2022 1 commit
-
-
Tobias Tebbi authored
This reverts commit ae55e4d2. Reason for revert: blocks Chromium roll: https://ci.chromium.org/ui/p/chromium/builders/try/android-pie-arm64-rel/b8811418393278278849/overview Original change's description: > [sandbox] Enable sandboxed pointers on Android > > Bug: chromium:1218005 > Change-Id: Ie7c100193848544e661ee62f88be4601426a4e18 > Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702251 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Samuel Groß <saelo@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81117} Bug: chromium:1218005 Change-Id: I78c6d44c917e217bfd5ab1ab893e7b417a63a99a Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702799 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#81133}
-
- 13 Jun, 2022 1 commit
-
-
Samuel Groß authored
Bug: chromium:1218005 Change-Id: Ie7c100193848544e661ee62f88be4601426a4e18 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3702251Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#81117}
-
- 10 Jun, 2022 1 commit
-
-
Tobias Tebbi authored
In particular, this CL adds support for: - exception handling - source positions - OSR - various numeric operations and conversions Since the test suite now passes with `--turboshaft`, this also adds a new variant for Turboshaft and enables it on some bots. Bug: v8:12783 Change-Id: Ia2dd2e16f56fc955d49e51f86d050218e70cb575 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3669251Reviewed-by:
Darius Mercadier <dmercadier@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#81074}
-
- 09 Jun, 2022 2 commits
-
-
Georgia Kouveli authored
The allowlist used for `Deoptimizer::IsValidReturnAddress` depends on fixed embedded builtin addresses. Pass a pointer to the isolate to this method, so that it can discover the actual builtin code start (which may have been remapped) and calculate the offset from the start of the builtins' code in order to check if the return address is allowed. After this change, do not disable short builtin calls when CFI is enabled. There's an important TODO for this change: Since the builtin code pointer that's used to check whether a return address is allowed is now writable, we should use pointer authentication to protect it. Bug: v8:10026 Change-Id: Iafd31d3ad7e10cb17faf33e76e78d3df36edeefd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3667506Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/main@{#81049}
-
Hao Xu authored
Add a simple, linear-time scheduler to check whether two nodes can be scheduled to a same basic block without actually building basic blocks. Bug: v8:12716 Change-Id: I20506f28a9126f881b7e4748f54b12551967ba76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3388910Reviewed-by:
Almothana Athamneh <almuthanna@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Hao A Xu <hao.a.xu@intel.com> Cr-Commit-Position: refs/heads/main@{#81015}
-
- 08 Jun, 2022 2 commits
-
-
Anton Bikineev authored
The CL is a prerequisite for the shared cage. Instead of storing state variables (is_incremental_marking_in_progress, is_young_generation_enabled) in the cage metadata, the CL moves them to HeapHandle. The HeapHandle pointer is now retrieved from page-headers. To make sure that the write-barrier code is better optimized, the HeapHandle definition is moved to internal/ headers. The part of BasePage that contains HeapBase (i.e. HeapHandle) pointer is also extracted and moved to the headers. Bug: v8:12231 Change-Id: I44bf65d99a621d9548e4250386cf87476ca186ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3689730 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81005}
-
Andy Wingo authored
No functional change. Bug: v8:12868 Change-Id: I5f09861e2b5beb400dcc1656f80230404cf544b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3693704Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andy Wingo <wingo@igalia.com> Cr-Commit-Position: refs/heads/main@{#80996}
-
- 03 Jun, 2022 1 commit
-
-
Manos Koukoutos authored
We introduce a Turbofan pass which optimizes wasm-gc nodes based on the types of their inputs. Bug: v8:7748 Change-Id: I281eb0785e9e4201ef925ec201d76dc3d274ad05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3679198Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#80929}
-
- 02 Jun, 2022 2 commits
-
-
Clemens Backes authored
Use the existing {base::Optional} instead of the extra {MaybeBoolFlag} struct. This makes writing to a maybe-flag simpler because you just write a boolean value and that automatically initializes the optional. R=cbruni@chromium.org Bug: v8:12887 Change-Id: I940d20286d65ba4355dc04b4b6068a306706f295 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3686412Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80915}
-
Manos Koukoutos authored
We introduce a typing phase into the Turbofan compilation pipeline for wasm-gc. It has two functionalities: (1) to type nodes that were not typed during code generation (mainly phi nodes) and (2) to narrow types as much as possible. The following nodes are handled, which should be enough for our purposes: TypeGuard, WasmTypeCast, AssertNotNull, Phi, LoadFromObject, and LoadImmutableFromObject. Loop phi types are computed by first assigning the type of the non-recursive input, and updating once we have the type of the recursive inputs, and repeating this process to a fixed point. Drive-by: Remove the narrowing of function signatures during wasm inlining, as it created some issues and should not be needed after this series of changes. Bug: v8:7748 Change-Id: I8a72488d5c221c4ae8257fc5abf6f0368cf10e96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3678208 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#80912}
-
- 01 Jun, 2022 2 commits
-
-
Shu-yu Guo authored
This is a reland of commit ea9a1f1c Changes since revert: - Make the state field uintptr-aligned since arm64 faults on atomic accesses to non-naturally aligned addresses. Original change's description: > [shared-struct] Add Atomics.Mutex > > This CL adds a moving GC-safe, JS-exposed mutex behind the > --harmony-struct flag. It uses a ParkingLot-inspired algorithm and > each mutex manages its own waiter queue. > > For more details, please see the design doc: https://docs.google.com/document/d/1QHkmiTF770GKxtoP-VQ1eKF42MpedLUeqiQPfCqus0Y/edit?usp=sharing > > Bug: v8:12547 > Change-Id: Ic58f8750d2e14ecd573173d17d5235a136bedef9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595460 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80789} Bug: v8:12547 Change-Id: I776cbf6ea860dcc6cb0ac51694a9b584b53d255c Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3673354Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80875}
-
Shu-yu Guo authored
Bug: v8:12764 Change-Id: I67b9b0e4f3c7ca6a2719c234b7f7605f07f86b28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3671760Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#80874}
-
- 31 May, 2022 3 commits
-
-
Patrick Thier authored
Add a new late escape analysis pass to JS late optimizations. The new pass simply removes allocations that are not used (besides initializing stores to the object). Bug: v8:12200 Change-Id: I01fc6233cca2f369c77ff2116ed7c4da1a232d95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3677298 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80862}
-
Clemens Backes authored
The fuzzer runs the same wire bytes through the streaming decoder and through synchronous compilation, and compares the result. In particular, if one fails, then also the other should fail. More checks for the result of both pipelines can be added later. R=ahaas@chromium.org Bug: v8:12922 Change-Id: I905adf740e581c4b7d0f4ab7c0d5d0e48d96fc4c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3675100Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80842}
-
Darius M authored
This is a reland of commit ab76ffc8. Original change's description: > [builtins] use SIMD IndexOf/includes on large arrays > > Change-Id: If751e813c7f45a4d18b84e8c0314a54c84894d61 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3639203 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Darius Mercadier <dmercadier@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80771} Change-Id: I81dcf3c97a15b95fd42927ff8e91602f109db315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3672418Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80840}
-
- 30 May, 2022 1 commit
-
-
Danylo Boiko authored
Change-Id: If1414fd2c01816461983d9bcebeaef5785ef355a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3669694Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80809}
-
- 28 May, 2022 1 commit
-
-
Shu-yu Guo authored
This reverts commit ea9a1f1c. Reason for revert: arm64 pointer alignment issue https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket/8812962856609920785/+/u/Check/mutex-workers Original change's description: > [shared-struct] Add Atomics.Mutex > > This CL adds a moving GC-safe, JS-exposed mutex behind the > --harmony-struct flag. It uses a ParkingLot-inspired algorithm and > each mutex manages its own waiter queue. > > For more details, please see the design doc: https://docs.google.com/document/d/1QHkmiTF770GKxtoP-VQ1eKF42MpedLUeqiQPfCqus0Y/edit?usp=sharing > > Bug: v8:12547 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > Change-Id: Ic58f8750d2e14ecd573173d17d5235a136bedef9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595460 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80789} Bug: v8:12547 Change-Id: I226e16b743dc4b157fac33a9cbabab4d72cf290b Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3673353 Owners-Override: Shu-yu Guo <syg@chromium.org> Auto-Submit: Shu-yu Guo <syg@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80790}
-