Commit Graph

64059 Commits

Author SHA1 Message Date
Zeynep Cankara
0c2ef44423 [system-analyzer] Map-processor bug-fix and add ic-panel click map
This CL unifies both map-processor and ic-processor's map processing
pipeline to the same format. Also, adds the functionality to search
for map transitions on map panel by clicking on map property of the
ic-panel.

Bug: v8:10644

Change-Id: I9f95feebb08620fd489486cf459ebe0babbd32d6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2367865
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69567}
2020-08-26 10:34:58 +00:00
Clemens Backes
beeef0d8f0 [wasm] Ensure regular publishing in background threads
When we used the tasks API, we distributed the compilation deadlines
such that different tasks would finish (and publish) at slightly
different times. When moving to the jobs API, this feature was lost, and
all tasks now only publish once all compilation is done. This creates
major contention and synchronization overhead after compilation, which
can take roughly as long as the actual concurrent compilation.

This CL reintroduces a mechanism for ensuring regular publishing. We
choose a limit which is high enough to ensure that we don't publish too
often (because that comes with overhead), but low enough to ensure that
not too many units are published at the end, when all compilation is
done. At that point, there will still be some contention.
Also, choose a slightly different limit per task to ensure proper
distribution of publishing over time (different tasks are likely to
publish at different times).

This removes the last remaining regressions when compiling big modules
via the jobs API. In local measurements, it makes us even faster than
with the tasks API.

R=ahaas@chromium.org

Bug: chromium:1101340, chromium:1113234
Change-Id: I504f32606b8ad31a951449709cf407c471fa9b25
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375196
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69566}
2020-08-26 09:21:38 +00:00
Victor Gomes
d721dc8f14 [deoptimizer] Reverse arguments in DoComputeArgumentsAdaptorFrame
Change-Id: I31e205b696627913584016bb9197e1e719ca0237
Bug: chromium:1120905, v8:10201
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375191
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69565}
2020-08-26 07:43:58 +00:00
Clemens Backes
496b625220 [wasm] Minor improvement to code GC
Decommitting memory ranges is expensive, so try to merge as many of them
as possible before decommitting.

Minor drive-by: Slightly extend a GC tracing message.

R=ahaas@chromium.org

Change-Id: I91e44db1212f0c9b70b8c8fccebe8fd33ff37d9c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375825
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69564}
2020-08-26 07:13:48 +00:00
Clemens Backes
7266c848fe [wasm] Add some documentation on code space limit
This documents the outcome of the discussion with chromium security
guts.

R=ecmziegler@chromium.org

Change-Id: I55835fe5b40e3daf856a8ec1d5ef0d3fed5adb4c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375386
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69563}
2020-08-25 18:13:46 +00:00
Ng Zhi An
ddf30bea13 [wasm-simd][x64] Check for register when emitting shuffles
Some shuffles take have either register or memory operand for second
input, but the codegen incorrectly assumes that it is always a register.

Bug: v8:10824
Change-Id: Ia2df233dad4ed451e52e57e35cce5c80db0905db
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2373586
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69562}
2020-08-25 17:52:16 +00:00
Dominik Inführ
0834d2e6cf [heap] Test enabling of FLAG_local_heaps by default
Experiment with enabling FLAG_local_heaps for a few days to see whether
pause times regress and to catch bugs.

Bug: v8:10315
Change-Id: Iefc329bbc1b8131796f1db2a729ee358bef88894
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375190
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69561}
2020-08-25 17:31:56 +00:00
Clemens Backes
8860c5f1c5 Reland "[wasm] Move kMaxWasmCodeSpaceSize to wasm directory"
This is a reland of c2ea20473d

Original change's description:
> [wasm] Move kMaxWasmCodeSpaceSize to wasm directory
> 
> This limit is wasm-internal, and does not need to be exposed via
> src/common/globals.h.
> This CL moves it into the {WasmCodeAllocator}.
> 
> Drive-by: Minor simplification in jump table stress test.
> 
> R=ecmziegler@chromium.org
> 
> Change-Id: Iff8c4657697ae98123d840a022c5b21c4948fcdf
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375189
> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69558}

Change-Id: I6e0432d14d23978dea599233e620e84d8255caf9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375388
Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69560}
2020-08-25 17:14:56 +00:00
Clemens Backes
dc3f30ef2e Revert "[wasm] Move kMaxWasmCodeSpaceSize to wasm directory"
This reverts commit c2ea20473d.

Reason for revert: Link failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/26209

Original change's description:
> [wasm] Move kMaxWasmCodeSpaceSize to wasm directory
> 
> This limit is wasm-internal, and does not need to be exposed via
> src/common/globals.h.
> This CL moves it into the {WasmCodeAllocator}.
> 
> Drive-by: Minor simplification in jump table stress test.
> 
> R=​ecmziegler@chromium.org
> 
> Change-Id: Iff8c4657697ae98123d840a022c5b21c4948fcdf
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375189
> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69558}

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

Change-Id: Ic3466eb17f2b3dfa4a0864002b0590fa0f571bb5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375387
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69559}
2020-08-25 15:42:18 +00:00
Clemens Backes
c2ea20473d [wasm] Move kMaxWasmCodeSpaceSize to wasm directory
This limit is wasm-internal, and does not need to be exposed via
src/common/globals.h.
This CL moves it into the {WasmCodeAllocator}.

Drive-by: Minor simplification in jump table stress test.

R=ecmziegler@chromium.org

Change-Id: Iff8c4657697ae98123d840a022c5b21c4948fcdf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375189
Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69558}
2020-08-25 15:34:46 +00:00
Dominik Inführ
2c879c68c5 [handles] Check FLAG_local_heaps in IsDereferenceAllowed()
While LocalHeap allow to dereference handles on background threads, this
is only possible when FLAG_local_heaps is enabled.

Bug: v8:10315
Change-Id: Ia27582cda7e4b4faf4d2c76959de418415e1ae68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2372147
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69557}
2020-08-25 14:25:03 +00:00
Andreas Haas
289c15eb6d [wasm][liftoff] Allow reftype results, and implement ref.null
This CL is the start to implement reference types support in Liftoff.
As a first step this CL implements the ref.null instruction, and allows
reference types as return values. This allows register allocation to be
extended to support reference types, and also adds an easy way to get a
reference type value for tests. Additionally with ref.null we don't have
to worry about garbage collection because 'null' is an immovable object
and therefore does not have to be scanned by the GC.

R=thibaudm@chromium.org

Bug: v8:7581
Change-Id: I5785dcf522c0d9881e1386f2d8b5d8560a16225c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352784
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69556}
2020-08-25 14:15:53 +00:00
Jakob Gruber
b9b25d1289 [nci] Skip regress-1112155 in nci test modes
NCI code deopts differently than TF code.

Tbr: mythria@chromium.org
Bug: v8:8888
Change-Id: Ica1352ed5aba648c95a8a26fd6c2dd703b0f335c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375186
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69555}
2020-08-25 14:09:33 +00:00
Pierre Langlois
807daee79a [arm64] Make sure hints passed to mmap are paged-aligned on 64K systems.
We already make sure hints are 16K aligned on the Mac. On linux, it's
possible to run with 64K pages enabled so we also need to align the
hint there.

Bug: v8:10808
Change-Id: I4ae7a56828135f6aa2980f164f25e2eb932b3cc0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369176
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#69554}
2020-08-25 13:51:43 +00:00
Etienne Pierre-doray
d77e12bcb9 [Jobs API]: Implement missing Jobs pieces in the various v8 implementations.
- JobHandle::IsCompleted()
- JobDelegate::GetTaskId()
- worker_count passed as argument to GetMaxConcurrency().
  Jobs implementation must call the new GetMaxConcurrency(), but Jobs
  users aren't migrated yet.

Bug: chromium:1114823
Change-Id: I0f4295ccaf9eba866dd771f30e2e49aa3eae9551
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352484
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69553}
2020-08-25 13:38:03 +00:00
Santiago Aboy Solanes
718c110866 [csa][cleanup] Remove ParameterMode/TNodify LoadArrayElement
Also we can do ParameterToIntPtr since this was the last use.

Bug: v8:9708, v8:6949
Change-Id: I61747205d9d747c80bd13cd98bc51d8f97946130
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2374546
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69552}
2020-08-25 12:16:03 +00:00
Victor Gomes
ff784f6264 [BUILD] Disable reverse jsargs stack
Change-Id: Iee7d2d0d2abbb5e18640d0601203dfb58e5ec474
Bug: v8:10201, v8:10825
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2374527
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69551}
2020-08-25 11:14:23 +00:00
Pierre Langlois
243b7f63e1 [cctest][heap] Fix remaining memory calculation to simulate full pages.
The cctests need to simulate full pages, however the calculation of the
remainging available space is wrong causing an assertion when we change
the V8 page size to 512K:

    $ cctest test-array-buffer-tracker/ArrayBuffer_PagePromotion

    #
    # Fatal error in ../../test/cctest/heap/heap-utils.cc, line 94
    # Check failed: padding_size <= overall_free_memory || overall_free_memory == 0.

The reason is:

  - On startup, we register a scavenger observer on the new space. The
    observer is set to trigger when the new space capacity is at 80% by
    default.

  - On linux, the initial capacity of the new space is 512K, so the
    scavenger observer will be placed at 80% of 512K, which will either
    be in the second page of the space if the page size is 256K, or in
    the first page if the page size is 512K.

  - When placing the observer, if the observer hits the first page, we
    lower the allocation limit (see `ComputeLimit()`). This makes sure
    the observer isn't skipped by allocations inlined in generated code.

However, when we simulate filling the current page, we compute the space
left in the current page by comparing the top with the `page_high()`
rather than `limit()`. This was done so the tests would also work when
inlined allocations are disabled. If we don't look at the `limit()`, we
don't take the observer into account and fill more space than is
available, triggering the assertion.

This can also be reproduced by reducing the % at which the scavenger is
triggered so that it hits the first page instead of the second when the
page size is 256K, for example passing --scavenge-task-trigger=10.

Bug v8:10808, v8:9906

Change-Id: Iad50bb68995de5ee017dcbe069d1fb229c9f5985
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2372545
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69550}
2020-08-25 10:39:43 +00:00
Andreas Haas
32dd54709c [wasm][streaming] Avoid aborting the stream after it finished
With WebAssembly streaming compilation it is possible that FinishStream
indirectly calls AbortStream. This had the effect that while
FinishStream fulfilled the promise, AbortStream disposed the promise
by removing the compile job from the wasm engine and thereby deallocated
AsyncCompileJob and all the state that belongs to it. Without that
state, FinishStream could not finish fulfilling the promise correctly.

With this CL the streaming decoder remembers that the stream has
already been finished. When the stream has been finished, all calls to
Abort get ignored.

The regression test for this issue requires the Chrome embedding, see
https://crrev.com/c/2368359

R=clemensb@chromium.org

Bug: chromium:1117258
Change-Id: Ifc28a1ee38c228b051c4d7d85b305fe2a721fa1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2367858
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69549}
2020-08-25 10:28:43 +00:00
Clemens Backes
06feff4842 [wasm] Increase maximum code space to 2GB
This bumps the engine-wide limit for generated machine code from 1GB to
2GB. This will allow compiling (and debugging) bigger modules, as they
occur particularly in the debugging use case because the module will be
unoptimized then.

The limit per allocated code space is left at 1024MB (1GB), so a module
will need to allocate two separate code spaces to make use of the full
2GB code space.

R=ecmziegler@chromium.org

Bug: chromium:1117033, chromium:1114093, chromium:1107649, chromium:1111266
Change-Id: Iab95b3130cbacc21ba078bf0d4ee2d6cd121d675
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2372604
Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69548}
2020-08-25 08:15:53 +00:00
Dominik Inführ
45c67da2d2 Revert "[compiler] Access the heap for BytecodeArray int/Register members"
This reverts commit f16d3abf06.

Reason for revert: register_count() is read from the heap on the
background thread. This is only safe when FLAG_local_heaps is enabled
(set to true) but this isn't the case on tip-of-tree.

Original change's description:
> [compiler] Access the heap for BytecodeArray int/Register members
>
> We can create a new macro to skip the xxxData classes and read directly
> from the heap.
>
> Bug: v8:7790
> Change-Id: I8de9ba0aee78c74d4c3113eb6bc4870a314de552
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362687
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69471}

TBR=neis@chromium.org,solanes@chromium.org

Bug: v8:7790
Change-Id: I35bdd44721ce1e9d2f46df7cf5d1f413e22d9acf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2372602
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69547}
2020-08-25 08:07:23 +00:00
Marja Hölttä
32e1871030 [super property speed] js-perf-test: minor formatting fix
Bug: v8:9237
Change-Id: Iaa1e3485eaecdd5af654177f207a990a2e63396b
No-Try: True
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2374545
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69546}
2020-08-25 08:00:13 +00:00
Zeynep Cankara
a57270cfcc [tools][system-analyzer] Format sources and relative css import
Action items:
* Replace alls css @import with link tags.
* Format all sources in system-analyzer/*.

Bug: v8:10644

Change-Id: I6354cf7b0ed2aca8cdab4888cf9d504a1d963b50
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2367869
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69545}
2020-08-25 07:10:03 +00:00
v8-ci-autoroll-builder
76be833e36 Update V8 DEPS.
Rolling v8/build: b656b39..7946304

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/e6244cc..a54f10f

Rolling v8/third_party/depot_tools: 4909610..e95b5d6

Rolling v8/tools/clang: 9784c4f..d9986ad

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

Change-Id: Ib4c2f5df542ec7aa228c80cf330f6a17ec7ee7e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2373478
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@{#69544}
2020-08-25 03:37:43 +00:00
Shu-yu Guo
4bfa5dc827 Reland "[atomics] Missing detach check in Atomics.store on MIPS"
This is a reland of 8358094d81

Original change's description:
> [atomics] Missing detach check in Atomics.store on MIPS
> 
> There was a missing detach check in the runtime implementation of
> Atomics.store on BigInt TypedArrays. This runtime function is only used
> on MIPS.
> 
> Bug: v8:10687
> Change-Id: I77946d2ab0abf70c583af514ddaba0d384a21309
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369663
> Auto-Submit: Shu-yu Guo <syg@chromium.org>
> Commit-Queue: Ben Smith <binji@chromium.org>
> Reviewed-by: Ben Smith <binji@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69525}

Bug: v8:10687
Change-Id: If75e2100712786fc9b39782e24b1457031060169
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369974
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69543}
2020-08-24 19:47:04 +00:00
Junliang Yan
5ef75b8c79 s390: implement V8_REVERSE_JSARGS
Bug: v8:10201
Change-Id: Ia0c89a02840b2b29afe41f8eedd423c4d635c61f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2319646
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69542}
2020-08-24 16:00:34 +00:00
Santiago Aboy Solanes
d3d8d71f26 [csa][cleanup] TNodify TryGetIntPtrOrSmiConstantValue
Also remove ParameterMode since it is not needed.

Bug: v8:9708, v8:6949
Change-Id: If82cd5ffb89502e3feed7f5af613182df668080e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370639
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69541}
2020-08-24 13:34:39 +00:00
Santiago Aboy Solanes
d02564fcae [csa][cleanup] Remove ParameterMode version of OpName macros
Also remove unused macros from the list.

Bug: v8:9708, v8:6949
Change-Id: Ib90ce7c2c4996b3f8892106a89884d7e83610ca6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370637
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69540}
2020-08-24 13:18:59 +00:00
Santiago Aboy Solanes
ad9937b4fd [csa][cleanup] Remove ParameterMode/TNodify ToParameterConstant
Bug: v8:9708, v8:6949
Change-Id: If2b95333b5821b91296169714359f095bf8b9bd6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370636
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69539}
2020-08-24 13:14:09 +00:00
Marja Hölttä
a6b38d817c [super property speed] Add js-perf-tests for super property access
Bug: v8:9237
No-Try: True
Change-Id: Ic1bba1e0f5584350217c3971dfcc769c86beb1fd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366694
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69538}
2020-08-24 12:20:49 +00:00
Zeynep Cankara
23906bcd89 [system-analyzer] Highlight clickable items
This CL highlights the items with clickable functionality.
It is implemented based on the received feedback from the
V8 Mobile Team.

Bug: v8:10644

Change-Id: I0489327681d485eedde59594d36083efdc216575
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370626
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69537}
2020-08-24 11:03:59 +00:00
Santiago Aboy Solanes
9c5eed71c7 [unwinder] Delete the old unwinder API
The new one was created in
https://chromium-review.googlesource.com/c/v8/v8/+/1969900, and the old
API was deprecated in
https://chromium-review.googlesource.com/c/v8/v8/+/2110015, so now we
can remove it.

Bug: v8:8116
Change-Id: Ia839279609b412c36f1f17368acef23fe07e7c61
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369174
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69536}
2020-08-24 10:36:59 +00:00
Zeynep Cankara
58f047aba9 [tools][system-analyzer] Add timeline property to ic-panel
This cleanup CL adds a timeline property to ic-panel and directly
assigns the logEvents to selectedLogEvents upon data load.

Bug: v8:10644

Change-Id: Ic1707ea237abbf57417c0b14e24fc0bf797d9679
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370627
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69535}
2020-08-24 10:21:41 +00:00
Omer Katz
42ecd61670 cppgc: Fix marking on allocation
Marking on allocation assumes a non-empty stack. Thus marking on
allocation will not finalize even if it runs out of work (we prefer
to finalize in a non-nestable task with no stack).
Instead it will schedule another marking task and delegates
finalization to the next marking task.

Bug: chromium:1056170
Change-Id: I457090fe0a235707bb9973e330ff24fb25ac66c0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366764
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69534}
2020-08-24 10:13:09 +00:00
Santiago Aboy Solanes
1a54370033 [compiler] Updated NotHasBoilerplate to HasBoilerplate
Change-Id: I1df5bbb5f974e09967a7e904556dd109235ecace
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366780
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69533}
2020-08-24 09:56:49 +00:00
Zhao Jiazhong
4027f59f0e [mips][BUILD] Disable v8_reverse_jsargs
Reverse JS arguments hasn't been implemented on mips

Change-Id: Ie6adb1c55de06838cb530966b1b54fb4b542350f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2371477
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#69532}
2020-08-24 08:27:56 +00:00
Jakob Gruber
e02e51078b Improve usability of GraphAssembler's Unreachable()
Prior to this CL, one had to artificially insert a
basic-block-terminating node after Unreachable. The common pattern was

 Unreachable();
 Goto(&some_label);  // Never reached but generates useless code.

This CL improves usability by automatically merging Unreachable nodes
to the end node, and terminating current effect/control. The updated
pattern is just

 Unreachable();

or in cases where Turboprop must maintain a schedule:

 Unreachable(&some_label);

Bug: v8:8888
Change-Id: I26a0b11b5e67252a6dc3584ae09ed06370f1eacc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362690
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69531}
2020-08-24 08:20:26 +00:00
johnx
acbb989b3e Introduce Starboard platform
Starboard is the platform abstraction for Cobalt.
This CL introduces all Cobalt changes in src/base/platform.

The review was conducted mostly on:
https://chromium-review.googlesource.com/c/v8/v8/+/2247918

See b/156155426 for background

Tbr: mlippautz@chromium.org
Change-Id: I6cd092304ba6485acd38e82aa2dc4505d7dfb0aa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346090
Commit-Queue: John Xu <johnx@google.com>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69530}
2020-08-24 06:37:26 +00:00
v8-ci-autoroll-builder
89004d8cec Update V8 DEPS.
Rolling v8/build: c97da98..b656b39

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

Change-Id: I9d81d498321fe94d55f2b0eec45c10ef1cdc7f0c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370823
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@{#69529}
2020-08-24 03:45:09 +00:00
v8-ci-autoroll-builder
e8882e324f Update V8 DEPS.
Rolling v8/build: 134058c..c97da98

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

Change-Id: Ic02d3f8415af6afc1cdfe372d04f8cbef0113a55
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370822
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@{#69528}
2020-08-23 03:42:58 +00:00
v8-ci-autoroll-builder
736bb07e21 Update V8 DEPS.
Rolling v8/build: d2b7ca1..134058c

Rolling v8/buildtools: b00ad0a..ff93f3e

Rolling v8/buildtools/linux64: git_revision:e327ffdc503815916db2543ec000226a8df45163..git_revision:6f13aaac55a977e1948910942675c69f2b4f7a94

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/7f34313..e6244cc

Rolling v8/third_party/depot_tools: 87a7605..4909610

Rolling v8/tools/clang: a4bb1c6..9784c4f

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

Change-Id: I5979068c4c7066b845adc8576281de66a36fdc6d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370070
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@{#69527}
2020-08-22 03:45:27 +00:00
Francis McCabe
ffb2a6423f Revert "[atomics] Missing detach check in Atomics.store on MIPS"
This reverts commit 8358094d81.

Reason for revert: Closed the tree on arm pointer compression:
https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20arm64%20-%20sim%20-%20pointer%20compression/6256?


Original change's description:
> [atomics] Missing detach check in Atomics.store on MIPS
> 
> There was a missing detach check in the runtime implementation of
> Atomics.store on BigInt TypedArrays. This runtime function is only used
> on MIPS.
> 
> Bug: v8:10687
> Change-Id: I77946d2ab0abf70c583af514ddaba0d384a21309
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369663
> Auto-Submit: Shu-yu Guo <syg@chromium.org>
> Commit-Queue: Ben Smith <binji@chromium.org>
> Reviewed-by: Ben Smith <binji@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69525}

TBR=binji@chromium.org,syg@chromium.org

Change-Id: I955cdbf5d83674b8acb5b67bbe8754f3d39261aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:10687
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369973
Reviewed-by: Francis McCabe <fgm@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69526}
2020-08-22 01:43:00 +00:00
Shu-yu Guo
8358094d81 [atomics] Missing detach check in Atomics.store on MIPS
There was a missing detach check in the runtime implementation of
Atomics.store on BigInt TypedArrays. This runtime function is only used
on MIPS.

Bug: v8:10687
Change-Id: I77946d2ab0abf70c583af514ddaba0d384a21309
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369663
Auto-Submit: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Ben Smith <binji@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69525}
2020-08-21 23:48:37 +00:00
Frank Tang
e8a5793abc Skip tests on Andriod dep on Chinese dict.
Bug: v8:10819
Change-Id: I91cf658d9fdcbaf58d6b2e5734c59d7248b8393e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369461
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69524}
2020-08-21 20:57:47 +00:00
Seth Brenith
7aeafdee2f [x64] Avoid movl before table jump when possible
If the input to a Switch happens to be something that we already know to
be zero-extended, then we don't need to emit a movl to zero-extend it.
This is a tiny optimization, but speeds up the Mono interpreter by 3%
because it's heavily dependent on switch dispatch speed.

Bug: v8:10606
Change-Id: I67ab6b6aeb93df4e420ea2afef41a2234d7da979
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2368195
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#69523}
2020-08-21 17:30:07 +00:00
Ross McIlroy
24e795166d [interpreter] Fix some comment typos.
Also removes bmeurer@ from interpreter/OWNERS.

BUG=v8:10806

Change-Id: I97cb77350271f773600e92d4ce787080388eb14c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369179
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69522}
2020-08-21 17:12:07 +00:00
Mythri A
3551cac6da [turboprop] For double data fields check loaded value is HeapNumber
With in-place representation changes we can transition from a double
field to a Tagged field without changing the map. So it is not always
safe to assume the loaded value would be a HeapNumber. TurboFan takes a
dependency on the field representation to ensure the code is deoptimized
on any changes. With dynamic map checks, it is not possible to take such
a dependency. Hence check the loaded value is a HeapNumber and
deoptimize otherwise.

Bug: chromium:1112155,v8:10582
Change-Id: I910ac1c0781ac8842fdbf272f9173b55b02923ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354810
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69521}
2020-08-21 17:00:47 +00:00
Santiago Aboy Solanes
41e307c194 [csa][cleanup] Remove unused UnsafeStoreFixedDoubleArrayElement
Bug: v8:9708, v8:6949
Change-Id: I2a60a3970adf3020b42ee1b1264ca3c11f9f88c6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362955
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69520}
2020-08-21 16:29:07 +00:00
Santiago Aboy Solanes
e0973e6e80 [csa][cleanup] TNodify/Remove ParamenterMode from BuildFastArrayForEach
The array can be FixedArrayBase, PropertyArray or HeapObject. That
HeapObject has to be either a FixedArray or a PropertyArray since we
have an assert for it. However, due to how the code is structured it
is not so simple to remove HeapObject from the Union.

Drive-by: deleted unused version of BuildFastArrayForEach.

Bug: v8:9708, v8:6949
Change-Id: I980f759dad9c76f0c765622cbdda37e33709f53f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362954
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69519}
2020-08-21 16:25:27 +00:00
Thibaud Michaud
1c8c657908 [wasm] Stage tail calls
R=ahaas@chromium.org
CC=ecmziegler@chromium.org

Bug: v8:7431
Change-Id: Ia6303984be4b4f23051fe39a80cdff3143811bb2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2367867
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69518}
2020-08-21 13:59:07 +00:00