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}
This reverts commit 87a7bcc525.
Reason for revert: Causing a lot of hanging flaky tests:
https://crbug.com/345035666https://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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}