Commit Graph

66050 Commits

Author SHA1 Message Date
Dominik Inführ
c1b9e6907c [heap] Replace TRACE_BACKGROUND_GC macro with TRACE_GC1
Remove TRACE_BACKGROUND_GC which was used to emit events on the
background thread. It is replaced by TRACE_GC1, which uses the ThreadKind
argument to work both on main and background threads.

This CL also removes the dedicated BackgroundScope enum, all scopes
are now in GCTracer::Scope.

Change-Id: Ie377082d6a278dd46f2fa359611fdd99a08afcea
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560203
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71458}
2020-11-27 17:48:55 +00:00
Mythri A
ec71d2b926 [runtime-profiler] Update profiler ticks before tiering up decisions
We used to update profiler ticks after tiering up decisions when tiering
up from Ignition and update the ticks before when tiering up from
mid-tier optimized code. This meant we added special cases to account for
this difference. This cl makes updating the ticks uniform by always
updating the ticks before tiering up decisions. Also adjusts the
heuristics to take this into account.

Bug: v8:9684
Change-Id: I2c63ba3499c542bb4a69e55d6cc4bebe4612793f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563659
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71457}
2020-11-27 17:42:45 +00:00
Santiago Aboy Solanes
9a0faab294 [base] DCHECK threads do not re-lock SharedMutexes
Otherwise, its behaviour is undefined and shouldn't be permitted.

Bug: v8:7790, v8:11135
Change-Id: I9fa5ec02b9126f776ad3ef095e8c70fc5d3620dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2547293
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71456}
2020-11-27 17:33:15 +00:00
Santiago Aboy Solanes
9a1b476376 [config] Add V8_NODISCARD to Scopes in v8.h
Like  https://crrev.com/c/v8/v8/+/2555001 for v8.h. Done in a separate
CL in case it needed to be reverted.

Change-Id: I0c7a7cb24e8f0855c8b80ddeeaab979f10011c4a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562252
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71455}
2020-11-27 17:29:35 +00:00
Michael Achenbach
bea9978700 [foozzie] Insensitive terms clean-up
No-Try: true
Bug: v8:10619
Change-Id: I1e227c64fa34caf010271b299d9310d19bdfc53a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563273
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71454}
2020-11-27 16:57:24 +00:00
Omer Katz
3b139bf8f4 cppgc: Fix unittests perfetto build.
cppgc_unittests uses tracing (e.g. when setting the TracingController in
tests.h) and thus needs to depend on v8_tracing. It cannot inherit the
dependency since the cppgc_unittests_sources v8_source_set doesn't
depend on cppgc.

Bug: v8:11203
Change-Id: I7227f696f841132f174435751a42a02ff865df26
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563658
Auto-Submit: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71453}
2020-11-27 15:58:21 +00:00
Michael Achenbach
4f2f106206 [foozzie] Use separate crash state for simulated crashes
The error simulation works and crashes during the smoke test are
detected. But now this masks real crashes (https://crbug.com/1153200),
therefore this change subsumes smoke-test crashes with
--simulate-errors under a separate crash state.

Now Clusterfuzz will detect the case "unexpected crash" as fixed, but
create a new bug for "simulated crash". Which we will keep open
forever.

No-Try: true
Bug: chromium:1152412
Change-Id: I511af167d33430d9b89692151cb8abaf3a90c715
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563270
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/master@{#71452}
2020-11-27 14:58:44 +00:00
Hannes Payer
6039cda616 [heap] Remove NewSpace shrinking logic in CollectAllAvailableGarbage.
NewSpace shrinking is already performed in Heap::GarbageCollectionEpilogueInSafepoint.

Bug: chromium:1054771
Change-Id: Ia274dd5619fd1d7397a06f0b642f07d68de45ea1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563267
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71451}
2020-11-27 12:15:39 +00:00
Tobias Tebbi
efec9f46ba [build] gcc constexpr workaround in SharedFunctionInfo::kAlignedSize
Change-Id: I5e866163b371446b72f5422bf8cc1816effbec95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562387
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71450}
2020-11-27 09:16:00 +00:00
Maya Lekova
d4b29d7525 [turbofan] Fix CheckedFloat64ToInt64 on arm64
This CL extends the TruncateFloat64ToInt64 machine operator with a
TruncateKind, allowing EffectControlLinearizer to request truncating
to INT64_MIN in case of overflow. The CL adds the necessary low-level
support when generating code for kArm64Float64ToInt64. It also enables
relevant tests as part of the fast API call suite.

Bug: v8:11121
Change-Id: I0cb9964cc3c2ff49e6b0bbfe4a20f280e4aab337
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560718
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71449}
2020-11-27 09:03:39 +00:00
Vicky Kontoura
03758904fe Reland "[wasm] Enable --wasm-generic-wrapper"
This is a reland of f2034bf507

Original change's description:
> [wasm] Enable --wasm-generic-wrapper
>
> This CL enables the --wasm-generic-wrapper flag by default.
>
> Bug: v8:10982
> Change-Id: Iada906ce49810806c500ee3ca26e09e847b69a27
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2539915
> Commit-Queue: Vicky Kontoura <vkont@google.com>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#71374}

Bug: v8:10982
Change-Id: Ifceac637f7ec21c8f35d6bdd5d7c6c72a43fad43
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562241
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Vicky Kontoura <vkont@google.com>
Cr-Commit-Position: refs/heads/master@{#71448}
2020-11-27 08:09:46 +00:00
v8-ci-autoroll-builder
de3516cbdf Update V8 DEPS.
Rolling v8/build: 33f080d..bd5054a

Rolling v8/third_party/aemu-linux-x64: b5ckZyVJ3XwwvnxV2J_ybKfLyiHfOj81r9Llym22_UsC..Ts7JI7CLxH4-h5lAQEsDnba0CD6d4ACU00UDPQXaW0wC

Rolling v8/third_party/depot_tools: b9a5e83..dc7b108

Rolling v8/tools/clang: 41850cb..5726acb

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I7975927763753bb1c591e3dfb24d2b8657c36f16
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563119
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#71447}
2020-11-27 07:02:40 +00:00
Junliang Yan
ffb48c94cd Fix mips build failures
Change-Id: I70ca729c7afea4d4fa6e24f833c3757d3b0b1a63
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562681
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71446}
2020-11-27 07:01:35 +00:00
Junliang Yan
907693d5d0 s390x: implement liftoff branches
Change-Id: Idbcc6a0a261357e1680ece3e7946618b6577d78e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562125
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71445}
2020-11-27 07:00:31 +00:00
Manos Koukoutos
304fd7cc96 [wasm] Interface should only be called for 'br' if ok()
See also: https://chromium-review.googlesource.com/c/v8/v8/+/2557515

Bug: chromium:1152937
Change-Id: I8043f88f3a64a3e45e00c8e6848cb6e4ec6f8a42
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562239
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71444}
2020-11-27 06:59:26 +00:00
Etienne Pierre-doray
755f141797 [test]: Fix platform lifetime in IncrementalMarkingUsingTasks.
Currently MockPlatform has shorter lifetime than the isolate that uses
it. Creating isolate before MockPlatform leads to races in concurrent
tasks that were scheduled before the MockPlatform replaced the default
TestPlatform. This caused issues after landing
https://chromium-review.googlesource.com/c/v8/v8/+/2561198

This CL ensures that MockPlatform is valid throughout the whole
lifetime of the isolate

Bug: v8:11198
Change-Id: I79f82712165d1f1fbe0fe9af68aedf126e54b241
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562121
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71443}
2020-11-27 06:58:21 +00:00
Omer Katz
59a6b7d454 cppgc: Fix perfetto build
When V8_USE_PERFETTO is defined, TracingController doesn't have
AddTraceEvent and GetCategoryGroupEnabled methods.

Bug: v8:11203
Change-Id: I05d7ff829d8b134662bc1dbe4cb56bb740185918
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562381
Auto-Submit: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71442}
2020-11-27 06:57:16 +00:00
Maya Lekova
f2316c8748 Revert "[heap] Committed SemiSpace state depends on pages being present in the memory_chunk_list_."
This reverts commit 28f0b62a8c.

Reason for revert: Speculative revert for broken arm64 sim GC stress bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/20100

Also appears as a flake later - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20arm64%20-%20sim%20-%20pointer%20compression/7419

Original change's description:
> [heap] Committed SemiSpace state depends on pages being present in the memory_chunk_list_.
>
> Bug: chromium:1054771
> Change-Id: Idad2d6464ed29c8aa6d7d0665b84525c0f954df8
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562245
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#71429}

TBR=ulan@chromium.org,hpayer@chromium.org

Change-Id: Ib7f9666abe059126004de6a81e5f1fa93e36e932
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1054771
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563258
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71441}
2020-11-27 06:54:28 +00:00
Dominik Inführ
72732e5109 [heap] Use base::TimeTicks for measuring time in GCTracer
Avoid virtual call on the fast path when invoking
Heap::MonotonicallyIncreasingTimeInMs by using base::TimeTicks directly.
With --predictable we need to fall back to
Heap::MonotonicallyIncreasingTimeInMs though.

Convert base::TimeTicks to milliseconds as double, since this was
the format GCTracer was using internally.

Change-Id: I25ab6f1a77ffc8a317782b5754521c39ccb46e48
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562240
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71440}
2020-11-26 18:09:59 +00:00
Camillo Bruni
c68220b4e1 [tools] Fix system-analyzer source line numbers
Properly indent wrapper source lines so the source line numbers
are easily visible.

Change-Id: I25095ca3e15a8e953c6e826eb8594289a10aa41b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551105
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71439}
2020-11-26 18:08:54 +00:00
Junliang Yan
2795d8e4d8 s390x: define liftoff cache registers
Change-Id: I79fc56578878f326725272d67a9936b04b22a02f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562119
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71438}
2020-11-26 16:52:24 +00:00
Hannes Payer
308db3e8f4 [heap] Clear current_capacity_ when uncommitting SemiSpace.
Bug: chromium:1054771
Change-Id: I58a49461723d8444fca8c2a3b0f3e75367604c76
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562257
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71437}
2020-11-26 16:45:34 +00:00
Mythri A
3de1232910 [turboprop] Fix Turboprop to Turbofan tiering heuristics
1. Don't optimize small functions early when tiering up from ignition
to Turboprop.
2. When tiering up from Turboprop to Turbofan scale the ticks so we
optimize small functions at roughly same time as default.
3. Adjust for the fact that profiler ticks are updated before performing
the ShouldOptimize check when tiering up from TP -> TF.

Bug: v8:9684
Change-Id: I6b68eed70abb9a86f9b99eac9c0b9a1fe6346027
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560725
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71436}
2020-11-26 16:34:34 +00:00
Leszek Swirski
3688dd61f7 [string] Skip length checks in IsEqualTo
Make the IsEqualTo equality type parameter a template parameter, and add
an option to skip the length check for cases where the length is known
(e.g. in string table key comparisons).

Change-Id: I893ac880ec1e830a50ba6d8f58f375ed96d6e14e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562247
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71435}
2020-11-26 16:31:34 +00:00
Camillo Bruni
dbffd66e35 [tools] Add ToolTip support for system-analyzer
- Add ToolTip helper that tracks scrolling target elements
- Auto hide if the target scrolls out of view
- ToolTip position depends on target position
- Add basic tooltips for maps in the transition view, entries in
  timeline tracks and the source panel

Drive-by-fix:
- Move events.mjs to view/ folder
- Add basic toString methods on various log entries
- Add requestAnimationFrame update support for V8CustomElement

Bug: v8:10644
Change-Id: I1059733cd094a986b715547b3d5747eefbc54bc5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551103
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71434}
2020-11-26 16:04:24 +00:00
Junliang Yan
7b17b5e34a [wasm][liftoff] Refactor Condition code mapping
Because actual condition code used by s390/ppc does not distinguish
between signed and unsigned, we need to use a generic enum class for
liftoff which needs to deal with signed/unsigned case differently.

Change-Id: Ia870dc30788037996dc1c65de0117eac7d941697
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560603
Commit-Queue: Junliang Yan <junyan@redhat.com>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71433}
2020-11-26 15:58:34 +00:00
Michael Achenbach
b652ba7597 [foozzie] Switch on error-simulation experiment
This passes the --simulate-errors flag for differential fuzzing with
a probability of 0.01%.

No-Try: true
Bug: chromium:1152412
Change-Id: I3146c0ea5706be8b5ec13ee8740e1d185e008075
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562248
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71432}
2020-11-26 15:55:04 +00:00
Thibaud Michaud
bbaa91f37d [wasm] Deserialization: avoid repeated locking
Use the overload of NativeModule::PublishCode that accepts a vector of
codes to only lock/unlock once per batch.

R=ahaas@chromium.org

Bug: v8:11164
Change-Id: I6428d3d9cec8526bdfef223d7ba03b35bad9e1eb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562251
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71431}
2020-11-26 15:19:15 +00:00
Michael Achenbach
4ad08c82f7 Enable simulating errors to test fuzzer reliability
This adds a d8 flag --simulate-errors, which on shutdown will cause
certain errors. This enables testing the reliability of sanitizers.

This will cause a fatal error, a dcheck (if available) or a
violation that can be detected with one of the following sanitizers:
ASAN, UBSAN, MSAN, CFI.

The same flag used in differential fuzzing will cause an error
subsumed with the error state "fake_difference".

Bug: chromium:1152412
Change-Id: I4b36c6fe716797004d634263617d22ca67b05600
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554999
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71430}
2020-11-26 15:10:05 +00:00
Hannes Payer
28f0b62a8c [heap] Committed SemiSpace state depends on pages being present in the memory_chunk_list_.
Bug: chromium:1054771
Change-Id: Idad2d6464ed29c8aa6d7d0665b84525c0f954df8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562245
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71429}
2020-11-26 14:32:06 +00:00
Clemens Backes
0c7595b9fb [wasm][debug] Implement stepping out from JS to wasm
This specific case was not implemented or tested before. Implementing it
actually simplifies some of the existing logic, since StepOut can now
reuse the generic logic in debug.cc for all cases (Wasm->Wasm, Wasm->JS,
JS->Wasm).

Drive-by:
1) Fix typo ("skip" -> "step").
2) Move the check for Liftoff code from debug.cc to wasm-debug.cc, where
   it fits better.
3) Remove a TODO which is done already.

R=thibaudm@chromium.org, szuend@chromium.org

Bug: chromium:1145176
Change-Id: I415ca1d8bacef5b21bf1dafd9e16417ec2d12c7c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560719
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71428}
2020-11-26 14:22:25 +00:00
Hannes Payer
a8cb171bfe [heap] Use target and current capacity counters to grow NewSpace.
Bug: chromium:1054771
Change-Id: I64d0d2a4f07add4adef78136b303881a900474a7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560198
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71427}
2020-11-26 12:26:45 +00:00
Vicky Kontoura
d4c885de90 [wasm] Enable use of the generic js-to-wasm wrapper for asm.js modules
This CL re-enables use of the generic js-to-wasm wrapper for asm.js
modules.

Bug: v8:10982
Change-Id: I0aa6cd9387bfd7b3fc3cab18f09c7f78ec24fbb5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562238
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Vicky Kontoura <vkont@google.com>
Cr-Commit-Position: refs/heads/master@{#71426}
2020-11-26 12:17:25 +00:00
Santiago Aboy Solanes
14c5b0ae67 [config] Add V8_NODISCARD for Scope classes
Scopes in V8 are used to guarantee one or more properties during its
lifetimes. If a scope is not named e.g MyClassScope(args) instead of
MyClassScope scope(args) it will get created and automatically destroyed
and therefore, being useless as a scope. This CL would produce a
compiling warning when that happens to ward off this developer error.

Follow-up to ccrev.com/2552415 in which it was introduced and
implemented for Guard classes.

Change-Id: Ifa0fb89cc3d9bdcdee0fd8150a2618af5ef45cbf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555001
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71425}
2020-11-26 11:08:45 +00:00
Eric Seckler
544ea1513e trace-categories: Add cppgc categories.
To unblock linux-perfetto-rel builds. The events were added
in https://chromium-review.googlesource.com/c/v8/v8/+/2540548
and https://chromium-review.googlesource.com/c/v8/v8/+/2540552.

Change-Id: I48ac0f8612fd95fa555457e68b6e4394862937fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560304
Auto-Submit: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71424}
2020-11-26 11:00:25 +00:00
Leszek Swirski
f0df9b606a [gcmole] Python conversion followup
Fix the python call to sys.executable, and sort imports

Change-Id: I948291e0835c79445108f215e55885fdb2c01052
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560592
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71423}
2020-11-26 09:40:45 +00:00
Jakob Kummerow
e82a3b4d47 [bigint] Fix possibly-uninitialized leading digit on right shift
Fixed: chromium:1151890
Change-Id: I26f5c76494a9ff3f5a141f381e1c9a543e368571
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2561618
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71422}
2020-11-26 09:24:15 +00:00
Omer Katz
f8fa0edf16 cppgc: Fix and merge cppgc samples
Both sample are essentially the same up to string constants since
cppgc's default platform started using libplatform.
The only diff between the sample is whether we call
v8::V8::IntializePlatform or cppgc::InitializeProcess.

Drive-by: replace CPPGC_BUILD_IN_V8 with CPPGC_IS_STANDALONE which is
          more descriptive.

Bug: chromium:1056170
Change-Id: I8fdeb59c3345af77f1bccd8b93255ab39b4d3181
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557516
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71421}
2020-11-26 09:12:35 +00:00
Omer Katz
aec92aed6e cppgc: Add owners for cppgc samples
Bug: chromium:1056170
Change-Id: I3779ed504235e3aa3fbecb5f14dd2d43d9907c07
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560201
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71420}
2020-11-26 09:09:55 +00:00
Liu Yu
5b03998e46 [mips][cleanup] Replace all remaining Min/Max uses with std::min/max
Port: 3836aeb039
Change-Id: I2d852f3dbbb74ebd7ee176cdd398cf3e6b207772
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2561422
Auto-Submit: Liu yu <liuyu@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71419}
2020-11-26 08:01:15 +00:00
v8-ci-autoroll-builder
5da82d0740 Update V8 DEPS.
Rolling v8/build: 29207aa..33f080d

Rolling v8/third_party/depot_tools: 8820ab8..b9a5e83

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Ic0a241223c26cdfb3ebe26d2588c150cfb95ef7c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560687
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#71418}
2020-11-26 03:38:15 +00:00
Shu-yu Guo
a9cc5fe306 Staging relative indexing methods
Bug: v8:10961
Change-Id: I3bd51fa1eaa448e08a99395f30c0322f23677fcf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2559138
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71417}
2020-11-25 22:34:35 +00:00
Milad Fa
8201f02716 PPC: [wasm-simd] Implement Load Transform on PPC LE
Change-Id: I3bb6a6822dea5ce6aa3e12f3137861a2f93bbb68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560604
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71416}
2020-11-25 18:44:55 +00:00
Dominik Inführ
ff4129195e [heap] Remove unused scopes in GCTracer::BackgroundScope
Scopes aren't used anymore.

Change-Id: Id233974e3b9760560deb85d822218efe9ab9f896
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560199
Auto-Submit: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71415}
2020-11-25 18:15:55 +00:00
Hannes Payer
d5bafd8180 [heap] Remove unused methods in SemiSpace.
Change-Id: I6146f5e566884b1d24ecb9ee6f154ad581ef2b66
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560722
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71414}
2020-11-25 17:36:54 +00:00
Etienne Pierre-Doray
23935d9c9e Revert "Reland "Reland "[Heap]: Convert Sweep to Job"""
This reverts commit 873e5aa32a.

Reason for revert: Flaky cctest/test-incremental-marking/IncrementalMarkingUsingTasks

Original change's description:
> Reland "Reland "[Heap]: Convert Sweep to Job""
>
> This is a reland of b16c7e5b1c
>
> Issue: ShouldYield is called multiple time.
> Fix: ConcurrentSweepSpace returns false if not done (yielding), to avoid
> calling it again.
>
> Issue: failing test-streaming-compilation
> Safe to reland after
> https://chromium-review.googlesource.com/c/v8/v8/+/2507379
>
> Original change's description:
> > Reland "[Heap]: Convert Sweep to Job"
> >
> > This is a reland of 795c0b1c7b
> > Reason for revert:
> > TSAN failures https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33884
> > Safe to reland as-is with fix to EagerUnmappingInCollectAllAvailableGarbage
> > https://chromium-review.googlesource.com/c/v8/v8/+/2502809
> >
> > Original change's description:
> > > [Heap]: Convert Sweep to Job
> > >
> > > max concurrency is inferred from queue size for OLD_SPACE & MAP_SPACE.
> > > Extra Sweeper::TearDown() in MarkCompactCollector::TearDown() is needed
> > > to cancel job.
> > >
> > > Change-Id: Iafba7d7d24e8f6e5c5a1d5c0348dea731f0ac224
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2480783
> > > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#70767}
> >
> > Change-Id: Id9a5baceed4664f53da39597af56a2067e4f3c6f
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2502808
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#70845}
>
> Change-Id: I32de9faebdbd2f7f6d7f9a9525871fc691fb3f2c
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2507378
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#71347}

TBR=ulan@chromium.org,etiennep@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Issue: ShouldYield is called multiple time.
Issue: failing test-streaming-compilation
Change-Id: Ic82221d118d7a1f6ea98021e03f4d4b95368b01c
Bug: v8:11198
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2561198
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71413}
2020-11-25 17:29:44 +00:00
Clemens Backes
77c83be45f [inspector] Remove functionality to dump function tables
Function tables have been removed from the scope object in
https://crrev.com/c/2507696, hence the code for printing them is dead
now.

R=bmeurer@chromium.org

Change-Id: Ib36fb314ae54468239737f100a6594d8d2031218
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557982
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71412}
2020-11-25 16:58:54 +00:00
Clemens Backes
0854d353fb Reland: [wasm][memory64] Decode memory offset as 64-bit LEB
After preparing Liftoff, TurboFan, and the interpreter for this change,
we now store the memory offset as uint64_t. {LoadLane} and {StoreLane}
were added after the TurboFan refactoring, so those two are adapted
similar to the other memory operations.

TBR=manoskouk@chromium.org

Bug: v8:10949
Cq-Include-Trybots: luci.v8.try:v8_win64_msvc_rel_ng
Change-Id: I8f3084c21a7d99f72df1bc18c2b507c4e84570cd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560720
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71411}
2020-11-25 16:21:35 +00:00
Vasili Skurydzin
5053751bc0 aix: Return false from ThreadTicks::IsSupported() in PASE
Change-Id: I63446404789a33b97db2bacee2faf3a04e137ed5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2558973
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Vasili Skurydzin <vasili.skurydzin@ibm.com>
Cr-Commit-Position: refs/heads/master@{#71410}
2020-11-25 16:15:25 +00:00
Leszek Swirski
f4085c8e70 Revert "[wasm] Reduce job priority once baseline compilation finishes"
This reverts commit cf9a28b6ae.

Reason for revert: TSAN failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/34374?

Original change's description:
> [wasm] Reduce job priority once baseline compilation finishes
>
> This Cl changes the priority of baseline compilation from kUserVisible
> to kUserBlocking. Once baseline compilation finishes, the priority is
> reduced to kUserVisible. The reason for using kUserBlocking is that
> thereby TurboFan compilation cannot block Liftoff compilation anymore.
> Additionally, kUserBlocking is quite appropriate, as the initial
> compilation does block a whole section of a web app from execution.
>
> R=​clemensb@chromium.org
>
> Bug: v8:11088
> Change-Id: Ifde42d20f36d4c0a5122b0008311ccdffbb60e48
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519559
> Commit-Queue: Andreas Haas <ahaas@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#71404}

TBR=ahaas@chromium.org,clemensb@chromium.org

Change-Id: I9a975c4c43189015491b08d3a98de991d8167daf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:11088
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560200
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71409}
2020-11-25 16:06:47 +00:00