Commit Graph

45149 Commits

Author SHA1 Message Date
Michal Majewski
9e69733b3c [test] Move shard methods to the base runner
Bug: v8:6917
Change-Id: I0b81ebfe289b459e30ad85a4a62ed244cbd20b65
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/870123
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#50657}
2018-01-17 14:29:48 +00:00
Michael Achenbach
45833d9bb8 [test] Group test features behind a single GN switch
This will switch on various testing features in sanitizer builds and
for correctness fuzzer builds.

Currently we group enabling the slow-path runtime flag and allocation
timeout for atomic gc stress, but more features could be added in the
future.

This will enable gc fuzzer, clusterfuzz and correctness fuzzer to use
both slow-path and atomic gc stress in release sanitizer builds.

Bug: v8:6972
Change-Id: I5cade68241a8a0711f8a388be7e1543aab0035fa
Reviewed-on: https://chromium-review.googlesource.com/869932
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50656}
2018-01-17 14:06:58 +00:00
Clemens Hammacher
41f231a25a [wasm] Distinguish Liftoff code from Turbofan code
For memory tracing, output a 'T' for Turbofan code and an 'L' for
Liftoff code. To do this, the WasmCodeWrapper now has some dispatch
functions which work for both on-the-heap and off-the-heap code.
We can probably refactor more code by having this mechanism.

Since the output of --wasm-trace-memory differs now between Turbofan
and Liftoff, the message test is split in two.

R=titzer@chromium.org
CC=mstarzinger@chromium.org

Bug: v8:6600
Change-Id: Ic5fd18c631f5c8aaad19d639df75b18098895b5a
Reviewed-on: https://chromium-review.googlesource.com/868214
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50655}
2018-01-17 13:59:08 +00:00
Ulan Degenbaev
342befe018 [heap, runtime] Make map.visitor_id accessor atomic.
This is a workaround for false positive race reported by TSAN.

Bug: v8:7315
Change-Id: I55712010dc5386a58b5ef7d48043e474f4b89bb9
Reviewed-on: https://chromium-review.googlesource.com/869672
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50654}
2018-01-17 13:47:58 +00:00
Michal Majewski
daed2eb723 [test] Move command from test to the result
Bug: v8:6917
Change-Id: I54f908609fadd88bb23bf9fc566d1e2f3ff5e18e
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/870353
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50653}
2018-01-17 12:59:54 +00:00
Clemens Hammacher
4dc85663cc [Liftoff] Add memory tracing support
This adds support for tracing memory operations in code compiled with
Liftoff. This is the first runtime call we emit from Liftoff code, so
part of this code can be reused for other runtime calls.

Drive-by: Reuse outer compilation zone (avoid one Zone allocation).

Bug: v8:6600, v8:7210
Change-Id: I8b22088d0685338d533d328cb371384210e0ed22
Reviewed-on: https://chromium-review.googlesource.com/864663
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50652}
2018-01-17 12:58:24 +00:00
peterwmwong
760ed28b76 [builtins] Perform stack check on entry of all TFJ builtins
Bug: v8:7239
Change-Id: I25d2926a974bdb99a45fe4df79c6a62a363f67cf
Reviewed-on: https://chromium-review.googlesource.com/867237
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Cr-Commit-Position: refs/heads/master@{#50651}
2018-01-17 12:15:24 +00:00
Michal Majewski
0bfc1b2562 [test] Do not pass unnecessary results
Bug: v8:6917
Change-Id: I1a355bdfe3f873091a7d7c32a937a533a7d8b3d4
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/867053
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50650}
2018-01-17 11:32:12 +00:00
Michal Majewski
96d06a6351 [test] Fix args parsing and name filter
Bug: v8:6917
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I14c7e0a140bfe828ee8199606db36cab12be14ff
Reviewed-on: https://chromium-review.googlesource.com/868135
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50649}
2018-01-17 10:32:12 +00:00
Michael Lippautz
b9a4690099 [object-stats] Fix dumping stats to stream
No-try: true
Bug: v8:7266
Change-Id: I4a8b8a799d08834675522e9c1dde9ff90f9fc14e
Reviewed-on: https://chromium-review.googlesource.com/870034
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50648}
2018-01-17 10:20:40 +00:00
Michal Majewski
4ac4e3581f [test] Run gc fuzzer on benchmarks test suite
Bug: v8:6917
Change-Id: I0ee15a41b6028bdbf8448f066b0bc47a049ca587
Reviewed-on: https://chromium-review.googlesource.com/868154
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#50647}
2018-01-17 09:59:15 +00:00
Michal Majewski
a6973d9fd2 [test] Add sharded system test for test processors
Bug: v8:6917
Change-Id: If9c097548a5879d693174c73e9952db7b25ef2e7
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/868437
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#50646}
2018-01-17 09:54:09 +00:00
Dan Elphick
7fc10cb961 [CSA] Fix CSArguments::PopAndReturn for SMIs
Assembler::PopAndReturn expects an Integral type so convert argc from a
SMI if necessary.

On 64-bit architectures, convert 64-bit immediate pop values into
32-bit values. This is safe since the conversion checks that nothing
was truncated.

Also change CodeStubArguments unit tests to use PopAndReturn rather
than Return.

Change-Id: I91b47d2e81dc0504d185ad59752d638b1c3135a7
Reviewed-on: https://chromium-review.googlesource.com/867052
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50645}
2018-01-17 09:47:39 +00:00
Clemens Hammacher
cb903d803e [Liftoff] Fix registers spilling
The method {SpillAllRegisters} should really just spill registers, and
not also constants. Also, since more code is inlined into that method
now, we can optimize it to update register use counters only once in
the end, since no used register should be left after executing this
method.

R=titzer@chromium.org

Bug: v8:6600, chromium:802244
Change-Id: I737a1a87f8e912151062224952c4f5dffd43f802
Reviewed-on: https://chromium-review.googlesource.com/868022
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50644}
2018-01-17 09:41:04 +00:00
Andreas Haas
5920777a04 [ia32][turbofan] Pass the slot index for the peek instruction by operand
This is the implementation of crrev.com/c/866721 for ia32.

Drive-by change: Clean up the slot index calculation.

At the moment the slot index is encoded in the opcode. This, however,
sets an upper limit the slot index which is lower than what we want to
have (i.e. < 512). With this change we pass the slot index as an
immediate operand, which does not impose limits on the value it
contains.

R=titzer@chromium.org

Change-Id: I40adf8c6e62de28f8428492db6c5297252c1e2d1
Reviewed-on: https://chromium-review.googlesource.com/864642
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50643}
2018-01-17 09:39:59 +00:00
Michal Majewski
00ac7641a6 [test] Drop starting message from indicators
Since test processors create tests dynamically we cannot simply
count how many tests will be run. Instead we count only base tests
that we've loaded, before creating variants.

Bug: v8:6917
Change-Id: Ibc5b9a73f6afad423572afa575f477ca661a99d5
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/868290
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50642}
2018-01-17 09:31:19 +00:00
Ali Ijaz Sheikh
63a338a198 [heap] schedule tasks only when enabled
Incremental marking job and concurrent marking tasks may be triggered
during heap tear down. The task scheduler may already be torn down at
this point. Avoid scheduling new tasks if tasks are disabled.

Bug: v8:7238
Change-Id: I3869a20dc8b4f38b26754872448952a9aadb6bd9
Reviewed-on: https://chromium-review.googlesource.com/868825
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Cr-Commit-Position: refs/heads/master@{#50641}
2018-01-17 09:20:39 +00:00
Marja Hölttä
9bc4e5602a [parser] Fix declaration order of "arguments" and func name.
They were in the wrong order in PreParser, which caused problem for "function
arguments() { ... }".

BUG=chromium:801772

Change-Id: Ia04c8c8c0a5d641fd1db0746dc3312c83ebcaf24
Reviewed-on: https://chromium-review.googlesource.com/865900
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50640}
2018-01-17 08:29:20 +00:00
Benedikt Meurer
56eac828d3 [cleanup] StringToNumber and NumberToString don't need a context.
These operations don't need to access per-native context data and
cannot throw exceptions.

Bug: v8:5268, v8:5269
Change-Id: Id7fdbee2b39f96717de83b3cef5ab789424f8338
Reviewed-on: https://chromium-review.googlesource.com/779142
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50639}
2018-01-17 08:14:59 +00:00
Yang Guo
1f3cdb701a Enable --build-v8-with-gn for Node.js bots.
Bug: v8:6105
Change-Id: Idfc10bdab9c69d2d5f751197e3df068406bd521a
Reviewed-on: https://chromium-review.googlesource.com/868131
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50638}
2018-01-17 07:39:58 +00:00
Qingyan Li
c090806fe8 [snapshot] fix check script_context_table
There maybe one more ScriptContext in script_context_table if mksnapshot
executed with embeded script.

R=yangguo@chromium.org

Bug: v8:7304
Change-Id: I6f431f76d4beae61a519c3acc3b856d1f7479740
Reviewed-on: https://chromium-review.googlesource.com/866630
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50637}
2018-01-17 06:46:28 +00:00
Benedikt Meurer
02dbef1489 [turbofan] Introduce NumberToString operator.
This adds a new simplified operator NumberToString, which just lowers to
a call to the NumberToString builtin, and hooks that up to the typed
lowering (addressing a long-standing TODO).

Drive-by-fix: Also remove the %NumberToString runtime entry, and just
always use the %NumberToStringSkipCache entry from CSA, since we only
go there if the cache lookup already failed.

Bug: v8:5267, v8:7109
Change-Id: I5ca698c98679653813088a404f1fd38903a73c0e
Reviewed-on: https://chromium-review.googlesource.com/779099
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50636}
2018-01-17 06:30:08 +00:00
v8-autoroll
6505d9b5c8 Update V8 DEPS.
Rolling v8/build: cd91c99..b3a78cd

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/7854862..b4826a5

Rolling v8/third_party/icu: f3d25bc..c8ca296

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I0f5539c41e801702608498b2b1ef943bd3653cc6
Reviewed-on: https://chromium-review.googlesource.com/869392
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50635}
2018-01-17 04:51:38 +00:00
jing.bao
34ae77e053 [ia32][wasm] Add F32x4 Abs/Neg
Also refine SSES128Not

Change-Id: Ifb34055ed673e1a0f5842e99b10547b834b0d9d6
Reviewed-on: https://chromium-review.googlesource.com/867520
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Jing Bao <jing.bao@intel.com>
Cr-Commit-Position: refs/heads/master@{#50634}
2018-01-17 01:38:37 +00:00
Adam Klein
ab943ce571 [cleanup] Enforce end_token type in ParseStatementList
Change-Id: I1e386dd23e8e485c670cd31a09ceffe6a75e26c8
Reviewed-on: https://chromium-review.googlesource.com/869115
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50633}
2018-01-17 00:05:57 +00:00
Karl Schimpf
1607614a91 [wasm] Add more saturating float to int conversions
Adds I32UConvertF32, I32SConvertF64, and I32UConvertF64 instructions.

Refactors code to use templates where appropriate, and to use
previously committed template function is_inbounds() when appropriate
in tests.

Bug: v8:7226
Change-Id: I2701e5fd0b21cefa1f285677f20616cfde29ab0d
Reviewed-on: https://chromium-review.googlesource.com/862609
Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50632}
2018-01-16 21:47:08 +00:00
Adam Klein
25b2116770 [api] Advance deprecation for several APIs not called by Chromium
Bug: v8:7269, v8:7276, v8:7291, v8:7297, v8:7298
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I20770e049171db158973fab7bc58eb819fe2371c
Reviewed-on: https://chromium-review.googlesource.com/865797
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50631}
2018-01-16 21:01:58 +00:00
Mostyn Bramley-Moore
bf4b5b9f66 [jumbo] add namespaces to avoid CreateDescriptorForStackArguments collision
Bug: chromium:798964
Change-Id: If88093cc1f1c1793be570f37604a03d427821821
Reviewed-on: https://chromium-review.googlesource.com/868159
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Cr-Commit-Position: refs/heads/master@{#50630}
2018-01-16 20:56:28 +00:00
Michael Lippautz
fa8c68348e [object-stats] Cateogrize a few more instance types
No-try: true
Bug: v8:7266
Change-Id: I3e0d95d7c59577941e1154e21949b2714f56f652
Reviewed-on: https://chromium-review.googlesource.com/868292
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50629}
2018-01-16 20:29:58 +00:00
Junliang Yan
163fe17c76 Change RelocInfo to use constant_pool_ variable instread of host_
R=titzer@chromium.org, mstarzinger@chromium.org, joransiu@ca.ibm.com, jbarboza@ca.ibm.com

Bug: 
Change-Id: Ie7424ed26464574470ce5ae4184092cf46920da9
Reviewed-on: https://chromium-review.googlesource.com/867550
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#50628}
2018-01-16 20:03:28 +00:00
Ben L. Titzer
3b64a340c7 [wasm] grow_memory(0) should detach the underlying ArrayBuffer
The WebAssembly JS API specification [1] covers the JS-visible side-effects
of executing a grow_memory operation and states that a successful
grow operation should always detach any prior array buffer.

[1] https://github.com/WebAssembly/spec/blob/master/document/js-api/index.bs

R=mstarzinger@chromium.org,gdeepti@chromium.org

Bug: 
Change-Id: Ib9232e01209ba546c0bba1c9408c92da60ff6d92
Reviewed-on: https://chromium-review.googlesource.com/860011
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50627}
2018-01-16 19:07:59 +00:00
Michael Starzinger
4a1a6e288e [test] Fix usages of std::array initializer lists.
R=clemensh@chromium.org

Change-Id: I49ca12fc882dd19eb26b60ed64a36b023a836702
Reviewed-on: https://chromium-review.googlesource.com/868294
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50626}
2018-01-16 17:14:29 +00:00
Michael Achenbach
6c72df9ed0 Reland "[test] Add test runner system tests for flaky tests"
This is a reland of 96f5579669
Original change's description:
> [test] Add test runner system tests for flaky tests
>
> This uses a temporary file in the mocked d8 script to let d8 flip
> between FAIL and PASS on rerun.
>
> This adds a separate test root with dedicated test suite for testing
> flakes to no interfere with existing status file configs.
>
> NOTRY=true
>
> Bug: v8:6917
> Change-Id: Id43753650195fb74cceb2a3ee9014100cabad546
> Reviewed-on: https://chromium-review.googlesource.com/867917
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50621}

TBR=sergiyb@chromium.org
NOTRY=true

Bug: v8:6917
Change-Id: I4e7bca272dfd8778fbb8d012fcd6fd8406158e43
Reviewed-on: https://chromium-review.googlesource.com/868433
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50625}
2018-01-16 15:01:56 +00:00
Michael Achenbach
bc130d803c Revert "[test] Add test runner system tests for flaky tests"
This reverts commit 96f5579669.

Reason for revert: breaks CI presubmit:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20presubmit/builds/22115

Original change's description:
> [test] Add test runner system tests for flaky tests
> 
> This uses a temporary file in the mocked d8 script to let d8 flip
> between FAIL and PASS on rerun.
> 
> This adds a separate test root with dedicated test suite for testing
> flakes to no interfere with existing status file configs.
> 
> NOTRY=true
> 
> Bug: v8:6917
> Change-Id: Id43753650195fb74cceb2a3ee9014100cabad546
> Reviewed-on: https://chromium-review.googlesource.com/867917
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#50621}

TBR=machenbach@chromium.org,sergiyb@chromium.org,majeski@google.com

Change-Id: I103bf8f0e926a3f56921f14bdd7e875ce839ea71
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:6917
Reviewed-on: https://chromium-review.googlesource.com/868530
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50624}
2018-01-16 14:39:30 +00:00
Clemens Hammacher
553e70b9b2 [wasm] Merge function table and signature table
Both tables are always updated together and are always accessed
together. Thus merge them, reducing code complexity, but also code
space and overhead for accessing them during runtime. Instead of two
weak global handles, we only need one, which also means one less load
for each indirect call.
Merging them also improves cache locality, since signature and code
address are not stored next to each other in memory, so they will very
likely end up in the same cache line.

R=titzer@chromium.org

Change-Id: I862df7de93a98aa602a3895796610c2c520d6f21
Reviewed-on: https://chromium-review.googlesource.com/866868
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50623}
2018-01-16 14:34:59 +00:00
Michael Lippautz
0dddc6fd46 [object-stats] Add reader for Chrome's trace file format
Allows reading GC object stats data from an unpacked Chrome trace file.

No-try: true
Bug: v8:7266
Change-Id: I1b851a5b9c5937bd80ae08129d3daee8b4397500
Reviewed-on: https://chromium-review.googlesource.com/868211
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50622}
2018-01-16 14:30:59 +00:00
Michael Achenbach
96f5579669 [test] Add test runner system tests for flaky tests
This uses a temporary file in the mocked d8 script to let d8 flip
between FAIL and PASS on rerun.

This adds a separate test root with dedicated test suite for testing
flakes to no interfere with existing status file configs.

NOTRY=true

Bug: v8:6917
Change-Id: Id43753650195fb74cceb2a3ee9014100cabad546
Reviewed-on: https://chromium-review.googlesource.com/867917
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50621}
2018-01-16 14:25:39 +00:00
Mike Stanton
fb922b1764 [TurboFan] Allow unreliable maps in array builtins
We don't currently inline array builtins if we detect any side effects
between the load of the receiver map and the call to the builtin.
The introduction of a map check allows us to be more permissive.

Bug: v8:7250
Change-Id: I6b3f9243f6506eff45c0d727c47a7e8cb8765640
Reviewed-on: https://chromium-review.googlesource.com/849005
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50620}
2018-01-16 14:01:29 +00:00
Qingyan Li
820211cc90 [snapshot] reset JSConstructStub to conform runtime flag
R=yangguo@chromium.org

Bug: v8:7305, v8:5536
Change-Id: I4750cf392dd60880e75e187a9091f62f9292ffe2
Reviewed-on: https://chromium-review.googlesource.com/866631
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50619}
2018-01-16 13:02:51 +00:00
Qingyan Li
473d747dbe [snapshot]: Fix missing Cast in {Private, Signature, AccessorSignature}
R=yangguo@chromium.org

Bug: v8:7306
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I40037ebb66a856b52454c50d17b4c8a51aab7a84
Reviewed-on: https://chromium-review.googlesource.com/866215
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50618}
2018-01-16 12:07:41 +00:00
Choongwoo Han
3a4f3b73e2 Reland "Optimize TypedArraySpeciesCreate using SpeciesProtector of Array"
If there is no constructor or species updates on Array or TypedArrays,
then skip lookups of constructor and species so that we can create a new
typed array quickly. This path makes TA.p.slice() 2x faster in fast
cases.


Bug: chromium:800356, v8:7161
Change-Id: Ied8c90e23ca6708f4a3cec077c1fd733e4a6609e
Reviewed-on: https://chromium-review.googlesource.com/859397
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50617}
2018-01-16 11:55:32 +00:00
Yang Guo
1a0cc926ba [tools] return early in fetch_deps.py.
TBR=machenbach@chromium.org

Bug: v8:6105
Change-Id: I15fe26c8546e024794c165affd17ce104ecae4a1
Reviewed-on: https://chromium-review.googlesource.com/867870
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50616}
2018-01-16 11:34:44 +00:00
Michal Majewski
d53c4aa065 [test] Implement shard processor
Bug: v8:6917
Change-Id: I5b77e7445ca3a8eb5692659e94d3b8266479b415
Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/866866
Commit-Queue: Michał Majewski <majeski@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50615}
2018-01-16 11:33:03 +00:00
Mythri
22f2ef8f14 Add full code cache option to d8 shell.
Adds --cache=full-code-cache option to the d8 shell. Also cleanup
d8.cc to not use ProduceCodeCache and ProduceFullCodeCache options
from d8.

Bug: v8:7302
Change-Id: Ie2c25d6b1d85588f70b000ba72d6d6b19ecb61b6
Reviewed-on: https://chromium-review.googlesource.com/867033
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50614}
2018-01-16 10:55:03 +00:00
Martyn Capewell
7f6355cf6d [arm64] Remove remains of jssp
Remove remaining references to jssp, and return register to the allocator.

Bug: v8:6644
Change-Id: Ia6938e6c9548cd45d8c9c12032920b32d3da3c4c
Reviewed-on: https://chromium-review.googlesource.com/866747
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#50613}
2018-01-16 10:45:13 +00:00
Yang Guo
d8a965a07c [tools] tools/node/fetch_deps.py returns False.
This will act as a switch so that we can enable Node.js GN builds
via V8 change.

R=machenbach@chromium.org

Bug: v8:6105
Change-Id: Ie786a4dad7f53e4bbf7d8830bb72b1f8031cee12
Reviewed-on: https://chromium-review.googlesource.com/866839
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50612}
2018-01-16 10:34:23 +00:00
Clemens Hammacher
6b909391fc [cleanup] Refactor CSignature helper
The implementation can be greatly simplified by using variadic
templates.

R=mstarzinger@chromium.org

Change-Id: I8dbeea3d570bf0fac83109f334c48dbe39aaa853
Reviewed-on: https://chromium-review.googlesource.com/859785
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50611}
2018-01-16 10:01:13 +00:00
Hannes Payer
e97daee2e5 [heap] Register executable MemoryChunks.
Bug: chromium:774108,v8:6792
Change-Id: If0ff62b959b74b7be4e00b04d7a734ab95b8ecb6
Reviewed-on: https://chromium-review.googlesource.com/867040
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50610}
2018-01-16 09:56:03 +00:00
Clemens Hammacher
852bdba4bf [wasm] Add constants for dispatch table entries
This is a cleanup to replace some magic numbers by proper constants.

R=titzer@chromium.org

Change-Id: I549afc9688f22dd70adeb57746f6ff9ba509092c
Reviewed-on: https://chromium-review.googlesource.com/866733
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50609}
2018-01-16 09:44:13 +00:00
Ben L. Titzer
19ce4fc96d [compiler] Add kRetpoline CallDescriptor flag and codegen
This CL adds support for the "retpoline" construction on x64
https://support.google.com/faqs/answer/7625886
which protects against speculative execution of indirect calls.

R=mstarzinger@chromium.org,jarin@chromium.org
CC=eholk@chromium.org

Bug: chromium:798964
Change-Id: I2aa5ab9a62dac53c67061378a0bc9cd2026ca7a2
Reviewed-on: https://chromium-review.googlesource.com/867063
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50608}
2018-01-16 09:35:03 +00:00