100 Commits
Author SHA1 Message Date
Michael Achenbach 758a2078e0 [fuzztest] Fix corpus_data requirement
Ports https://crrev.com/c/5587876 to V8.

No-Try: true
Bug: 40941204
Change-Id: I1df208e8fab82f063a421c810e4a1914767bc2db
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5611287
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94329}
2024-06-10 10:00:32 +00:00
Michael Achenbach 0ceac06f62 Update V8 DEPS (trusted)
Patch 2 applies back the GN args for instrumented_libs version on "noble".

Rolling third_party/instrumented_libs: https://chromium.googlesource.com/chromium/third_party/instrumented_libraries/+log/563ee6c..bb6dbcf

Roll created at https://cr-buildbucket.appspot.com/build/8745887340401683553

Bug: 343086053
Change-Id: Ia5c8597aa7e3a2c36b682df41ed4f788956cc4a5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5603041
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eva Herencsárová <evih@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Matthias Liedtke <mliedtke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94288}
2024-06-06 13:18:55 +00:00
Michael Achenbach 2f7d938424 [build] Make gn variable for debugging features available to Chrome
Moving the declaration to v8.gni enables using it in Chromium to deduce additional arguments passed to blink web_tests, which run slightly slower when V8 turns on debugging features in a Chromium release build.

Bug: 344807094
Change-Id: I8c9a6cd771ff620623f0975b478826e12735c5fd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5602671
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94281}
2024-06-06 09:29:44 +00:00
Michael Achenbach 4e42674b64 [infra] Roll back instrumented libs to last good version
This is a partial revert of:
https://crrev.com/c/5596550

We'll temporarily disable rolling instrumented_libs until the referenced bug is resolved.

Bug: 343086053
Change-Id: I72f723e1161d15a147d8cec008a65c2da3e45e92
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5600343
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94258}
2024-06-05 10:44:38 +00:00
Michael Achenbach 5a3d686d8c Revert "[shared-struct] Handle interrupts for waiting Atomics.Mutex locks."
This reverts commit 87a7bcc525.

Reason for revert: Causing a lot of hanging flaky tests:
https://crbug.com/345035666
https://crbug.com/344825510

Original change's description:
> [shared-struct] Handle interrupts for waiting Atomics.Mutex locks.
>
> Currently workers that are waiting on Atomics.Mutex or
> Atomics.Condition cannot be terminated. This CL adds interrupt
> handling:
>
> 1. Change the stack allocated SyncWaiterQueueNodes for a single
>    unique_ptr stored in the isolate. This node is shared by all the
>    Atomics.Mutex.lock and Atomics.Condition.wait calls in the same
>    thread.
> 2. Atomics.Mutex.lock and Atomics.Condition.wait now return a
>    termination exception when the thread is terminated.
> 3. Added logic in the stack guard to notify waiting nodes.
>
> Bug: 42202493, 339021674
> Change-Id: If7c8f0f37e52763a6f3414a49c932f9e988c39be
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5586224
> Reviewed-by: Shu-yu Guo <syg@chromium.org>
> Commit-Queue: Luis Pardo <lpardosixtos@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#94219}

Bug: 42202493, 339021674, 345035666, 344825510
Change-Id: Ic40740103c44c229cac57d3c34d6fd736216a455
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5600339
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#94254}
2024-06-05 08:52:45 +00:00
Michael Achenbach fb5b869a68 [infra] Remove ODROID builders
No-Try: true
Bug: 344810072
Change-Id: Ifc68ea682b6fe53f1ce738e1cd5d7c52a52a4a09
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5596552
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94236}
2024-06-04 12:55:46 +00:00
Michael Achenbach 6647597a5a Reland "Update V8 DEPS (trusted)"
This is a reland of commit c334b28781

Patch 2 also forwards build/ and third_party/instrumented_libs/ to
include 2 more fixes for using instrumented libraries with msan.

Original change's description:
> Update V8 DEPS (trusted)
>
> Also rolls instrumented_libs to the latest build to include a fix
> for msan executables and uses the libs at version noble for the same
> reason.
>
> Rolling build: https://chromium.googlesource.com/chromium/src/build/+log/5ecb9a9..b903e21
>
> Rolling buildtools/win: git_revision:df98b86690c83b81aedc909ded18857296406159..git_revision:d010969ecc312c4c9512d4b4987b2589087df01a
>
> Rolling third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/b027bd3..30d4d21
>
> Rolling third_party/catapult: https://chromium.googlesource.com/catapult/+log/24a969a..4ffc88d
>
> Rolling third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/97246c4..6427b94
>
> Rolling third_party/fp16/src: https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16/+log/95163a7..0a92994
>
> Rolling third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/305e5a2..a7f443b
>
> Rolling third_party/instrumented_libs: https://chromium.googlesource.com/chromium/third_party/instrumented_libraries/+log/563ee6c..55ff6b7
>
> Rolling third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/b663b9c..5f2c976
>
> Rolling third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/8c5b971..a16d528
>
> Rolling third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2/+log/a771d3f..1db129f
>
> Rolling tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7d6eb60..557b28f
>
> Roll created at https://cr-buildbucket.appspot.com/build/8746454500867171073
>
> Change-Id: I4b7feb431e2b4ef94b6d652aed8af335b6cea030
> Bug: 343086053
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5586917
> Reviewed-by: Liviu Rau <liviurau@google.com>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#94187}

Bug: 343086053
Change-Id: I443393b5c7daa4d754750d3899c850ba850ca7b3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5596550
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94233}
2024-06-04 12:36:42 +00:00
Michael Achenbach c334b28781 Update V8 DEPS (trusted)
Also rolls instrumented_libs to the latest build to include a fix
for msan executables and uses the libs at version noble for the same
reason.

Rolling build: https://chromium.googlesource.com/chromium/src/build/+log/5ecb9a9..007a74b

Rolling buildtools/win: git_revision:df98b86690c83b81aedc909ded18857296406159..git_revision:d010969ecc312c4c9512d4b4987b2589087df01a

Rolling third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/b027bd3..30d4d21

Rolling third_party/catapult: https://chromium.googlesource.com/catapult/+log/24a969a..4ffc88d

Rolling third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/97246c4..6427b94

Rolling third_party/fp16/src: https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16/+log/95163a7..0a92994

Rolling third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/305e5a2..a7f443b

Rolling third_party/instrumented_libs: https://chromium.googlesource.com/chromium/third_party/instrumented_libraries/+log/563ee6c..1d704ca

Rolling third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/b663b9c..5f2c976

Rolling third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/8c5b971..a16d528

Rolling third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2/+log/a771d3f..1db129f

Rolling tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7d6eb60..557b28f

Roll created at https://cr-buildbucket.appspot.com/build/8746454500867171073

Change-Id: I4b7feb431e2b4ef94b6d652aed8af335b6cea030
Bug: 343086053
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5586917
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94187}
2024-06-03 07:18:15 +00:00
Michael Achenbach f589868a85 Revert "[infra] Add bot_config overrides"
This reverts commit a7e166efbf.

Reason for revert: breaks bots

Original change's description:
> [infra] Add bot_config overrides
>
> Override perf bot ids to align the bot migration with a V8 revision.
>
> Bug: 333913216
> No-Try: true
> Change-Id: I8f4ccedcb90c2a2be4f5a4c257fe610e8ce24d32
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5560923
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#94051}

Bug: 333913216
Change-Id: I41dff1a45c595f3c5c59ab9de12e398edf84aec0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5562405
Auto-Submit: Michael Achenbach <machenbach@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@{#94052}
2024-05-23 10:24:07 +00:00
Michael Achenbach 5366afe702 [infra] Add drumbrake builders on Windows
Runs tests in CI with FYI priority and associated longer timeouts.
The extra variants includes jitless and nooptimization, which are
relevant for this builder.

No-Try: true
Bug: 340822364
Change-Id: Ie73180d2f2517379418934c7b761529399533503
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5554272
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94005}
2024-05-21 12:02:30 +00:00
Michael Achenbach 76c924a7e1 Revert "Update V8 DEPS (trusted)"
This reverts commit 7ff53634c6.

Reason for revert: http://b/341230569

Original change's description:
> Update V8 DEPS (trusted)
>
> Rolling build: https://chromium.googlesource.com/chromium/src/build/+log/c71a0f4..4acd723
>
> Rolling third_party/catapult: https://chromium.googlesource.com/catapult/+log/c2f740d..1bce012
>
> Rolling third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/274689c..9a8c80c
>
> Roll created at https://cr-buildbucket.appspot.com/build/8747722857904768305
>
> Change-Id: Ib900d489b64e4c9f3a63d4a36987fd61a90aa6cc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5546320
> 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@{#93957}

Bug: 341230569
Change-Id: Ief812b473db8e484ff0d04aef17752c5eaaf042b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5547740
Auto-Submit: Michael Achenbach <machenbach@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@{#93961}
2024-05-17 09:34:11 +00:00
Michael Achenbach b2261976f1 [infra] Add sticky-mark-bits builders
Bug: 339458172
No-Try: true
Change-Id: I9f88bd29fbf1fa656496043a46b6c1de60ac58c7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5543920
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93943}
2024-05-16 09:56:34 +00:00
Michael Achenbach 33e89ebe5a Revert "[interpreter] Only Clear/Restore pending messages when CMD_RETHROW"
This reverts commit 586adcb473.

Reason for revert:
Suspected to block the current roll:
https://ci.chromium.org/ui/p/chromium/builders/try/mac-rel/1784362/test-results?sortby=&groupby=

Original change's description:
> [interpreter] Only Clear/Restore pending messages when CMD_RETHROW
>
> We only need to save/restore pending messages when we're catching and rethrowning an exception, so push the code to paths that handle CMD_RETHROW. (We always pass through RETHROW if we caught since we might rethrow. This could be overwritten later of course, in which case we won't restore.)
>
> Change-Id: Ic476c99747077e316b306a5d760d6fb13ae85899
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5529233
> Auto-Submit: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Victor Gomes <victorgomes@chromium.org>
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#93817}

Change-Id: Ied65ba31216dfb226f7f10344f0bafb8145b3c51
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5526606
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93845}
2024-05-13 07:32:07 +00:00
Michael Achenbach c6926e7198 [test] Resolve an incompatible flag on NumFuzz
Prevent a flag inconsistency by explicitly listing the negation of the
incompatible flag.

Bug: 339459688
Change-Id: Ia723262e606debd92a3238a1f2dbbf1cf5765500
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5529241
Reviewed-by: Eva Herencsárová <evih@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93829}
2024-05-10 13:39:06 +00:00
Michael Achenbach 2d6d467162 Revert "[tracing] Remove base/trace_event/common dependency"
This reverts commit 993b79e7f5.

Reason for revert:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20debug%20-%20header%20includes%20-%20builder/15361/overview

And this, but not consistent it seems. Maybe an incremental
build problem:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20builder/73951/overview

Original change's description:
> [tracing] Remove `base/trace_event/common` dependency
>
> Currently, V8 depends on base/trace_event/common which includes a single
> file being shared. It contains two tracing macro implementations: one
> which is based on perfetto, and a second legacy one.
>
> V8 is the only client of the legacy version, which got removed in
> https://crrev.com/c/5505657 and causes a failure of our roll (e.g.
> https://crrev.com/c/5512234).
>
> This change moves the legacy code into V8, removes the obsolete
> dependency, and refactors the build configurations.
>
> Bug: 338608342
> Change-Id: I9254592b5c581d64807fe25c92ac931356569453
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5522493
> Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#93823}

Bug: 338608342
Change-Id: Iefbd2c7e9a8c0af0f437a60faa345db72879d50d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5529239
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93825}
2024-05-10 11:38:36 +00:00
Michael Achenbach 99accbcfd0 [owners] Add infra members to common owners
Also the infra team should own commonly owned files like various
tools and infra configs like the DEPS file.

No-Try: true
Change-Id: I83af13a8d75af4f9840e72af5d01db587ab8dea7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5522501
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#93790}
2024-05-08 10:23:58 +00:00
Michael Achenbach d44be8318a Update fuzztest (trusted)
Besides the automated roll, this change also enables using protobuf
from a different location via build_overrides, which depends on
https://crrev.com/c/5518292 in Chrome.

Rolling third_party/fuzztest: https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+log/ae21d24..7bf252c

Rearrange fuzzing engine dependencies (Adrian Taylor)
https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/0162929

Fuzztest config public -> private. (Adrian Taylor)
https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/b75e0e8

Roll fuzztest (Adrian Taylor)
https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/4cd4a81

Rolling third_party/fuzztest/src: https://chromium.googlesource.com/external/github.com/google/fuzztest/+log/65354bf..3458410

#Centipede Extend `AsByteSpan` to take any container type + use it where possible (Sergey Shevchenko)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/3458410

Properly convert proto to text (FuzzTest Team)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/ed6f817

Use ParseTextProtoOrDie instead of ParseTestProto in suggested reproducer tests (FuzzTest Team)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/6a370ae

Expose API to parse known absl flags. (FuzzTest Team)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/d938942

#Centipede Use new OSS functions to get test temp & src dirs (Sergey Shevchenko)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/d739fa5

Update unescaping logic in `ReadDictionaryFromFile()` to support 2-digit hex codes. (Ilaï Deutel)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/1635d42

Avoid OOM during input prasing by limiting the object size reservation. (Xinhao Yuan)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/a40caf4

#Centipede Print objdump command stderr when failed. (Xinhao Yuan)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/9957964

...

Roll created at https://cr-buildbucket.appspot.com/build/8748715648563104433

Bug: 336577743
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
Change-Id: Iacbfba24375221138fa1b9cf1ca6b6d520e847b3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5516843
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93757}
2024-05-07 10:37:45 +00:00
Michael Achenbach 36ed72a396 [infra] Add sandbox-testing builders
No-Try: true
Bug: 336488510
Change-Id: Ibb26ba7fd10b6a50bfc06ac5354e380b07391dac
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5518755
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93747}
2024-05-07 06:58:37 +00:00
Michael Achenbach 0915c5a241 [test] Renenable array-splice in all variants
The stress variant has changed at some point, which makes this
likely obsolete. If it fails again, we'll create a fresh report.

Bug: 42208132
Change-Id: Ib112cc24de8c65952a100250e753722c8fe40ed7
Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_gc_stress_dbg
Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_gc_stress_dbg
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5518449
Reviewed-by: Eva Herencsárová <evih@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Eva Herencsárová <evih@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93729}
2024-05-06 11:33:53 +00:00
Michael Achenbach 59db0e2395 [build] Use protobuf from Chromium
This switches V8's dependency protobuf from github to the version
in Chrome. When embedded in Chrome, V8 already makes use of this
version. In the stand-alone case, this prepares using protobuf
also for fuzztest.

Due to a `gclient sync` bug (https://crbug.com/338008085) we
temporarily store protobuf in third_party/protobuf_chrome, which
can switch back to third_party/protobuf in M129 to not break local
developers switching between the main and some supported release
branch.

The new dependencies third_party/protobuf_chrome and
tools/protoc_wrapper will in the future be kept automatically in
sync by V8's Chromium-DEPS roller.

Bug: 337736622
Cq-Include-Trybots: luci.v8.try:v8_linux64_perfetto_dbg
Change-Id: I3bf3b01fbe49f5be29aedac5b042ce4fa6776a24
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5492424
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93720}
2024-05-06 09:03:21 +00:00
Michael Achenbach e40ac6ebc8 [owners] Clean up js-fuzzer owners
No-Try: true
Bug: 338340739
Change-Id: Idbe4c5f8a9b9f322ff1d57d6543517da147939ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5509232
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93670}
2024-05-02 09:13:34 +00:00
Michael Achenbach fd7ea68a0e [fuzztest] Flip regexp fuzzer to more expressive grammar
This adds a new auto-generated InGrammar domain from antlrv4 grammar
fuzzer_regexp_grammar.g4, which covers more regexp features.

A backtracking limit prevents test timeouts that'd otherwise happen
too frequently.

Bug: 40941204
Change-Id: Ie41b173ba5bc7acd970e1fe7643f4977cc807cd0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5419073
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93614}
2024-04-26 12:55:27 +00:00
Michael Achenbach 799df19ddb [test] Skip flaky test
This skips a frequently hanging test. We skip rather than unsetting the
v8_flag here in the code to avoid running the test redundantly.

No-Try: true
Bug: 42204548
Change-Id: Id17c4adf24ea99fbcb6b4b2d1eb91d4d4edc6311
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5487529
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93581}
2024-04-25 13:57:09 +00:00
Michael Achenbach 42b4b590dc Revert "Update fuzztest (trusted)"
This reverts commit 3558c19d2f.

Reason for revert:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20debug%20-%20perfetto%20-%20builder/31299/overview

Need to clean up some protobuf code in V8's BUILD.gn file first.

Original change's description:
> Update fuzztest (trusted)
>
> Patch 1: Auto-generated change from auto-roller with latest fuzztest.
> Patch 2 and later: The following fixes:
> - Fuzztest now depends on protobuf. This requires the latest
> protobuf implementation and configs that also Chrome uses. We now
> exchange the legacy github version, V8 pointed to, to the one used
> within Chrome, which is also used by V8 anyways when being embedded
> in Chrome.
> - We switch off enable_js_protobuf from https://crrev.com/c/2464426
> to avoid other unnecessary js protobuf dependencies like the
> closure compiler.
>
> Rolling third_party/fuzztest: https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+log/ae21d24..0162929
>
> Rearrange fuzzing engine dependencies (Adrian Taylor)
> https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/0162929
>
> Fuzztest config public -> private. (Adrian Taylor)
> https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/b75e0e8
>
> Roll fuzztest (Adrian Taylor)
> https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/4cd4a81
>
> Rolling third_party/fuzztest/src: https://chromium.googlesource.com/external/github.com/google/fuzztest/+log/65354bf..3458410
>
> #Centipede Extend `AsByteSpan` to take any container type + use it where possible (Sergey Shevchenko)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/3458410
>
> Properly convert proto to text (FuzzTest Team)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/ed6f817
>
> Use ParseTextProtoOrDie instead of ParseTestProto in suggested reproducer tests (FuzzTest Team)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/6a370ae
>
> Expose API to parse known absl flags. (FuzzTest Team)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/d938942
>
> #Centipede Use new OSS functions to get test temp & src dirs (Sergey Shevchenko)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/d739fa5
>
> Update unescaping logic in `ReadDictionaryFromFile()` to support 2-digit hex codes. (Ilaï Deutel)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/1635d42
>
> Avoid OOM during input prasing by limiting the object size reservation. (Xinhao Yuan)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/a40caf4
>
> #Centipede Print objdump command stderr when failed. (Xinhao Yuan)
> https://chromium.googlesource.com/external/github.com/google/fuzztest/+/9957964
>
> ...
>
> Roll created at https://cr-buildbucket.appspot.com/build/8749712217554748001
>
> Bug: 336577743
> Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
> Change-Id: Icc5ceef23e1cfe33fbd9ca4cde1dac39e8e1c232
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5487258
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#93577}

Bug: 336577743
Change-Id: I6011d772837a64051e4977376ed723c10a287edc
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5487531
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#93578}
2024-04-25 12:41:11 +00:00
Michael Achenbach 3558c19d2f Update fuzztest (trusted)
Patch 1: Auto-generated change from auto-roller with latest fuzztest.
Patch 2 and later: The following fixes:
- Fuzztest now depends on protobuf. This requires the latest
protobuf implementation and configs that also Chrome uses. We now
exchange the legacy github version, V8 pointed to, to the one used
within Chrome, which is also used by V8 anyways when being embedded
in Chrome.
- We switch off enable_js_protobuf from https://crrev.com/c/2464426
to avoid other unnecessary js protobuf dependencies like the
closure compiler.

Rolling third_party/fuzztest: https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+log/ae21d24..0162929

Rearrange fuzzing engine dependencies (Adrian Taylor)
https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/0162929

Fuzztest config public -> private. (Adrian Taylor)
https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/b75e0e8

Roll fuzztest (Adrian Taylor)
https://chromium.googlesource.com/chromium/src/third_party/fuzztest/+/4cd4a81

Rolling third_party/fuzztest/src: https://chromium.googlesource.com/external/github.com/google/fuzztest/+log/65354bf..3458410

#Centipede Extend `AsByteSpan` to take any container type + use it where possible (Sergey Shevchenko)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/3458410

Properly convert proto to text (FuzzTest Team)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/ed6f817

Use ParseTextProtoOrDie instead of ParseTestProto in suggested reproducer tests (FuzzTest Team)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/6a370ae

Expose API to parse known absl flags. (FuzzTest Team)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/d938942

#Centipede Use new OSS functions to get test temp & src dirs (Sergey Shevchenko)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/d739fa5

Update unescaping logic in `ReadDictionaryFromFile()` to support 2-digit hex codes. (Ilaï Deutel)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/1635d42

Avoid OOM during input prasing by limiting the object size reservation. (Xinhao Yuan)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/a40caf4

#Centipede Print objdump command stderr when failed. (Xinhao Yuan)
https://chromium.googlesource.com/external/github.com/google/fuzztest/+/9957964

...

Roll created at https://cr-buildbucket.appspot.com/build/8749712217554748001

Bug: 336577743
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
Change-Id: Icc5ceef23e1cfe33fbd9ca4cde1dac39e8e1c232
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5487258
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93577}
2024-04-25 12:28:30 +00:00
Michael Achenbach b7cef48436 [build] Make gen-static-roots more robust to bad gn configs
Bug: v8:14538
Change-Id: Ic8d60eaec77566383094fe54761d6a381d8462ca
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5481647
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Olivier Flückiger <olivf@chromium.org>
Commit-Queue: Olivier Flückiger <olivf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93546}
2024-04-24 06:57:29 +00:00
Michael Achenbach a1033cebc7 Revert "[maglev] Re-enable ReduceFunctionPrototypeApplyCallWithReceiver"
This reverts commit 38d8751be2.

Reason for revert: https://crbug.com/335354651

Original change's description:
> [maglev] Re-enable ReduceFunctionPrototypeApplyCallWithReceiver
>
> The reason this reduction was disabled is that we did not
> support the case when the second argument could be null or
> undefined.
>
> With the SubGraphBuilder, this is trivial to implement.
>
> Bug: v8:7700
> Change-Id: I8d880935c8bf7383c0307127c3f72b1b5cea168f
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5458171
> Auto-Submit: Victor Gomes <victorgomes@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Victor Gomes <victorgomes@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#93401}

Bug: v8:7700, 335354651
Change-Id: I2b9c20a9d315148262866a9d3a2b00ff763b1bae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5461354
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93406}
2024-04-17 07:28:27 +00:00
Michael Achenbach 8531f12c01 [fuzztest] Fix fuzztest replay (cont)
Replay doesn't work when the CENTIPEDE_RUNNER_FLAGS are set. As
a Clusterfuzz-side change is a bit more expensive and since
Clusterfuzz also supports non-fuzztest-centipede runs, we just
unset it in the bash wrapper.

Bug: 332679477
Change-Id: Icd25e457a57b7ab1ed8d4b62b202c969274828bd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5445555
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#93355}
2024-04-15 08:40:17 +00:00
Michael Achenbach 5fb75c8ebe [fuzztest] Simplify fuzzer names
Since all fuzz tests end in _fuzztest, this drops also the token
"test" from test names to get slightly shorter fuzzer names.

Bug: 40941204
Change-Id: Ia2f16a75346bffcc1e32772edd082378e2a73c8f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5445554
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93354}
2024-04-15 08:35:31 +00:00
Michael Achenbach 497d8573dc [fuzztest] Condition wrappers to work with fuzz-test replay
This adds a conditional for fuzz-test wrappers transforming an
optional parameter into an environment variable. In V8, we never
pass any additional parameters. The only parameter passed is the
file name for reproducing test cases.

I.e. we transform:
fuzztest param
into
FUZZTEST_REPLAY=param fuzztest

Bug: 332679477
Change-Id: I80189c090a0c18ccec0a2b3a1167c601a697b516
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5447121
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93350}
2024-04-13 09:28:47 +00:00
Michael Achenbach 50e83ca827 Reland "[build] Fix instrumented libs after deps change"
This is a reland of commit 3c805fe68f

Original change's description:
> [build] Fix instrumented libs after deps change
>
> This ports https://crrev.com/c/5368675 to V8.
>
> Bug: 331352968
> Change-Id: Ic5357bc197490ed3c3afa6130d67e53d334af7a0
> Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5397916
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#93051}

Bug: 331352968
Change-Id: Id2dd283e0a7af95b3af100f2121a7408998b6f8b
Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5424902
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93206}
2024-04-05 20:58:39 +00:00
Michael Achenbach 5ee743a2fd [fuzztest] Add regexp fuzzer
This adds a grammar-based regular-expression fuzzer using FuzzTest.
The logical flow is inspired by the legacy libfuzzer fuzzer:
https://source.chromium.org/chromium/chromium/src/+/main:v8/test/fuzzer/regexp.cc

Unlike the previous fuzzer, the new fuzz test will explore valid
regular expressions with a higher likelihood, based on an
auto-generated InGrammar domain. The domain is based on a simplified
antlr v4 regexp grammar from the wild. It can be replaced with a
better version as soon as we find one.

The new fuzzer also fuzzes over the subject strings the regular
expression is tested on, which is now possible, because FuzzTest
supports multiple parameters. The same holds for the regexp flags.

Bug: 40941204
Change-Id: I4f2bd7707a66d3fdb1cf7a147ae1f62aca4445b0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5372053
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93133}
2024-04-03 09:51:51 +00:00
Michael Achenbach c239a176cd Revert "[build] Fix instrumented libs after deps change"
This reverts commit 3c805fe68f.

Reason for revert: The original was reverted.

Original change's description:
> [build] Fix instrumented libs after deps change
>
> This ports https://crrev.com/c/5368675 to V8.
>
> Bug: 331352968
> Change-Id: Ic5357bc197490ed3c3afa6130d67e53d334af7a0
> Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5397916
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#93051}

Bug: 331352968
Change-Id: I0c10e675688fdad244e7aa551f6c009a27c954f2
Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5409432
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93106}
2024-04-02 09:10:25 +00:00
Michael Achenbach 3c805fe68f [build] Fix instrumented libs after deps change
This ports https://crrev.com/c/5368675 to V8.

Bug: 331352968
Change-Id: Ic5357bc197490ed3c3afa6130d67e53d334af7a0
Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5397916
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Cr-Commit-Position: refs/heads/main@{#93051}
2024-03-26 18:23:10 +00:00
Michael Achenbach ded0914f2c Revert "Switch msan testers to Focal"
This reverts commit f899839e9a.

Reason for revert: Blocking bug is mitigated.

Original change's description:
> Switch msan testers to Focal
>
> No-try: true
> Bug: 329036740
> Change-Id: I29848e79f98221af6acb2289d8045e6a7cc6c17c
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5366646
> Commit-Queue: Liviu Rau <liviurau@google.com>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#92808}

Bug: 329036740
Change-Id: I2e3f6f50397ac96a5c9212c1834dc271d8e519a3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5372466
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#92837}
2024-03-15 07:53:41 +00:00
Michael Achenbach de2a08d895 [fuzztest] Add json fuzzer
This adds an exemplary fuzz test for json, inspired by the existing
libfuzzer json fuzzer.

The inputs are structurally aware and focus on valid json inputs,
generated with the help of jsoncpp (while the existing libfuzzer
implementation would work on arbitrary strings mostly leading to
parse errors). In the future, we could also add another fuzz test
with arbitrary inputs.

Domains for FuzzTest are constructed with utilities from:
https://github.com/google/fuzztest/blob/main/doc/domains-reference.md

Bug: 40941204
Change-Id: I76c7337ffb1a5a530dedcfba092e0d9260cdec66
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5367021
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Matthias Liedtke <mliedtke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92818}
2024-03-13 15:21:54 +00:00
Michael Achenbach 25d1f16cbd [test] Skip failing tests on Android
The problem is tracked and the failures obscure the builder.

No-Try: true
Bug: v8:14545
Change-Id: I5dce1bad231cc9e62fc656a1b089e935dac5a528
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5367102
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92798}
2024-03-13 09:00:05 +00:00
Michael Achenbach b896372d47 Reland "[fuzztest] Roll abseil/fuzztest and fix fuzztest flags"
This is a reland of commit 8157ec839b

The reland also rolls fuzztest, which contains a part of the abseil
CL.

Original change's description:
> [fuzztest] Roll abseil and fix fuzztest flags
>
> This manually rolls abseil to https://crrev.com/c/5342394
> and ports the change to V8.
>
> Bug: 40286621, 327992211
> Change-Id: If1ce838ee72f148659facf700ff2a6a4cb47b1de
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5349151
> Auto-Submit: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#92697}

Bug: 40286621, 327992211
Change-Id: I76f19c94baddb58fe785005bea60dcf37330440d
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_rel
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5350598
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#92705}
2024-03-07 10:28:23 +00:00
Michael Achenbach 9b47928732 Revert "[fuzztest] Roll abseil and fix fuzztest flags"
This reverts commit 8157ec839b.

Reason for revert:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Centipede%20Linux64%20ASAN%20%20-%20debug%20builder/774/overview

Original change's description:
> [fuzztest] Roll abseil and fix fuzztest flags
>
> This manually rolls abseil to https://crrev.com/c/5342394
> and ports the change to V8.
>
> Bug: 40286621, 327992211
> Change-Id: If1ce838ee72f148659facf700ff2a6a4cb47b1de
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5349151
> Auto-Submit: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#92697}

Bug: 40286621, 327992211
Change-Id: I1fe36c5606e03f9e5cd7cbc61b5cd14a51503735
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5350597
Auto-Submit: Michael Achenbach <machenbach@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@{#92698}
2024-03-06 21:02:19 +00:00
Michael Achenbach 8157ec839b [fuzztest] Roll abseil and fix fuzztest flags
This manually rolls abseil to https://crrev.com/c/5342394
and ports the change to V8.

Bug: 40286621, 327992211
Change-Id: If1ce838ee72f148659facf700ff2a6a4cb47b1de
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5349151
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92697}
2024-03-06 20:39:02 +00:00
Michael Achenbach 0f3f76e414 Update V8 DEPS (trusted)
Rolling build: https://chromium.googlesource.com/chromium/src/build/+log/6f2ff82..253f9e7

Rolling buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/1db15eb..9491ff1

Rolling buildtools/linux64: git_revision:f19d5817e7ba85c2fda92e2697be11a4465d3267..git_revision:88e8054aff7bd0cb2295c7d9361d2be0b7355f27

Rolling third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/98ad12d..7dcda6c

Rolling third_party/android_sdk/public: BRpfUGFd3WoveSGTLVgkQF7ugIVyywGneVICP4c0010C..mU9jm4LkManzjSzRquV1UIA7fHBZ2pK7NtbCXxoVnVUC

Rolling third_party/catapult: https://chromium.googlesource.com/catapult/+log/56ba67e..e2d639b

Rolling third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/6b84fbf..de6a9a9

Rolling third_party/fuchsia-gn-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-gn-sdk/+log/959d1a2..727f65f

Rolling third_party/fuchsia-sdk/sdk: version:18.20240227.3.1..version:19.20240305.3.1

Rolling third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/76bb2af..dda72ef

Rolling third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx/+log/b5fe27d..80307e6

Rolling third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/204deaa..fc6253a

Rolling third_party/re2/src: https://chromium.googlesource.com/external/github.com/google/re2/+log/f9550c3..dbf15a2

Rolling third_party/siso: git_revision:8632c71c8cadd9cb9ea4d43e6b30eeae4dffcd12..git_revision:86b0e81fba4005098b1bec9ca40018fc3dacd523

Rolling third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/3787595..aedd9b5

Rolling tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/5a776b1..353f979

Roll created at https://cr-buildbucket.appspot.com/build/8754225871412810401

Change-Id: Icedeb568850a24d09a1cc15b14d7ac85cd60a3a3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5348378
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#92687}
2024-03-06 12:58:33 +00:00
Michael Achenbach 9fec3cfb8e [build] Add gn variable to unblock deps roll
This is needed to roll:
https://crrev.com/c/4994044

Bug: b/328287875
Change-Id: I9db69298f6b4a9b2e05cdfa04fce6a08282fcc76
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5347618
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Liviu Rau <liviurau@google.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92679}
2024-03-06 08:58:50 +00:00
Michael Achenbach 3caece38d1 [flags] Example fuzz test
This adds a fuzz test demonstrating the use of the InRegexp domain
and applying this to stress flag setting and implication processing.

This test is more of a fuzz-test example than it is an actual
valuable fuzz test from which we expect any errors to be found.

Stress tested locally to ensure it's not running into anything
obvious.

Bug: 41497291, 40941204
Change-Id: I197b1555e09bf01173f241e576d48b2da3e29546
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5319503
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92512}
2024-02-23 15:31:16 +00:00
Michael Achenbach bbdcc772ff [flags] Add tests for flag look-ups
This implicitly tests now the functionality for looking up flags
fast using binary search, introduced in:
https://crrev.com/c/5272499

Bug: 41497291
Change-Id: I6faff65252158796d703569f0659f4991423231f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5318116
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92508}
2024-02-23 13:51:57 +00:00
Michael Achenbach 74530c3ff4 [fuzztest] Restructure example fuzz test
This enables using one of the fuzz-test toy examples as a probe for
monitoring the fuzz-test integration (i.e. verifying that we really
detect all the failure types we test for).

Bug: 40941204
Change-Id: I8a527e42f5301b515c913d56654ce6007d1edadd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5314560
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92472}
2024-02-22 10:45:23 +00:00
Michael Achenbach bc26f1ffa0 [flags] Move some definitions to the implementation header
This will enable unit testing more functionality exposed in the
header.

Bug: 41497291
Change-Id: I1932ef48b1658c746aa3ad98511a35d1bee851f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5309895
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92444}
2024-02-21 11:42:04 +00:00
Michael Achenbach 4af6461ae3 [flags] Split off header with implementation details
Bug: 41497291
Change-Id: I930f6157e2a5ffbc1ac9bd9c76b008029ce7de63
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5300310
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92417}
2024-02-20 10:17:46 +00:00
Michael Achenbach 0c9f9732d3 [flags] Add example fuzz test
This adds a test using https://github.com/google/fuzztest/. The test
itself serves more as an example of how to add such a test. We
don't expect it to find much. We might delete it again as soon as
we have enough better examples.

Bugs: 41497291, 40941204
Change-Id: I7f27ba9079fb7958bbbadfcdcea395d4ba9042e1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5300802
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92377}
2024-02-16 17:01:49 +00:00
Michael Achenbach 81623d243b [flags] Add some flag-helpers tests
Bug: b/41497291
Change-Id: I8cdf6c329b9b373f89ed38db4fd5f5b43f32874e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5300538
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92351}
2024-02-15 15:30:28 +00:00
Michael Achenbach e60674b62e [flags] Speed up flag implication processing
Flag-implication processing is called through V8's api each time
a flag is set via SetFlagsFromString. Currently, this happens ~30
times per isolate during Chrome start-up adding up to ~2ms time
spent on this.

While the implication processor already bails out on no-change and
on premise==false, it still spends a considerable amount of time
on minimum-one-iteration per call, processing all premise==true
cases.

This speeds up the look-up of flags by name, which is where most of
the time is spent. Initializing the structure costs ~0.3ms and all subsequent implication processing adds up to ~0.4ms, improving
this with factor x3. Also in d8 (and mksnapshot), implications are
processed 4 times, leading to a small improvement.

Bug: b/41497291
Change-Id: Ia36141fdefba7fd969dea62d699a0f75dba31b8c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5272499
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92270}
2024-02-12 10:24:46 +00:00
Michael Achenbach f4a761d149 [run_perf] Add optional default value for regexps that don't match
This supports adding regular expressions for results that don't match
in all perf variants. In case it doesn't match, a default value will
be used if configured.

Bug: v8:14610
Change-Id: I53594faea375cf8bde1afa4414bdab5c8be7bf2c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5273181
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92214}
2024-02-06 14:14:56 +00:00
Michael Achenbach 5ca5cf0c56 [fuzzing] Suppress another known flag contradiction
See e.g.:
https://clusterfuzz.com/testcase-detail/5434718461296640

# Cycle in flag implications:
--stress-concurrent-inlining-attach-code
-> --stress-concurrent-inlining
--predictable
-> --no-stress-concurrent-inlining

This is the only remaining error currently showing up on
Clusterfuzz. Though we might find more, once this one gets closed.

Bug: b/41497291
Change-Id: I2242229e8cef10dd247019e99203547de5d0048c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5272482
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92212}
2024-02-06 12:16:33 +00:00
Michael Achenbach 71b446d7af [fuzzing] Reset some contradictory flags when fuzzing
Avoid some known contradictory flag cycles when --fuzzing is passed.
The biggest known offenders are now manually listed and resolved
when passed together on the command line (which happens in a certain
percentage of fuzzer runs).

In the future we could turn this manual into a more generic solution
that calculates all possible contradictory flag pairs, but for now
we only want to check how much this change impacts the Clusterfuzz
crash statistics.

Bug: chromium:1524346
Change-Id: Id1de135dba20825b8763d72c0397586004dbd81c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5258482
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92190}
2024-02-05 13:19:26 +00:00
Michael Achenbach e3169f1354 [clusterfuzz] Mark more flag contradicions for fuzzers
These flags lead to contradictory cycles when used together. Add more
of these known contradicions to the global trial configs and to
specific flag picking by js_fuzzer.

Bug: chromium:1175943
Change-Id: I6bd67d94d99574c6b474a9bd34686de2b5c4e1d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5257199
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#92133}
2024-02-01 09:07:12 +00:00
Michael Achenbach 8b4776002a [fuzztest] Qualify fuzzer names and fix centipede link
Prefix fuzzer names with v8_ to better qualify them on Clusterfuzz.

Additionally this replaces the symlink to centipede with a bash
wrapper that redirects the execution to the build output folder,
in order for shared libraries in the same directory to load.

Bug: chromium:1500944
Change-Id: Iefba53ed32c9457aa2f500982041ea462cee37b7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5254638
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92131}
2024-02-01 08:34:37 +00:00
Michael Achenbach 31995ec1b2 [fuzztest] Roll fuzztest
Bug: chromium:1500944
Change-Id: I32c20fecb1cb6193da972ab39409934c5a5a57fb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5254637
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Liviu Rau <liviurau@google.com>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#92130}
2024-02-01 08:22:36 +00:00
Michael Achenbach 76db501151 [fuzztest] Fix msvc build
Bug: chromium:1500944
Change-Id: Ic1b9184474a2c322ca753cbafb2974b35bf5c164
Cq-Include-Trybots: luci.v8.try:v8_win64_msvc_compile_rel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5252524
Commit-Queue: Matthias Liedtke <mliedtke@chromium.org>
Reviewed-by: Matthias Liedtke <mliedtke@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92125}
2024-01-31 18:27:32 +00:00
Michael Achenbach e369bbde7d [fuzztest] Disable fuzztest with gcc and msvc
Bug: chromium:1500944
Change-Id: I0b135f4f6c1023500d36b696fab5af7b54eeb5b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5249898
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#92112}
2024-01-31 13:56:41 +00:00
Michael Achenbach d5acece0c9 [fuzztest] Enable the FuzzTest framework in V8's unit tests
This enables FuzzTest (https://github.com/google/fuzztest) in V8
to write parameterized tests or simple fuzzers for running later
on ClusterFuzz. For more details, see the internal design doc
(go/v8-fuzztest).

This enables three modes of compilation and running tests:
  - FuzzTest has no effect, v8_enable_fuzztest=false
  - FuzzTest runs as GTest, v8_enable_fuzztest=true
  - Centipede build, like before with use_centipede=true

On unsupported configurations, FuzzTest is off, while on supported
ones, FuzzTest runs like GTest, enabling smoke-testing the fuzzers.
The Centipede mode is used to upload to Clusterfuzz, where fuzz
tests will run with coverage feedback enabled.

The centipede build uses the v8_fuzztests group target and
dynamically creates executable wrappers for all fuzz tests during
compilation. All wrappers will be stored in the fuzztests/
directory in the build output.

FuzzTest is off when V8 is embedded and won't have any effect on
the shipped build. However, since it's on on most stand-alone
configurations, we unconditionally include the fuzz-test
dependencies. We only conditionally include boringssl, since this
is only required for the Centipede build.

This CL also adds one demo example of a parameterized test using
an existing V8 unit test with a test fixture class. We also
provide two probe-testing fuzz-test puzzles, which will be used
to demonstrated error discovery on Clusterfuzz.

Bug: chromium:1500944
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_rel
Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_centipede_compile_dbg
Change-Id: I27fca07abf523c532cbce3e4dfa1cffbf8f11526
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5003626
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#92105}
2024-01-31 11:28:44 +00:00
Michael Achenbach f643676d18 [js_fuzzer] Resolve a known V8 flag contradiction
This prevents js_fuzzer from outputting any pairs of flags marked
as contradictory. This CL adds one known contradiction which is
probably the biggest offender. We'll check afterwards if the crash
stats for such contradictions decline.

See also: https://github.com/google/clusterfuzz/issues/3687

Bug: chromium:1175943
Change-Id: I32853e137e7622f79cd8abc34cff056c8a48c9d6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5250109
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92091}
2024-01-30 16:30:06 +00:00
Michael Achenbach 602d28c60a Add re2 to dependencies for FuzzTest
This prepares the FuzzTest integration, which depends on re2. We
land this in a separate CL for a simpler and less error-prone
roll-out.

The Chrome-side files are forked as per suggestion in:
https://chromium-review.googlesource.com/c/chromium/src/+/5033300/comments/65b414ac_409f7a07

All files are 1:1 copies from Chromium with the following changes:
README.chromium -> README.v8
Security Critical: yes -> no
Shipped: yes -> no
In BUILD.gn, dropped reference to libfuzzer that doesn't exist in
V8.

Bug: chromium:1500944
Change-Id: Id960d00e42687ea9f0502c57ed09926d3f17dde7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5210751
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92076}
2024-01-30 08:31:46 +00:00
Michael Achenbach 571a297dde [test] Drop future variant from coverage-debug to make it scale again
No-Try: true
Bug: chromium:1521241
Change-Id: I93c49d4ef072901eb6817b7fea10a40d674b1ddc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5232163
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eva Herencsárová <evih@chromium.org>
Commit-Queue: Eva Herencsárová <evih@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91983}
2024-01-24 13:31:16 +00:00
Michael Achenbach 910a946489 [test] Skip slowest tests on coverage with debug
See:
https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket/8758047644919138529/+/u/Check_-_default/slowest_tests

No-Try: true
Bug: chromium:1521241
Change-Id: I3bbeb34fda4f2f96766e4f21ee13d5847cb64065
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5233800
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eva Herencsárová <evih@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#91975}
2024-01-24 09:24:23 +00:00
Michael Achenbach 08f1ac73fc Revert "Reland "Add Perfetto V8 DataSource""
This reverts commit da3002f95e.

Reason for revert: Breaks roll on win dbg:
https://ci.chromium.org/ui/p/chromium/builders/try/win_chromium_compile_dbg_ng/1812003/overview

Original change's description:
> Reland "Add Perfetto V8 DataSource"
>
> This is a reland of commit 31dd6d580b
>
> + a fix for the BUILD dependency issues (see diff between patchsets 1
> and 2)
>
> + Changes to delay when the logger instances are registered with the
> Isolate. We only register if there are any active DataSources as having
> a logger registered (even if it does nothing) is not for free. E.g. This
> was causing a test to fail as a new code path was being executed because
> there was one registered logger. (See diff patchset 3 to 4)
>
> + set the proto field is_process_wide in InternIsolate(). This change
> must have gone lost at some point during the prev reviews. (See diff
> patchset 5 to 6)
>
> + Fix when writing the default proto (order of nested messages is
> important when writing protozero messages). I had fixed this before, so
> I am starting to think that I forgot to upload one of my last patchsets.
> Anyway this should be the last one, as I tried to ingest a huge trace
> with the new protos and it worked. (See diff 7 to 8)
>
> + Added a flag to selectively enable this new data source. Just in case.
> (See diff 9 to 10)
>
> Original change's description:
> > Add Perfetto V8 DataSource
> >
> > Add support for a V8 DataSource to log code events.
> >
> > Bug: b/283794416
> > Change-Id: I1d2db23854c5753efd68bb63ea31913e80909eb0
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5137675
> > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> > Commit-Queue: Carlos Caballero Grolimund <carlscab@google.com>
> > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#91919}
>
> Bug: b/283794416
> Change-Id: Ifa816c0df4512fa7e29ba5e6c634e3a4c9c387ba
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5215649
> Reviewed-by: Camillo Bruni <cbruni@chromium.org>
> Commit-Queue: Carlos Caballero Grolimund <carlscab@google.com>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#91938}

Bug: b/283794416
Change-Id: Ib915cee27f2521f021e5d95fd07bb49405ae2284
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5233400
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91970}
2024-01-24 08:11:05 +00:00
Michael Achenbach e2ed1b9071 Revert "[debug] Remove 'value unavailble' experiment"
This reverts commit c7cbb4139b.

Reason for revert:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20debug/48674/overview

Original change's description:
> [debug] Remove 'value unavailble' experiment
>
> The experiment was enabled in July 2023 and we haven't heard any
> negative feedback so we can safely remove the experiment now.
>
> R=bmeurer@chromium.org
>
> Bug: chromium:1328681
> Change-Id: I6613a4e8e741d8c16881ec1adeb01e039244fac7
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5224284
> Commit-Queue: Simon Zünd <szuend@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#91968}

Bug: chromium:1328681
Change-Id: If487de6e5d934ff4f65b2deb582d530858e77fc3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5233501
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91969}
2024-01-24 07:50:12 +00:00
Michael Achenbach 1f4b1696f1 [infra] Add build configs for fuzz-test builders
No-Try: true
Bug: chromium:1500944
Change-Id: If56fbf4e34079fc80c9c41089d7f7d5aad79fae8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5217134
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91925}
2024-01-19 14:47:13 +00:00
Michael Achenbach 23d601dcf4 [gcmole] Make archives timestamp independent
The previous method still created different timestamps after new
checkouts, which on bots basically happens daily.

No-Try: true
Bug: v8:11169
Change-Id: I6116f9947ac14be4a0fcef70b85317212ad4f812
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5200225
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91854}
2024-01-16 10:16:01 +00:00
Michael Achenbach f978b11c09 [test] Bump gcmole shards
It became the slowest step on some bots.

Bug: v8:11428
Change-Id: Icb3d43839c5044bfd9e949e39f8c7812c9e9222b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5199139
Reviewed-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@{#91853}
2024-01-16 09:53:55 +00:00
Michael Achenbach fce6260dfa [gcmole] Update owners
No-Try: true
Bug: v8:11169
Change-Id: I517d1dcf4b540cefb38286890bdfdbddaff3eb37
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5197669
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91840}
2024-01-15 12:39:28 +00:00
Michael Achenbach 8d317401ea Revert "[presubmit] Work around cpplint errors after python upgrade"
This reverts commit 3f32f3e9c1.

Reason for revert:
This bootstraps a fresh vpython3 in every sub run, which is more
than 30% slower and leads to timeouts on the bots.

Also, the upstream work-around has landed in the meantime.

Original change's description:
> [presubmit] Work around cpplint errors after python upgrade
>
> Since the work-around in depot_tools is still blocked, this just forces
> Python version 3.8 from V8's .vpython3 file when cpplint is used.
>
> Bug: chromium:1517826
> Change-Id: Ic8886efb800fe8f36711279bd7963799d471dc33
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5192365
> Reviewed-by: Liviu Rau <liviurau@google.com>
> Commit-Queue: Liviu Rau <liviurau@google.com>
> Auto-Submit: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#91803}

Bug: chromium:1517826
Change-Id: I19516fc796096e5b3b266520926566c420ce697c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5197527
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#91831}
2024-01-15 08:20:23 +00:00
Michael Achenbach 81758d0b2d Whitespace to test git watcher
No-Try: true
Bug: b/319667336
Change-Id: Ief9fa9220c31d03a892f8684a1de4cc064e5e0e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5197526
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#91830}
2024-01-15 07:37:01 +00:00
Michael Achenbach 333587ea5f [test] Suppress ODR violations in asan component builds
Bug: chromium:1500944, chromium:1517865
Change-Id: I0be995d07f409c29f65b1ba5590f230e643168a2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5191137
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#91812}
2024-01-12 12:49:25 +00:00
Michael Achenbach 495fdcb8ae [test] Use separate extra_flags for d8
D8 has some specific flags that aren't available in other V8
executables, e.g. in the unit tests. This prepares using unit
tests with asan and debug, which would fail on using the d8
flag --invoke-weak-callbacks.

Bug: chromium:1500944
Change-Id: I857b07972562b69fdeba53856fb25278d8ece568
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5192466
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#91806}
2024-01-12 11:28:07 +00:00
Michael Achenbach 3f32f3e9c1 [presubmit] Work around cpplint errors after python upgrade
Since the work-around in depot_tools is still blocked, this just forces
Python version 3.8 from V8's .vpython3 file when cpplint is used.

Bug: chromium:1517826
Change-Id: Ic8886efb800fe8f36711279bd7963799d471dc33
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5192365
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Liviu Rau <liviurau@google.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91803}
2024-01-12 10:21:16 +00:00
Michael Achenbach 66253e1b99 [build] Use a new google_benchmark location to avoid conflicts
Using the same path for DEPS'ed and previously checked-in files
causes conflicts when going back and forth between new and old
revisions. Since all references here are v8 stand-alone, the
exact location shouldn't be important. Therefore we use some
new name to avoid conflicts when locally running `gclient sync`.

Bug: chromium:1513046
Change-Id: Icf1ecc4d9b1f9c7e67b5a542c2be08ff9738d045
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5184217
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#91760}
2024-01-10 14:37:11 +00:00
Michael Achenbach e256dae9ba [build] Detect reclient setting in gm.py
This uses the reclient config switch from the .gclient file to
determine if reclient could be used in gm.py. Using reclient
will have precedence over goma as that's going to be deprecated.

This also updates the reclient/goma args in the args.gn file if
there's a difference to the old content. Otherwise developers might
stick with old settings using goma forever.

No-Try: true
Bug: v8:14544
Change-Id: I0bb96bc942f0d30ce8a1a0f42a0c95d4d852e6e5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5172448
Reviewed-by: Liviu Rau <liviurau@google.com>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91724}
2024-01-08 18:35:46 +00:00
Michael Achenbach 5e1afae87b [infra] Get google_benchmark from DEPS
This uses the GN layer for google_benchmark from Chromium directly,
which will allow rolling without maintaining this layer in V8.

This comes with the cost of compiling google_benchmark in v8
stand-alone if no explicit compile target was specified on the
command line (i.e. the implicit "all" target). This seems to be
below 1% of overall compile time though and will likely be quickly
hot in the reclient cache, since these targets rarely change.

Bug: chromium:1513046
Change-Id: Ia086c67ddc50f28f396527523f437eeb87f03f4b
Cq-Include-Trybots: luci.chromium.try:linux-rel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5144246
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#91674}
2024-01-04 10:00:57 +00:00
Michael Achenbach afd143268e [test] Bump shards on slow bot
Test262 times out from time to time on the Android bot.

No-Try: true
Change-Id: Ia3281bf188db96d7f0a1ae0d9886b763b39e0dfe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5132814
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Liviu Rau <liviurau@google.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91593}
2023-12-19 13:48:06 +00:00
Michael Achenbach d41d14c2ce [test] Skip slow tests with debug and coverage
No-Try: true
Bug: v8:14509
Change-Id: I8893fc5609e26c075bdc82402248036194e93f88
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5114805
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91465}
2023-12-12 12:05:55 +00:00
Michael Achenbach e5f97a3372 Revert "[builtins-pgo] Enable builtins reordering based on PGO profile"
This reverts commit f1d06b5c4a.

Reason for revert: Suspect for roll revert:
https://crrev.com/c/5112641

Original change's description:
> [builtins-pgo] Enable builtins reordering based on PGO profile
>
> Bug: v8:13938
> Change-Id: Ib26cb76b301446399cfd9e0e0fbc7486fad404a7
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5097212
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Auto-Submit: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#91444}

Bug: v8:13938
Change-Id: I35315eac86f7fbd17d38ffc0cbea9d9087d1a03c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5114881
Auto-Submit: Michael Achenbach <machenbach@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@{#91461}
2023-12-12 07:03:11 +00:00
Michael Achenbach 383bbf88e0 Update V8 DEPS (trusted)
This also adds a fix for the linker problems after the current
clang roll, see also: https://crbug.com/1504725

Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9686829..eb410d5

Rolling v8/third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/1e8861f..3747d5b

Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/38b8de0..8efb05d

Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/9db1a23..9fbc780

Roll created at https://cr-buildbucket.appspot.com/build/8763667924920186977

Bug: chromium:1504725
Change-Id: I9ffe9e5ae42b80c9e9e11a8c099d586bfda57c1d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5053336
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91141}
2023-11-23 14:00:28 +00:00
Michael Achenbach 2515780098 Whitespace change to test roll patching
No-Try: true
Bug: chromium:1445862
Change-Id: I4df52f30b64ce7fdc6d254a8c81f63a367b2534a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5054322
Auto-Submit: Michael Achenbach <machenbach@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@{#91122}
2023-11-22 17:49:58 +00:00
Michael Achenbach 6831dc14cc Whitespace change to test roll patching
No-Try: true
Bug: chromium:1445862
Change-Id: Icdec86bd8dfd0dbbe99b223c1ebf6ad8c616d1d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5054320
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@{#91118}
2023-11-22 15:36:35 +00:00
Michael Achenbach a3e4999aae [release] Remove erroneous double url-escapes
No-Try: true
Bug: chromium:1445862
Change-Id: I62b7c094b0b035bd074b5102145e79402288c632
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5052841
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91105}
2023-11-22 09:37:30 +00:00
Michael Achenbach b989411bd0 Whitespace change to test roll patching
No-Try: true
Bug: chromium:1445862
Change-Id: I250ac47deace989e49cd4500f1e812c7f58ab5c9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5052840
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#91104}
2023-11-22 09:03:58 +00:00
Michael Achenbach 1f8e7c20b2 [release] Fix roll version retrieval in roll-merge-gerrit
Previously we tried to get the version from the currently rolled
commit from its tag, but that doesn't work. There's no method in
the Gerrit API to retrieve the tags on a commit. The commit/in
API includes all tags transitively a commit is included in. It'd
require additional calls for each such tag to verify which is
on the commit exactly.

Also gitiles doesn't work as the json api differs from the UI log
by just not including the tags. Local `git tag --points-at`
requires a local checkout and doesn't work with a remote repo.

The fix in this change is to use the version file content to
determine the version. The file is the source of truth anyways and
the tag usually just mimics the file anyways.

The CallGerritApi can unfortunately not be reused, as it only works
with json results, but the file API returns base64 encoded data.

No-Try: true
Bug: chromium:1445862
Change-Id: I31a6f74a3a214f767b03689fa2da5ebeae411df7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5048911
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91081}
2023-11-21 13:41:41 +00:00
Michael Achenbach bb13a4b074 Whitespace change to test patching rolls
No-Try: true
Bug: chromium:1445862
Change-Id: Ia5352c92420c26840fff894e31be9bfa33742d5d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5046671
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#91070}
2023-11-21 07:42:32 +00:00
Michael Achenbach f55988d814 [release] Fix version regex for matching roll-revision tags.
No-Try: true
Bug: chromium:1445862
Change-Id: Ia19623566a0c4d0c2068ea4f3a5589b56697a230
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5041815
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91055}
2023-11-20 12:53:17 +00:00
Michael Achenbach 35b2f70852 Whitespace change to test patching rolls
No-Try: true
Bug: chromium:1445862
Change-Id: I98a316e80ce83ac66a2d4cadcebe858ffcae43cf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5042764
Auto-Submit: Michael Achenbach <machenbach@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@{#91053}
2023-11-20 11:58:34 +00:00
Michael Achenbach 01b8b39b5a [release] Add a safe roll-open message to roll-merge-gerrit
This now hints to the user when to open the auto roller again after
patching a roll. A concurrent bot resets the ref of what should be
rolled next. First after this reset, it is safe to open the roller
as otherwise the auto-roller might eagerly roll to the wrong commit.

This patch now reuses an existing waiting loop for PGO to also wait
for the correct state of the roll ref.

No-Try: true
Bug: chromium:1445862
Change-Id: Ibe283f2ad4b740ebe5d3417718d6b6bb6dd8c072
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5043724
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#91049}
2023-11-20 09:32:33 +00:00
Michael Achenbach 05d97f50c8 [release] Add test for roll-merge-gerrit
Bug: chromium:1445862
Change-Id: I43d2de217eacbd4a22e0dda684500f96f6ccc551
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5043202
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#91048}
2023-11-20 09:14:43 +00:00
Michael Achenbach 6243dcd86a [infra] Add mac-arm64 gc-stress bots
Also remove obsolete mac x64 gc-stress, since that only found false
positives or the same as the Linux bots.

No-Try: true
Bug: chromium:1500139
Change-Id: I1ea970312c14dcec323735ab365df8e9b559e629
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5034003
Reviewed-by: Liviu Rau <liviurau@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#90993}
2023-11-16 12:56:30 +00:00
Michael Achenbach 6b5d70e60d [infra] Prepare renaming Mac builder and adjust priorities
This prepares using naming conventions for the Mac release
builder. We'll delete the old one as soon as the infra side
has landed.

This also uses now default swarming attributes, since the bots
aren'e experimental for a while now.

Bug: chromium:1500139
No-Try: true
Change-Id: I01fdaccbf40c21750f2f1fafebc6bd542e03cd41
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5033761
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#90969}
2023-11-15 15:56:01 +00:00
Michael Achenbach d74175625a Revert "[wasm] Introduce caching timeout"
This reverts commit 19ebfc7d15.

Reason for revert: Flakes on many builders:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64/55266/overview
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/36225/overview

Original change's description:
> [wasm] Introduce caching timeout
>
> In order to improve our cache hit rate, we aim to cache code in smaller
> chunks. To avoid caching too often, the caching timeout will be used. As
> long as new TurboFan code is being compiled within the timeout, no
> caching is triggered yet. Only after the timeout expires without any new
> TurboFan code, we trigger caching.
>
> R=ahaas@chromium.org
>
> Bug: v8:14411
> Change-Id: Ic682251f59106f62a74d34bd3bf2243286eddd7d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5013669
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#90860}

Bug: v8:14411
Change-Id: I484d2de56ce81e71c72d990d26b85a13ec728adf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5020711
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#90866}
2023-11-10 16:55:11 +00:00
Michael Achenbach 9283415d8f Revert "Reland "[wasm][x64] Run JS imports on the central stack""
This reverts commit 4be9ff946b.

Reason for revert:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20verify%20builtins/2422/overview

Original change's description:
> Reland "[wasm][x64] Run JS imports on the central stack"
>
> This is a reland of commit 9d9f49d201
>
> The reland includes:
>
> - Ignore secondary stacks for conservative scanning. Now that we always
>   switch to the central stack, all "interesting" frames are on the
>   central stack.  Without this change, the marker is not in sync with
>   the stack start because of the switch to the central stack.
> - Merging 8bbc90166d into this change,
>   because landing them separately also breaks the CSS bot. I think this
>   was already broken before but reproduces more easily with this change.
>   The problem is that because of the switch to the central stack, the
>   marker is not in sync with the registered secondary stack start.
> - Also switch in the generic (torque) wrapper.
>
> Original change's description:
> > [wasm][x64] Run JS imports on the central stack
> >
> > Switch to the central stack before running a JS import, and switch
> > back after the call. Only on x64 for now, will be ported to other archs
> > in a separate CL.
> >
> > Design doc: https://docs.google.com/document/d/1DBVwKthBdejx9Qy1W8indme5pJ6mq_fSdhQ3N-K2XP4/edit?usp=sharing
> >
> > R=ahaas@chromium.org
> > CC=irezvov@chromium.org
> >
> > Bug: v8:13983
> > Change-Id: I217ef988f46bb9a747cc65a37688817a4abf9618
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4846976
> > Reviewed-by: Jakob Linke <jgruber@chromium.org>
> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
> > Reviewed-by: Andreas Haas <ahaas@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#90041}
>
> Bug: v8:13983
> Change-Id: I75492e0b26955c66ba59d4f19ef19764c516fcac
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4875537
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#90864}

Bug: v8:13983
Change-Id: I2b28314e26cbd3e7129b7508a3f43f12febada7a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5020710
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#90865}
2023-11-10 16:52:13 +00:00
Michael Achenbach 4c85b27d02 [infra] Remove mac-arm64 simulator bots
Counterpart to https://crrev.com/c/5017762.

Bug: chromium:1500139
Change-Id: Iecc6b13dd4fc5104a57eaf63cf405e95fd54b472
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5017763
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#90848}
2023-11-10 09:15:35 +00:00
Michael Achenbach 9a06581a0b [test] Bump shard on slow test suite
There were too few shards chosen in:
https://crrev.com/c/5012666

Bug: v8:13008
Change-Id: I83c22b5aff31a93d601590f45c271cc0f79ee9b8
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5012808
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#90821}
2023-11-08 17:24:08 +00:00
Michael Achenbach bad6f61c35 [test] Move code-serializer testing to x64 and make it block CQ
Bug: v8:13008
Change-Id: I1f34069947bc6332c9c02ed9b5ba5ace68e8f0b9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5012666
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#90813}
2023-11-08 13:52:28 +00:00
Michael Achenbach 474c8375ee [infra] Install reclient on Mac arm64
In https://crrev.com/c/4166667 we previously omitted arm64 for Linux
explicitly, but for Mac we wnat to permit it, making the condition a
bit bulky.

Bug: chromium:1500139
Change-Id: Ifc24df4c648480ae21058cef670ac27c2ee86da4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5006445
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#90795}
2023-11-07 15:58:59 +00:00
Michael Achenbach f17ce7ccfa [infra] Add a mac arm64 builder running on arm64
Bug: chromium:1500139
No-Try: true
Change-Id: I04fed9bf338aafcafe1c550502049459e580956d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5006437
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@google.com>
Cr-Commit-Position: refs/heads/main@{#90779}
2023-11-07 07:34:13 +00:00