Commit Graph

64347 Commits

Author SHA1 Message Date
Ng Zhi An
3ba4431124 [wasm-simd] Implement pmin/pmax
F32x4 and F64x2 pmin and pmax were accepted into the proposal [0], this
removes all the ifdefs and todo guarding the prototypes, and moves these
instructions out of the post-mvp flag.

[0] https://github.com/WebAssembly/simd/pull/122

Bug: v8:10904
Change-Id: I4e0c2f29ddc5d7fc19a209cd02b3d369617574a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405802
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69855}
2020-09-11 20:59:05 +00:00
Etienne Pierre-doray
0d813976ea [Heap]: Implement IndexGenerator for Jobs use cases.
Dynamic index generation used as starting seend boosts performance for
Jobs that have many work items. This is taken from
https://source.chromium.org/chromium/chromium/src/+/master:base/task/job_perftest.cc;l=30?q=job_perftest&ss=chromium

Change-Id: Ie1ba432808f07498f90ab4c0af419b8f9b72e342
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405799
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69854}
2020-09-11 19:25:33 +00:00
Jakob Kummerow
30c57eb930 [wasm-gc] More tests for type definition decoding
Bug: v8:7748
Change-Id: I463c7472ebaa5b4092b7f0e69e259abbf9c3bc06
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390769
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69853}
2020-09-11 17:44:54 +00:00
Georg Neis
149c7773e8 [compiler] Fix --trace-turbo-reduction in the presence of direct reads
... by unparking the local heap before accessing the handles.

Bug: v8:7790
Change-Id: I0910fd8ad2a1e9cbbf312acb4f26358a09891f0f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404455
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69852}
2020-09-11 17:21:43 +00:00
Victor Gomes
e6f654016b [x64] Remove arguments adaptor frame
Only for the interpreter.

Change-Id: I2456a7d6b385b3b8ebcb3ff8782ea5586289bea6
Bug: v8:10201
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400343
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69851}
2020-09-11 16:40:03 +00:00
Dominik Inführ
b4ecc0e2d0 [heap][test] Set FLAG_local_heaps first before creating context
FLAG_local_heaps needs to be set before creating the context, otherwise
the StressConcurrentAllocatorTask is already started. Setting the flag
then races with background thread, which checks FLAG_local_heaps while
creating LocalHeap.

Bug: v8:10315
Change-Id: If6de748ec174dffb94a2582d24e37d24586ee95a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404823
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69850}
2020-09-11 16:13:58 +00:00
evih
e9d3d232b7 [wasm] Use js-to-wasm generic wrapper for i32 and i64 params.
Currently, the generic wrapper is used for i32 and i64 params and 0 or 1
i32 return value.

Bug: v8:10701
Change-Id: I8c47e78fa9beeda01bdb647e1fcf9ebe6baf1ee4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403243
Commit-Queue: Eva Herencsárová <evih@google.com>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69849}
2020-09-11 16:12:53 +00:00
Almothana Athamneh
631bcbb1d6 Add "pool" to swarming dimesions
NOTRY=true

Bug: chromium:1126457
Change-Id: I5239fe552e71d7a9a20a07188a368fd57429142a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404449
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69848}
2020-09-11 14:34:22 +00:00
Almothana Athamneh
ddc7a64995 Add Mac ARM64 simulator trybots
Bug: chromium:1126467
Change-Id: Iae955b2fc832703f208e279c5bc4dff9c5b8e5cd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400996
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69847}
2020-09-11 14:32:15 +00:00
Leszek Swirski
1db500a0e3 Revert "Reland "[offthread] Enable off-thread finalization in --future""
This reverts commit 853efc77c6.

Reason for revert: More TSAN failures: https://ci.chromium.org/p/v8/builders/ci/V8%20NumFuzz%20-%20TSAN/11176

Original change's description:
> Reland "[offthread] Enable off-thread finalization in --future"
> 
> This is a reland of ff0c5cfaf6
> 
> Relanding after fixing TSAN failure in https://crrev.com/c/2404767.
> 
> Original change's description:
> > [offthread] Enable off-thread finalization in --future
> >
> > Enable the new LocalHeap-based off-thread finalization behind --future.
> >
> > Bug: chromium:1011762
> > Change-Id: I4b33fc300a34530d75aa1a3e197e0d1326994efa
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403252
> > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
> > Auto-Submit: Leszek Swirski <leszeks@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69813}
> 
> Bug: chromium:1011762
> Change-Id: I552a2668391707ee69162eb94143daa7c11721d6
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404772
> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69841}

TBR=ulan@chromium.org,leszeks@chromium.org,verwaest@chromium.org,dinfuehr@chromium.org

Change-Id: I291c16272a3fd02ee3afa23e2af7e66bae82a92e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1011762
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404824
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69846}
2020-09-11 12:55:53 +00:00
Mythri A
798ca7fed4 [turboprop] Store minimorphic access info indexed on FeedbackSource
We used to store MinimorphicPropertyAccessInfo indexed on the feedback
slot id. This works fine when there is no inlining but returns the
wrong access information when functions are inlined. Index it
based on FeedbackSource to avoid these problems.

Bug: v8:10582,chromium:1125871
Change-Id: Id01010f3153f7e21495d73899a8604a64417ae95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401426
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69845}
2020-09-11 11:38:11 +00:00
Frank Tang
5d988ea326 Use better error messages for dateStyle/timeStyle
Bug: v8:10880
Change-Id: I7a9ba96e4b0c83565c4749101082c661e21d5ef1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400598
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69844}
2020-09-11 11:26:50 +00:00
Santiago Aboy Solanes
4e47acccc8 [compiler] Delete FixedDoubleArray old case
Since the AllowHandleDereference scope doesn't happen for
kNeverSerialized (see https://crrev.com/c/v8/v8/+/2402033),
there is no need to have the extra if.

Bug: v8:7790
Change-Id: I4c9f93d2e754625e7b30aee61e2b502161bd60c6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404770
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69843}
2020-09-11 10:50:40 +00:00
Victor Gomes
d3e7b48a8e [wasm] Disable safe_to_skip_adaptor optimization
This optimization does not work when the stack arguments are reversed.

Change-Id: Ib543e6ca234cc70708909e0b3cd474b1309ec40e
Bug: chromium:1126769, v8:10201
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404775
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69842}
2020-09-11 10:48:30 +00:00
Leszek Swirski
853efc77c6 Reland "[offthread] Enable off-thread finalization in --future"
This is a reland of ff0c5cfaf6

Relanding after fixing TSAN failure in https://crrev.com/c/2404767.

Original change's description:
> [offthread] Enable off-thread finalization in --future
>
> Enable the new LocalHeap-based off-thread finalization behind --future.
>
> Bug: chromium:1011762
> Change-Id: I4b33fc300a34530d75aa1a3e197e0d1326994efa
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403252
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
> Auto-Submit: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69813}

Bug: chromium:1011762
Change-Id: I552a2668391707ee69162eb94143daa7c11721d6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404772
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69841}
2020-09-11 10:18:20 +00:00
Dominik Inführ
ca4489972a [heap] Fix failing DCHECK with original_top < top
The problem here was that IncrementalMarking::Step was invoking
new_space()->ResetOriginalTop() which sets original_top to the current
top. IncrementalMarking::Step could be invoked during
InvokeAllocationObservers(), which is called right after acquiring a
new LAB and allocating the first object in it. However this first
allocation might be from generated code with allocation folding enabled.
The generated code might not use all of the memory it allocated and in
that process move top backwards again. Nevertheless
InvokeAllocationObservers() could already set original_top to the
current top. If the generated code later not uses all of that
memory, original_top can be bigger than top.

Fix this problem by ensuring that original_top always equals the LAB
start. Each time LAB start is moved/accounted for, original_top is now
updated as well for the new space. Also IncrementalMarking::Step()
isn't allowed to move original_top anymore.

Bug: chromium:1116278, v8:10315
Change-Id: Ib18a0b07e2665b8ba933555387b84329cbecdf5b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398519
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69840}
2020-09-11 09:45:40 +00:00
Daniel Bevenius
00efb85b9c [cctest] use HelpOptions to print usage
The commit updates the way the usage is printed for cctest to make use
of HelpOptions which allows the usage string to be passed into
SetFlagsFromCommandLine function.

Change-Id: I8dcd48ca8bb7b025f77c0f05ab37ce4f7b6fae04
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402032
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69839}
2020-09-11 09:24:50 +00:00
Leszek Swirski
9c72b62a37 [offthread] Use acq/rel for string table read/write
When creating and inserting strings into the string table, we have to
make sure that the writes to the string's fields (including its
characters) are not reordered to after the write of the string into the
table itself.

Thanks TSAN!

Bug: chromium:1011762
Change-Id: Ib8a22e3980f6b5c57561ca23549c1462c4c017c8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404767
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69838}
2020-09-11 09:15:30 +00:00
Georg Neis
17d4868c06 [turbofan] Fix some tests
- serializer-*:
In some stress configuration, the new map of x was GC'd at the beginning
of optimization, thus generating a soft-deopt for the store to x (thus
in turn skipping inlining of f).

- native-context-*:
In some stress configuration, f had its feedback flushed.

Bug: v8:10892
Change-Id: Icd9f9c0ba6feb938ae8c3b0031b02b766f2e3f91
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404764
Commit-Queue: Georg Neis <neis@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69837}
2020-09-11 09:01:15 +00:00
Georg Neis
15166c63bd [compiler] Include node id in --assert-types failure output
Change-Id: Idb5ac9b0d3703e94f33d74318080790d00c4ec45
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401428
Auto-Submit: Georg Neis <neis@chromium.org>
Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69836}
2020-09-11 08:52:40 +00:00
Santiago Aboy Solanes
015ceed4d2 [compiler] Replace BigInt with direct reads
Bug: v8:7790
Change-Id: Ib0c95f27d21e4aea09dcc9804a800b16440a2fe2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403254
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69835}
2020-09-11 08:47:40 +00:00
Santiago Aboy Solanes
354e4f4ae0 [compiler] Replace AccessorInfo with direct reads
Bug: v8:7790
Change-Id: I0e58244a679d5fd7f597c90c6f41ac255024de3a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403253
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69834}
2020-09-11 08:44:00 +00:00
v8-ci-autoroll-builder
23c2c39fa9 Update V8 DEPS.
Rolling v8/build: 471a6cd..b3e63d3

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/70f34e0..13bf125

Rolling v8/third_party/zlib: 898c6c0..f8517bd

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

Change-Id: I42f50f1bd40a05adb6205a94e3d3007a4fc6b5f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405315
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@{#69833}
2020-09-11 03:52:16 +00:00
Ng Zhi An
86d01fb516 [wasm-simd][scalar-lowering] Fix more lowering of returns
Fix lowering of functions that returns the result of an
i8x16 or i16x8 operation.

Bug: v8:10507
Change-Id: Ia3b29e69cff7771f85dc5160937cbaf2bbc12b55
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399049
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69832}
2020-09-11 01:48:16 +00:00
Ng Zhi An
9e81be7423 [wasm-simd][scalar-lowering] Fix i64 to i32 replacements
Since we are converting Int64x2 to Int32x4, we should be truncating
the nodes, not sign-extending.

Bug: v8:10507
Change-Id: I09dabdcaaa378842ffb4da5505199c188b5101f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404751
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69831}
2020-09-11 00:33:46 +00:00
Zhao Jiazhong
413ebe59a0 [mips64][wasm-simd] Support returning Simd128 on caller's stack
Port 360c9294a8
https://chromium-review.googlesource.com/c/v8/v8/+/2355189

And support storing kS128 value in liftoff.

Change-Id: I4429088bf6205aa24bfa61c2e4dbaf7bdab79132
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402431
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#69830}
2020-09-11 00:27:55 +00:00
Omer Katz
5b9889d921 Reland "Reland "cppgc, heap: Don't eagerly allocate worklist segments""
This is a reland of f25cb50a2f

Removed the problematic tests.
The problem with the test was that we try to pop from an empty segment.
GCC flags that as accessing beyond the array (i.e. index is uint16_t
equivalent of -1). Preceding the actual pop is a DCHECK that asserts
the segment isn't empty. In practice, since we have the DCHECK and
access to the segment is always via a Local, this shouldn't be a
problem.
Unfortunately, GCC flags the access regardless. The DCHECK goes through
a function pointer so GCC cannot determine that in our unittest the
DCHECK would crash if index is 0 and the access would not happen (The
indirection was added to allow for test DCHECK handlers that don't
crash, so we can't mark the function pointer as noreturn).

Drive-by: Segment::Pop and Segment::Push rely on the their Local
counterparts checking of emptiness/fullness, so we should always
access segments via Locals. Making the Segment ctor private.

Original change's description:
> Reland "cppgc, heap: Don't eagerly allocate worklist segments"
>
> This is a reland of c99147c65e
>
> Original change's description:
> > cppgc, heap: Don't eagerly allocate worklist segments
> >
> > Bug: chromium:1056170
> > Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254
> > Commit-Queue: Omer Katz <omerkatz@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69778}
>
> Bug: chromium:1056170
> Change-Id: I4633da065976a6b2710d2f23b946fd2af0e65c83
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401425
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Omer Katz <omerkatz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69806}

Bug: chromium:1056170
Change-Id: I7a122d1a2d20cd4e7c824d249975b4d3df30e03e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403251
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69829}
2020-09-10 22:26:25 +00:00
Almothana Athamneh
e3c5b22eeb Add "default_min_sdk_version=19" to android gn args
Bug: chromium:1126469
Change-Id: Ia05590ef2e727ce3ac810610f579f6446682e8fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403242
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69828}
2020-09-10 21:28:09 +00:00
Ng Zhi An
69c210f525 [wasm-simd][scalar-lowering] Implement i64x2 lowering
Add a bunch of lowering for I64x2 operations. This allows us to enable
most of the I64x2 tests in test-run-wasm-simd.cc.

Most of these lowering are straightforward. The load splat and load
extends need an additional operation to convert the loaded Word32 nodes
to Word64.

Bug: v8:10507
Change-Id: I6c948918c03904d2b6778223a95bb2e34b692a5e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401954
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69827}
2020-09-10 20:39:25 +00:00
Dominik Inführ
74f5213e3e [heap] Disable --stress-concurrent-allocation for tests
Tests failed from time-to-time with --stress-concurrent-allocation. So
run those tests with that flag disabled.

Bug: v8:10315
Change-Id: I8a2b9f03d7bcd8a797134510f608dffb78dd1cdf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403257
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69826}
2020-09-10 18:59:25 +00:00
Camillo Bruni
9a48abc519 [runtime][ic] Add CopyMutableHeapNumbersInObject helper
Factor out common loop for copying MutableHeapNumbers in newly copied
objects.

Bug: v8:10763
Change-Id: I6cf2fc52c9ac72253dceaba518deacfde9905a9c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402035
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69825}
2020-09-10 18:32:40 +00:00
Seth Brenith
fc2f702198 Revert "[regalloc] Loop-top values can be backedges too"
This reverts commit abb7cdc91f.

Reason for revert: regressions in jetstream2/gaussian-blur_sum

Original change's description:
> [regalloc] Loop-top values can be backedges too
> 
> When counting which backedges conflict with a loop-top phi value, we
> should include values introduced at the start of the loop.
> 
> I don't expect this change to make performance differences on its own,
> but it is a step toward changing the heuristic so that we're less likely
> to introduce unnecessary load/store pairs across the backedge.
> 
> Bug: v8:10606
> Change-Id: I299e388b0b964573119ba0b775d50f398c467c46
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2385715
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
> Cr-Commit-Position: refs/heads/master@{#69752}

TBR=sigurds@chromium.org,yolanda.chen@intel.com,seth.brenith@microsoft.com,thibaudm@chromium.org

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

Bug: v8:10606, chromium:1126663
Change-Id: Idde0b7c89f2376ae016e834fa37c38f3d9eb5c1e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404020
Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#69824}
2020-09-10 18:31:35 +00:00
Shu-yu Guo
ed50458e6f Revert "Reland "[d8] Add d8 global variable""
This reverts commit 120eb38883.

Reason for revert: Maybe perturbed GC and caused optimization test to fail: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/33042?

Original change's description:
> Reland "[d8] Add d8 global variable"
> 
> This is a reland of 6798619a69
> 
> Original change's description:
> > [d8] Add d8 global variable
> >
> > - Add a a "d8" global variable where d8 can provide helpers.
> >   This in in preparation of adding d8.log for testing our log parsers
> >   written in JavaScript.
> >
> > - Separate d8 helper creation into individual functions.
> >
> > Bug: v8:1064
> > Change-Id: I84e434452463afb93ae403f890d8841b20b00703
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400990
> > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69801}
> 
> TBR=verwaest@chromium.org
> 
> Bug: v8:1064
> Change-Id: I656d550b5ec87dc52dbe6cbbdddf7151ce25031f
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403247
> Commit-Queue: Camillo Bruni <cbruni@chromium.org>
> Reviewed-by: Mythri Alle <mythria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69819}

TBR=cbruni@chromium.org,mythria@chromium.org,verwaest@chromium.org

Change-Id: If6df69e30b097c78eb0ff2676f5e5c219edfae5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:1064
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404323
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69823}
2020-09-10 18:30:29 +00:00
Santiago Aboy Solanes
7ce5dd6e5a Reland "[compiler] Replace Symbol with direct reads"
This is a reland of d3b295fa52

Got speculatively reverted in https://crrev.com/c/v8/v8/+/2403256 but
doesn't seem to have been causing the TSAN failures

Original change's description:
> [compiler] Replace Symbol with direct reads
>
> Bug: v8:7790
> Change-Id: I49120a6349777fd992a97d697940e79b2e71dbd1
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400988
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69812}

Bug: v8:7790
Change-Id: I459f4bfc881c641258dcc46fc55fce21f9e03dec
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403921
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69822}
2020-09-10 16:49:55 +00:00
Dominik Inführ
669d466867 [heap] Check --stress-concurrent-allocation again in observer
Recheck flag in StressConcurrentAllocationObserver to allow tests
to not run the StressConcurrentAllocatorTask even though Isolate was
already initialized.

Bug: v8:10315
Change-Id: Ia683458216821c103d1ae455330ebbd32d253905
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403240
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69821}
2020-09-10 16:30:55 +00:00
Camillo Bruni
10aa375c57 [cleanup] Use LoadObjectMap and LoadObjectWithNullPrototypeMap helpers
Bug: v8:10763
Change-Id: I959661854e5b138186406d4d6fda77558200d454
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402878
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69820}
2020-09-10 16:12:25 +00:00
Camillo Bruni
120eb38883 Reland "[d8] Add d8 global variable"
This is a reland of 6798619a69

Original change's description:
> [d8] Add d8 global variable
>
> - Add a a "d8" global variable where d8 can provide helpers.
>   This in in preparation of adding d8.log for testing our log parsers
>   written in JavaScript.
>
> - Separate d8 helper creation into individual functions.
>
> Bug: v8:1064
> Change-Id: I84e434452463afb93ae403f890d8841b20b00703
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400990
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Camillo Bruni <cbruni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69801}

TBR=verwaest@chromium.org

Bug: v8:1064
Change-Id: I656d550b5ec87dc52dbe6cbbdddf7151ce25031f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403247
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69819}
2020-09-10 16:11:20 +00:00
Etienne Pierre-doray
0900e72b60 [Jobs]: Fix AcquireTaskIds memory fences.
This reflects the change made in chrome:
https://chromium-review.googlesource.com/c/chromium/src/+/2387554

I somehow thoughts that DefaultJob didn't need the fence, but
TSAN detected the same kind of failures after
9e8c54f830 started using AcquireTaskId.

Drive-by: move delegate outside the loop in Join() to avoid releasing
the task_id many times.

Change-Id: I2ab6bf1bd3eeb7a66e39f20a7e0aa61a9c1ebc44
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401964
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69818}
2020-09-10 16:10:17 +00:00
Ng Zhi An
36138affe8 Reland "[wasm-simd] Stage SIMD"
This reverts commit e8976cf93a.

Reason for revert: Mark f32x4_cmp as fail, lowering is not fully implemented yet.

Original change's description:
> Revert "[wasm-simd] Stage SIMD"
> 
> This reverts commit 1d2726dd0b.
> 
> Reason for revert: ODROID failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/15814?
> 
> Original change's description:
> > [wasm-simd] Stage SIMD
> > 
> > SIMD has been pretty stable for a while now, we are not expecting big
> > changes (like opcode renumbers), there might be new instructions added,
> > and they will all be backwards-compatible.
> > 
> > The reference interpreter in the SIMD proposal is now capable of
> > generating JS files for all test cases, so we can now run them.
> > 
> > There is a bit of tweaking necessary, since SIMD tests are in
> > tests/core/simd subfolder in the spec, so we need to change the glob
> > into a find that will traverse into subdirectory.
> > 
> > Bug: v8:10835
> > Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587
> > Commit-Queue: Zhi An Ng <zhin@chromium.org>
> > Reviewed-by: Andreas Haas <ahaas@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69793}
> 
> TBR=bbudge@chromium.org,ahaas@chromium.org,zhin@chromium.org
> 
> Change-Id: I3a90c616109ca048691d97ab45698bc15a678e18
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:10835
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402379
> Reviewed-by: Shu-yu Guo <syg@chromium.org>
> Commit-Queue: Shu-yu Guo <syg@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69794}

TBR=bbudge@chromium.org,ahaas@chromium.org,zhin@chromium.org,syg@chromium.org

# Not skipping CQ checks because this is a reland.

Bug: v8:10835
Change-Id: I3d87dd2adba6ada2ec3ebf5e13bff378a74b03e8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402386
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69817}
2020-09-10 16:04:35 +00:00
Sathya Gunasekaran
2ebe932235 Revert "[offthread] Enable off-thread finalization in --future"
This reverts commit ff0c5cfaf6.

Reason for revert: speculative revert for https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33146

Original change's description:
> [offthread] Enable off-thread finalization in --future
> 
> Enable the new LocalHeap-based off-thread finalization behind --future.
> 
> Bug: chromium:1011762
> Change-Id: I4b33fc300a34530d75aa1a3e197e0d1326994efa
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403252
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
> Auto-Submit: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69813}

TBR=ulan@chromium.org,leszeks@chromium.org,verwaest@chromium.org,dinfuehr@chromium.org

Change-Id: I76d883c69a611ae5603c5025a5f525208ca197a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1011762
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403259
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69816}
2020-09-10 15:27:48 +00:00
Sathya Gunasekaran
bc69917c32 Revert "[compiler] Replace Symbol with direct reads"
This reverts commit d3b295fa52.

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

Original change's description:
> [compiler] Replace Symbol with direct reads
> 
> Bug: v8:7790
> Change-Id: I49120a6349777fd992a97d697940e79b2e71dbd1
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400988
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69812}

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

Change-Id: I10f69213e906e9b482ce4f8456ed7d5bcb039051
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7790
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403256
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69815}
2020-09-10 14:58:57 +00:00
Manos Koukoutos
79a1468831 [wasm][wasm-gc][test] Improve and extend Javascript testing API
Changes:
- Add possibility to define and emit all reference types.
- Simplify function locals definition.
- Change 'type' to 'type_index' where appropiate.

Bug: v8:7748
Change-Id: Ie35a6204369e678298ee2ff2ec7c7793c5315c3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390144
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69814}
2020-09-10 14:32:00 +00:00
Leszek Swirski
ff0c5cfaf6 [offthread] Enable off-thread finalization in --future
Enable the new LocalHeap-based off-thread finalization behind --future.

Bug: chromium:1011762
Change-Id: I4b33fc300a34530d75aa1a3e197e0d1326994efa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403252
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69813}
2020-09-10 14:15:55 +00:00
Santiago Aboy Solanes
d3b295fa52 [compiler] Replace Symbol with direct reads
Bug: v8:7790
Change-Id: I49120a6349777fd992a97d697940e79b2e71dbd1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400988
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69812}
2020-09-10 14:13:05 +00:00
Santiago Aboy Solanes
4bb97ec877 [compiler] Replace boilerplate objects with direct reads
Namely:
 * ObjectBoilerplateDescription
 * ArrayBoilerplateDescription

Bug: v8:7790
Change-Id: I05d106b5e557604e67e0cebaef7489fa3faf3562
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398641
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69811}
2020-09-10 14:06:25 +00:00
Sathya Gunasekaran
d5cd5d2304 [turboprop] Mark test as slow
TBR: machenbach@chromium.org
Bug: v8:10894
Change-Id: Ie36e7cb3fe8e52478d96d24aab3517fbed29a817
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403250
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69810}
2020-09-10 13:54:55 +00:00
Maya Lekova
68b788caf1 Revert "Reland "cppgc, heap: Don't eagerly allocate worklist segments""
This reverts commit f25cb50a2f.

Reason for revert: Fails compilation on gcc https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20gcc%20-%20debug/9026?

Original change's description:
> Reland "cppgc, heap: Don't eagerly allocate worklist segments"
> 
> This is a reland of c99147c65e
> 
> Original change's description:
> > cppgc, heap: Don't eagerly allocate worklist segments
> >
> > Bug: chromium:1056170
> > Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254
> > Commit-Queue: Omer Katz <omerkatz@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69778}
> 
> Bug: chromium:1056170
> Change-Id: I4633da065976a6b2710d2f23b946fd2af0e65c83
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401425
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Omer Katz <omerkatz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69806}

TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org

Change-Id: I004173e2a82518a88e68eae3a6f7e96656c0ad7e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1056170
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403249
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69809}
2020-09-10 13:04:09 +00:00
Jakob Gruber
608018e557 [nci] Implement tier-up (part 3, spawn task & install)
This is the final part of the tier-up commit series. It implements:

- A prologue in NCI code objects that checks and acts upon the
optimization marker.
- Currently, handling is deferred to the InterpreterEntryTrampoline
but this will change in the future.
- The lifecycle is otherwise like Ignition-to-Turbofan; the runtime
profiler marks a function for optimization, the next call to that
function triggers optimization by calling into runtime, and the
finished code object is installed both on the JSFunction and the
optimized code cache.
- The feedback vector's kOptimizedCodeWeakOrSmiOffset slot is
currently reused for the mid-to-top tier up.

Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Bug: v8:8888
Change-Id: Iff50b05ddcc68b25d7ed0f1e0d20af076a1522a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361466
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69808}
2020-09-10 12:50:05 +00:00
Georg Neis
27f349621f [compiler] Various heap broker cleanups
- Simplify some macros.
- Simplify some handle creations.
- Make various accessors more uniform.
- Remove leftover assumptions about serialized children.

Change-Id: Iee2951065c442aba1b479a48de33f0b8e0c7b057
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402033
Commit-Queue: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69807}
2020-09-10 12:49:00 +00:00
Omer Katz
f25cb50a2f Reland "cppgc, heap: Don't eagerly allocate worklist segments"
This is a reland of c99147c65e

Original change's description:
> cppgc, heap: Don't eagerly allocate worklist segments
>
> Bug: chromium:1056170
> Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254
> Commit-Queue: Omer Katz <omerkatz@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69778}

Bug: chromium:1056170
Change-Id: I4633da065976a6b2710d2f23b946fd2af0e65c83
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401425
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69806}
2020-09-10 12:47:55 +00:00