Commit Graph

66370 Commits

Author SHA1 Message Date
v8-ci-autoroll-builder
e8e4a8ebe3 Update V8 DEPS.
Rolling v8/build: 2d94fa5..ff0b5c1

Rolling v8/third_party/depot_tools: 67e1228..46ef281

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

Change-Id: I7fd43af962a4b7da6e1641e6990776aedb46fb84
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2603522
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@{#71878}
2020-12-25 03:46:56 +00:00
Milad Fa
50e7dbacea PPC: [wasm-simd] refactor I16x8Mul and I8x16Mul on PPC
Change-Id: If9bb55c0fa3297b5e0453cc9bc89bb906a905bf8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601342
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71877}
2020-12-24 17:21:16 +00:00
Yang Guo
32c29e8f01 [inspector] do not interrupt with pause when running regexp
If we attempt to pause, we'd check whether frames are framework code
which we pattern match with a regexp. That could cause re-entering
regexp, which is not allowed.

Fixed: chromium:1125934
Change-Id: I3b52b202a5570f7929def39176cfe5e52be3dfd5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2602948
Commit-Queue: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71876}
2020-12-24 11:06:35 +00:00
Benedikt Meurer
f4d408fdc4 [wasm][debug] Make Scope order consistent.
JavaScript scopes are reported from inner-most to outer-most, while
previously we would report WebAssembly frames from outer-most to
inner-most. This is quite confusing for developers, and also doesn't
really make sense, so this CL fixes this inconsistency.

Bug: chromium:1071432
Change-Id: I6a4742f13b9a0df33e50c6fcd40992873996aaf5
Fixed: chromium:1159309
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2602947
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71875}
2020-12-24 10:26:35 +00:00
LiuYu
7a7027f8ed [mips][macro-assembler] Avoid using the isolate in
CallRecordWriteStub

Port: 6b3994e850

Bug: chromium:1146813

Change-Id: I552f49193188d91d64a1d75307cd3390138c9e7a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599426
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71874}
2020-12-24 03:47:09 +00:00
v8-ci-autoroll-builder
685358f288 Update V8 DEPS.
Rolling v8/build: d4fcf57..2d94fa5

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/2752abe..3f5c581

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

Change-Id: Ic1879d10e5d79bbc8bafa07603679cde9be6c327
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600522
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@{#71873}
2020-12-24 03:44:39 +00:00
Milad Fa
31b7d4f519 PPC: Add VX_OPCODE_C_FORM instructions to the disassembler
Instructions include:
vupkhsw
vupklsh
vupkhsh
vupklsb
vupkhsb

Change-Id: Ie11961dbf1f4838e96efe6704c8d938a62213b93
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601660
Reviewed-by: Junliang Yan <junyan@redhat.com>
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71872}
2020-12-23 23:00:39 +00:00
LiuYu
0d8d133261 [mips][wasm-gc] Initial Liftoff support
Port: bee5992a6d

Bug: v8:7748

Change-Id: I5985eaf9cfaf3786e19ac6d1678630828e4c77be
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599397
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71871}
2020-12-23 08:54:55 +00:00
LiuYu
7c243e546d [mips][wasm-simd][liftoff] Implement extended multiply
Port: 1215f2a83b

Bug: v8:11262

Change-Id: I307619aaea7adda16d52155255830e6d4cefcd1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600836
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71870}
2020-12-23 07:46:47 +00:00
Andrey Kosyakov
f656eab592 DevTools: add support for system-unique execution context ids
This adds ExecutionContextDescription.uniqueId for a system-unique
way to identify an execution context and supports it in Runtime.evaluate.
This allows a client to avoid accidentally executing an expression
in a context different from that originally intended if a navigation
occurs while Runtime.evaluate is in flight.

Design doc: https://docs.google.com/document/d/1vGVWvKP9FTTX6kimcUJR_PAfVgDeIzXXITFpl0SyghQ

Bug: v8:11268, chromium:1101897
Change-Id: I4c6bec562ffc85312559316f639d641780144039
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2594538
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71869}
2020-12-23 05:15:47 +00:00
Zhi An Ng
e51dcc5225 [wasm-simd][arm][liftoff] Implement extended multiply
Bug: v8:11262
Change-Id: I746e1bf819d69a010efee2ec907a49dbc05dda64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599845
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71868}
2020-12-23 03:53:35 +00:00
v8-ci-autoroll-builder
e066141587 Update V8 DEPS.
Rolling v8/build: 3e20802..d4fcf57

Rolling v8/third_party/aemu-linux-x64: GI8QGXYA44_uicQ1AX9ecXBzIK4dImUA90X-kMlohyIC..eNKL3iFnDydKoCyqA9rVhylE7ud5a_9wRt0b0HFtLvIC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/8d43e58..2752abe

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

Change-Id: I6a54d437519d43d8a874bfaadb43cb955d38440f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601509
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@{#71867}
2020-12-23 03:32:55 +00:00
Zhi An Ng
c9560d1dbf [wasm-simd][x64][avx2] Improve codegen for load{8,16}_splat
Detect AVX2 support and use vpbroadcastb or vpbroadcastw.

No new assembler helpers required because we are only emitting the
VEX-128 versions of these instructions.

Bug: v8:11258
Change-Id: Ic50178daa6fc8fe767dfc788e61e67538066bdea
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596582
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71866}
2020-12-23 01:56:42 +00:00
Milad Fa
fccbf1b876 PPC: Adding more vector opcodes to the dissembler
Change-Id: I4e70f176fa08c9a6b6f40683248d4c32c8e16f59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598588
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71865}
2020-12-22 21:08:50 +00:00
Andrey Kosyakov
6e9f33f99c Delegate unique id generation to embedder
This lets embedder to produce an id with sufficient entropy to
facilitate an id appropriate for a multi-process system and
immune to regular RNG seed being overriden, while maintaining
deterministic id allocation for tests.

Design doc: https://docs.google.com/document/d/1vGVWvKP9FTTX6kimcUJR_PAfVgDeIzXXITFpl0SyghQ
Related blink-side change: https://chromium-review.googlesource.com/c/chromium/src/+/2600273

Bug: v8:11268
Change-Id: I1a4d12463cf56d4378859dfa3ee4d717e176d468
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600442
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71864}
2020-12-22 18:40:10 +00:00
Milad Fa
72a7676110 PPC/s390: [wasm-simd][arm64][liftoff] Implement extended multiply
Port 1215f2a83b

Original Commit Message:

    The codegen is the same as on TurboFan, using Smull, Umull, Smull2, and
    Umull2. The rest of the changes are adding skeleton functions to the
    different archs, which bailout for now. Actual codegen will come in
    future patches.

R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: I58bc84ede44a9c90e315d6dc3346ea09b31deaf7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600731
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71863}
2020-12-22 15:08:40 +00:00
Zhi An Ng
5cc4246d8d [x64] Small cleanup of disassembly of cmp instructions
Change-Id: I6ae8699032efc4e55f3e6f808620591c4ad8fc3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599841
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71862}
2020-12-22 06:03:19 +00:00
v8-ci-autoroll-builder
77f9811295 Update V8 DEPS.
Rolling v8/build: 34da458..3e20802

Rolling v8/third_party/aemu-linux-x64: qMq36BPvKEIxjpVFBefO08HoyM51jARe3EuX0vcgzWsC..GI8QGXYA44_uicQ1AX9ecXBzIK4dImUA90X-kMlohyIC

Rolling v8/tools/clang: d324a17..1283870

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

Change-Id: Ief40dcfffd3dee29abd267149af5a9e57907675f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600368
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@{#71861}
2020-12-22 03:55:59 +00:00
Zhi An Ng
3bb0f51aa5 [wasm-simd][x64] Pattern match on shufps-style shuffles
When a 8x16 shuffle matches a 32x4 shuffle (every group of 4 indices are
consecutive), and the first 2 indices are in the range [0-3], and the
other 2 indices are in the range [4-7], then we can match it to a
shufps. E.g. [0,2,4,6], [1,3,5,7]. These shuffles are commonly used to
extract odd/even floats.

Change-Id: I031fe44f71a13bbc72115c22b02a5eaaf29d3794
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596579
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71860}
2020-12-22 03:15:29 +00:00
Zhi An Ng
1215f2a83b [wasm-simd][arm64][liftoff] Implement extended multiply
The codegen is the same as on TurboFan, using Smull, Umull, Smull2, and
Umull2. The rest of the changes are adding skeleton functions to the
different archs, which bailout for now. Actual codegen will come in
future patches.

Bug: v8:11262
Change-Id: I06f0b018b85b5cca29382ab730510959e1a81ab6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2589064
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71859}
2020-12-22 02:40:14 +00:00
Andrew Comminos
20feaf9a00 [cpu-profiler] Implement basic refcounting of CodeEntry strings
As a first step towards freeing CodeEntry objects that are neither still
referenced by JS or stored in a profile, enable freeing of refcounted
strings by CodeEntry instances. For now, this leaves behaviour unchanged
until we receive CodeEntry destruction events.

Bug: v8:11054
Change-Id: Iabd05aa730343cd1a879ff5b04326f23e68aa948
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2590604
Commit-Queue: Andrew Comminos <acomminos@fb.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71858}
2020-12-22 02:39:09 +00:00
Zhi An Ng
a66bb00024 [wasm-simd][x64] Optimize blend and palignr shuffles for AVX
For pblendw and palignr, if AVX is supported, we can use the 3-operand
AVX instruction, this can save us a move.

Bug: v8:11270
Change-Id: Ifd837e29c76886a3008bc63c17d4a68bc6aae364
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596578
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71857}
2020-12-22 02:29:09 +00:00
Zhi An Ng
b145152db2 [wasm-simd][x64] Optimize some integer widen_high ops
Optimize:
- i32x4.widen_high_i16x8_s
- i32x4.widen_high_i16x8_u
- i16x8.widen_high_i8x16_s
- i16x8.widen_high_i8x16_u

These optimizations were suggested in http://b/175364869.

The main change is to move away from palignr, which has a dependency on
dst, and also the AVX version is 2 bytes longer than the punpckhqdq.

For the signed and unsigned variants, we have slightly different
optimizations. Unsigned variants can use an punpckh* instruction with a
zero-ed scratch register, that effectively zero-extends. Signed variants
use the movhlps instruction to move high half to low half of dst, then
use packed signed extension instructions.

The common fallback for these instructions is to use pshufd, which does
not have a dependency on dst, but is 1 byte longer than the punpckh*
instructions.

FIXED=b/175364869

Change-Id: If28da2aaa8f6e39a58e63b01cc9a81bbbb294606
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2591853
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71856}
2020-12-22 02:04:09 +00:00
Deepti Gandluri
8c48059844 [wasm-simd] Add a flag to allow SSSE3 SIMD codegen
Bug: v8:11154
Change-Id: Idc1ae98c2f4c0b2924f34c76b56f230cb091c16e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600360
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71855}
2020-12-22 01:59:29 +00:00
Junliang Yan
7f35fe4786 s390x: rename LoadP operation
Change-Id: I036bad7eba4bcf0ba80f7cec6f3d58a674e22b12
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599937
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71854}
2020-12-21 18:52:39 +00:00
Sami Kyostila
4dfaf7c4b1 tracing: Add the new v8.wasm.turbofan category to the list of builtin categories
We also change pipeline-statistics.cc to use a combination of turbofan-
related categories since that more accurately reflects the emitted events.

TBR=bmeurer@chromium.org

Bug: chromium:1084929
Change-Id: I85dcd89ab3e4cd95df3ae9791d158b4ab6c00829
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599749
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71853}
2020-12-21 17:13:08 +00:00
Sathya Gunasekaran
1af49b8508 [runtime] Remove unnecessary instance types
LAST_FUNCTION_TYPE, FIRST_FUNCTION_TYPE are no longer necessary.

TBR: tebbi@chromium.org
Bug: v8:11256
Change-Id: I37b1396eca8f89a287e04f2ef6b642dad248ae67
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599745
Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71852}
2020-12-21 14:50:58 +00:00
Junliang Yan
20703d7f99 s390x: rename Cmp operations
Change-Id: Idb8948c3ff9209a6a41d0793cd2f5c1557b417df
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598697
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71851}
2020-12-21 14:06:53 +00:00
Camillo Bruni
94bf7d9f79 [d8] Throw in d8.log.getAndStop() if log file does not exist
This prevents CF from crashing and assuming it's a security issue
for flaky bots.

Bug: chromium:1152525
Change-Id: Ie782e55705e3bdbf2742ccd711f6544a71235b33
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599748
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71850}
2020-12-21 14:05:48 +00:00
Camillo Bruni
c84213ef0f [tools] System-analyzer improvements
- Fix landing page
- Introduce and use SelectRelatedEvent for centralising the logic of
  finding and showing related LogEntries. It also clears the selection
  of all list panels if there are no related entries.
- Add "select related" button to the script-panel to show events only
  from the currently selected script
- Add selection type tabs for the map-panel
- Fix transition colors for map-transitions view
- Introduce separate map-transition view for the currently selected Map

Bug: v8:10644
Change-Id: I4199a8332bab2518d98078712ed5ce9a8f1dc19e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599555
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71849}
2020-12-21 13:26:08 +00:00
Junliang Yan
d5651560e7 s390x: fix mul operation
Change-Id: I8cdf2d79d0b0340c924360bf25e3ce0167ed8ee4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595724
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71848}
2020-12-21 13:24:38 +00:00
LiuYu
a90b1ce537 [wasm-simd][mips] Prototype extended multiply
Port: 4ad68f1c83

Bug: v8:11008

Change-Id: I0aa384612b529babf9e526fca83c8c69f58b6f3b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2592828
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71847}
2020-12-21 10:07:18 +00:00
v8-ci-autoroll-builder
050f6a8d43 Update V8 DEPS.
Rolling v8/build: d6efe53..34da458

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

Change-Id: Ie358cbfd3f3a9204427cdf4f7f030d3a49113259
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599325
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@{#71846}
2020-12-21 03:34:57 +00:00
Zhi An Ng
8e9ad4f861 [x64][ia32][wasm-simd] Optimize v128.bitselect
Couple of optimizations for v128.bitselect on both ia32 and x64.

1. Remove an extra movaps when AVX is supported, since we have 3-operand
instructions
2. Tweak the algorithm from:
     xor(and(xor(src1, src2), mask) src2)

   To:
     or(and(src1, mask), andnot(src2, mask))
   It is easier to read and understand, and also eliminate a dependency
   chain (on kScratchDoubleReg) in the older algorithm.
3. Use integer forms of the logical ops. Older processors have higher
throughput on these, compared to the floating point ops. However, the
integer forms are 1 byte longer, so on SSE, we stick to the floating
point ops.

For AVX, this reduces instruction count from 9948 to 9868.

Change-Id: Idd5d26b99a76255dbfa63e2c304e6af3760c4ec6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2591859
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71845}
2020-12-21 02:17:27 +00:00
v8-ci-autoroll-builder
3e6f5fe1da Update V8 DEPS.
Rolling v8/build: 6ae4be1..d6efe53

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

Change-Id: I70dfc2899b0e47318254ada04b398e6212aebdcf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599105
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@{#71844}
2020-12-20 03:42:37 +00:00
LiuYu
39abe9f608 [mips][Turboprop] Move dynamic check maps immediate args to deopt exit.
Port: 7bdb0fbb81

Bug: v8:10582

Change-Id: I2a2227ddc45b86f7ad496b524514db96f423b185
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598463
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Auto-Submit: Liu yu <liuyu@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71843}
2020-12-19 10:21:56 +00:00
v8-ci-autoroll-builder
391941911d Update V8 DEPS.
Rolling v8/build: 68fec68..6ae4be1

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

Change-Id: Iedfb1d8a959bfa8a52939d7b3617bafdf4043051
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598675
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@{#71842}
2020-12-19 03:37:36 +00:00
Junliang Yan
4fb1b50535 s390x: rename Mul/Div/Mod operations
Change-Id: Icf959a6e3ac66a5e907379ee9fec25223517af51
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598696
Reviewed-by: Milad Fa <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71841}
2020-12-18 22:43:05 +00:00
LiuYu
afa4291648 [mips][wasm-gc] Liftoff support part 3: arrays
Port: 3dffdf037b

Besides, port another CL which is needed by this one.
Port: 8656a594ab

Bug: v8:7748

Change-Id: Ie0a8030794d69b3ea372e722230e82dceaf5fece
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2597960
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#71840}
2020-12-18 10:36:55 +00:00
v8-ci-autoroll-builder
e00850ca47 Update V8 DEPS.
Rolling v8/build: d50897f..68fec68

Rolling v8/third_party/aemu-linux-x64: j06MN21Z7_ISpAwWL3mLbbrGDGsSKnxGaEYTCDtE-RIC..qMq36BPvKEIxjpVFBefO08HoyM51jARe3EuX0vcgzWsC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/92c7710..8d43e58

Rolling v8/tools/clang: 36810de..d324a17

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

Change-Id: I1cbe60a0ca4e62e21489d5cc4fc416858dad1e28
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598011
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@{#71839}
2020-12-18 03:55:04 +00:00
Milad Fa
ac5d9ffd83 PPC: Add POWER9 to ppc cpu features
Features supported on P8 should also be enabled on P9.

Change-Id: Iae96471e5b66a801f28e3e1069d0d522ec901d93
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596998
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71838}
2020-12-17 22:37:54 +00:00
Milad Fa
87e0ceb685 PPC: FormatFPRegister might have VSX inputs as source or destination
Change-Id: I2fb08d891112f8d88896a116622688ce6ea83a10
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595312
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71837}
2020-12-17 22:36:44 +00:00
Clemens Backes
6dfa47b6b4 [test][cleanup] Rename WASM_*_GLOBAL to WASM_GLOBAL_*
The opcodes were renamed long ago, but the macros were still using the
old syntax.

This CL was created using the following script (for WASM_GET_GLOBAL and
WASM_SET_GLOBAL):
ag -l WASM_GET_GLOBAL | xargs -L 1 sed -i 's/\bWASM_GET_GLOBAL\b/WASM_GLOBAL_GET/g'

R=ahaas@chromium.org

Bug: v8:11074
Change-Id: I3a9bd64f6e09ce97dae6d4132c224350dc079c0f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2597576
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71836}
2020-12-17 21:26:54 +00:00
Clemens Backes
91b102c763 [test][cleanup] Rename WASM_*_LOCAL to WASM_LOCAL_*
The opcodes were renamed long ago, but the macros were still using the
old syntax.

This CL was created using the following command (for WASM_GET_LOCAL,
    WASM_SET_LOCAL, and WASM_TEE_LOCAL):
ag -l WASM_GET_LOCAL | xargs -L 1 sed -i 's/\bWASM_SET_LOCAL\b/WASM_LOCAL_SET/g'

R=ahaas@chromium.org

Bug: v8:11074
Change-Id: I0018bea185030be29344e66e59706fed183cc2f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595446
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71835}
2020-12-17 21:19:14 +00:00
Milad Fa
a8f877bf9f S390: [wasm-simd] Implement extended multiply
PPC will be implemented separately.

Change-Id: I358f5a73275a40f8083e9c07b7028d162969f836
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2597578
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#71834}
2020-12-17 19:32:34 +00:00
Nico Hartmann
d1226086c6 [TurboFan] Templatize GetBytecodeArray
This CL changes SharedFunctionInfo::GetBytecodeArray to a function
template, which is specialized for Isolate and LocalIsolate arguments.
This allows main thread only uses to avoid taking a lock.

Bug: v8:7790, chromium:1154603
Change-Id: I3462c4e36b66073e09393c01c765dd8a018a98f0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595307
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71833}
2020-12-17 16:46:53 +00:00
Tobias Tebbi
22fedb0e26 [torque] avoid GetStringData dispatch repetition
Change-Id: I31d2a19153fa17e6e78d3da93352da886addf089
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2581960
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71832}
2020-12-17 16:06:33 +00:00
Seth Brenith
a14107f73d [torque] Add lint rules for redundant clauses
This change adds two simple lint rules to prevent including 'generates'
or 'constexpr' clauses in cases where they have no impact on behavior.

Bug: v8:7793
Change-Id: Ib1d8fde39ca26735ff9cb7892f01e464619c2090
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2590515
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#71831}
2020-12-17 16:03:43 +00:00
Andreas Haas
eafc0eee95 [wasm] Create new tracing category for TurboFan events
The TurboFan events, like time in register allocation, are only
interesting in special cases, but create lots of events. Therefore it is
good to put these events into their own tracing category.

Bug: chromium:1084929
Change-Id: I971badc1ff58f99bd57b2ddfc93b625b356d6a2d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595436
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71830}
2020-12-17 15:31:03 +00:00
Mike Stanton
139f23501d [api] Its sufficient for the holder in api call to be a JSReceier
Bug: chromium:1158124
Change-Id: Ic23f4b2ffb9436771afcc0090f2179b48851c39d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596336
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71829}
2020-12-17 15:25:33 +00:00