Commit Graph

51864 Commits

Author SHA1 Message Date
Frank Tang
76b35ebe05 [Intl] Change fail tests on Android.
Split the case of 'ar-SA' into
test/intl/regress-8432.js

Bug: v8:8432, v8:8413
Change-Id: I6a0e3040b132be6620649c7b7aa5fdd2e0f07053
Cq-Include-Trybots: luci.v8.try:v8_android_arm64_n5x_rel_ng_triggered
Reviewed-on: https://chromium-review.googlesource.com/c/1324574
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57372}
2018-11-08 21:51:07 +00:00
Sergiy Byelozyorov
c6e09003be [tools] Add verbose mode to try_perf.py
This is useful to see exact command used to communicate with buildbucket and
debug any triggering issues.

R=machenbach@chromium.org

Change-Id: I1630485ed128f757364d9c1f62b7f1d663db2ece
Reviewed-on: https://chromium-review.googlesource.com/c/1325371
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57371}
2018-11-08 21:20:26 +00:00
Yutaka Hirano
e2f0a90ec6 Introduce Promise::MarkAsHandled
We are migrating streams implementation from JavaScript (v8Extra) to
C++. One of missing features is an ability to set
promise.[[PromiseIsHandled]] to true, used for example in
https://streams.spec.whatwg.org/#rs-pipe-through. This CL introduces
the feature.

Bug: chromium:894357, chromium:888154, chromium:902633
Change-Id: If6487b29a74a212761e6d2ef04ef3ca0e6957dce
Reviewed-on: https://chromium-review.googlesource.com/c/1322296
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57370}
2018-11-08 21:18:36 +00:00
Jakob Kummerow
a6ab4e006c [bigint] Fix harmless DCHECK failure
Behavior in Release mode was correct; Debug mode triggered a DCHECK
failure that indicated an inefficiency: when a requested truncation
would be a no-op, we should return the original BigInt, rather than
creating a copy. In the special case of -2^(n-1), i.e. the smallest
negative n-bit integer, getting truncated to n bits, with n being a
multiple of kDigitBits, this shortcut was not taken.

Bug: v8:8426
Change-Id: I8e4595d9ac0dbef81aae06688f9a9636bd2d9cd9
Reviewed-on: https://chromium-review.googlesource.com/c/1325029
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57369}
2018-11-08 20:06:36 +00:00
Caitlin Potter
3e010af274 [CloneObjectIC] clone MutableHeapNumbers only if !FLAG_unbox_double_fields
Change the macros added in bf84766a2c to
only do the hard work if FLAG_unbox_double_fields is unset (otherwise,
they will attempt to dereference raw float64s, which is bad!)

Also adds a write barrier in CopyPropertyArrayValues for each store if
it's possible that a MutableHeapNumber is cloned.

BUG=chromium:901301, chromium:902965, chromium:903070, v8:7611
R=cbruni@chromium.org, jkummerow@chromium.org, ishell@chromium.org

Change-Id: I224d3c4e7b0a887684bff68985b4d97021ba4cfb
Reviewed-on: https://chromium-review.googlesource.com/c/1323911
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57368}
2018-11-08 19:14:11 +00:00
Frank Tang
dbbc38866a [Intl] Ship Intl.ListFormat
Bug: v8:7871
Change-Id: I287f4a365b5e1443652131e97bcd149f9e6fd623
Reviewed-on: https://chromium-review.googlesource.com/c/1324491
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57367}
2018-11-08 19:12:19 +00:00
Michael Starzinger
d540724b99 [cleanup] Remove unused heap-symbols and add tool.
R=clemensh@chromium.org
BUG=v8:8238

Change-Id: I03454ced41da35be9d389d843026ed5c0f7131fe
Reviewed-on: https://chromium-review.googlesource.com/c/1326465
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57366}
2018-11-08 17:57:05 +00:00
Igor Sheludko
82fce0fc6b [heap] Be more precise when calculating allocated memory
The rounding error occured in VirtualMemory class when the provided page
allocator had bigger allocation page size than the commit page size and
the VirtualMemory was requested to reserve an area of a size aligned only
to commit page size.

Bug: v8:8096
Change-Id: Ifb9b7fe5797881408d1bb9e95073991a42b62e80
Reviewed-on: https://chromium-review.googlesource.com/c/1327041
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57365}
2018-11-08 17:42:56 +00:00
Toon Verwaest
03746eee69 [parser] Cleanup ParseAssignmentExpression
- Mark arrow functions the uncommon assignment case
- arrow formal parameter productions are ignored by default already
- avoid duplicate is_destructuring_assignment branch
- immediately pass expected productions into Accumulate

Change-Id: Ifaeece53a1d6b99999ea298518702e82bc20db73
Reviewed-on: https://chromium-review.googlesource.com/c/1326941
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57364}
2018-11-08 17:29:19 +00:00
Clemens Hammacher
e4a11fcfa5 Turn TryAbortResult into enum class
It's too easy to implicitly cast it to bool, as we did in several tests.
Also, move TryAbortResult out of CancelableTaskManager to avoid too much
typing when referencing one of the enum values.

R=mstarzinger@chromium.org

Bug: v8:8238
Change-Id: Ia3fa8597428876217bc86f9b8b31c21ae4846fa1
Reviewed-on: https://chromium-review.googlesource.com/c/1326027
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57363}
2018-11-08 17:17:05 +00:00
Toon Verwaest
701136f9ae [parser] Move rest parameter handling out of ExpressionCoverGrammar
This allows the main ExpressionCoverGrammar parsing to be a little tighter.

Change-Id: I45e3d1a9a647a98ffe1ad9969cb1ffbe47f67f1c
Reviewed-on: https://chromium-review.googlesource.com/c/1326468
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57362}
2018-11-08 16:51:53 +00:00
Toon Verwaest
7537b0016f [parser] Classify invalid parenthesized arrow params where we parse them
We only use arrow_formal_parameters_error to find that the parentheses aren't
nested. E.g., (()) isn't valid. We can immediately classify those errors if
) (matching either "(" or "async(") isn't followed by =>.

The individual parameters are verified by making sure that they are valid
binding patterns with valid initializers.

Change-Id: I5f86d9896a4fa42d1ae436ced8bf2d4bd2b02c82
Reviewed-on: https://chromium-review.googlesource.com/c/1326023
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57361}
2018-11-08 15:27:46 +00:00
Yang Guo
88f8fe19a8 Fix collection iterator preview with deleted entries
We used to assume that we know the remaining entries returned by the
iterator based on the current index. However, that is not accurate,
since entries skipped by the current index could be deleted.

In the new approach, we allocate conservatively and shrink the result.

R=neis@chromium.org

Bug: v8:8433
Change-Id: I38a3004dc3af292daabb454bb76f38d65ef437e8
Reviewed-on: https://chromium-review.googlesource.com/c/1325966
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57360}
2018-11-08 15:07:02 +00:00
Yang Guo
b208c4599d [ignition] use std::vector for eager inner literals list
The lifetime of this list is fairly simple to reason about. There
is no need to allocate it into the zone.

R=leszeks@chromium.org

Change-Id: I9c918f7e5fddc24c943206aa82be859f27acc2fe
Reviewed-on: https://chromium-review.googlesource.com/c/1325610
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57359}
2018-11-08 15:04:15 +00:00
Leszek Swirski
36e1e46016 [parser] Fix off-by-one in parameter count check
Bug: chromium:902610
Change-Id: I4675e3089a09ee75aa81ba2958f30a17621a537e
Reviewed-on: https://chromium-review.googlesource.com/c/1326029
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57358}
2018-11-08 14:52:30 +00:00
Toon Verwaest
5bf9e470f8 [parser] Fix cover-grammar initializer positions
Since we use a ScopedPtrList to track cover grammar expressions we don't know
the position of the commas anymore. The position of the commas was used to
demark the initializer, which is needed to figure out whether we need hole
checks for variable references. (Typically only references within the
initializer need hole checks for the initialized variable.) Since we didn't
have the comma position, we simply used the position of the first expression as
the position of any subsequent comma, which would make it seem as if the
initializer body wasn't in the initializer. Now instead we simply use the
position of the subsequent parameter as the end of the initializer, which is
close enough.

Bug: chromium:902810
Change-Id: I8d2bc7a2dc9f59db16ce56ccef01e263a18a3b7a
Reviewed-on: https://chromium-review.googlesource.com/c/1326022
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57357}
2018-11-08 14:42:35 +00:00
v8-ci-autoroll-builder
42dcc3ccc2 Update test262.
Rolling v8/test/test262/data: d9d9839..0475c12

TBR=adamk@chromium.org,gsathya@chromium.org

Change-Id: I3d996306614cbf80a24c9dfc4f320ad551fd0b84
Reviewed-on: https://chromium-review.googlesource.com/c/1326365
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@{#57356}
2018-11-08 14:39:02 +00:00
Sigurd Schneider
a43ba7dace [turbolizer] Add tabs to left and right pane
Notry: true
Bug: v8:7327
Change-Id: I5192891c85da12638e036b605713264d0e59aedc
Reviewed-on: https://chromium-review.googlesource.com/c/1324490
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57355}
2018-11-08 14:00:01 +00:00
Igor Sheludko
6d692dbb2d [ptr-compr][x64] Implement decompression snippets for x64
Currently, in debug mode the snippets check the result of decompression equals
to the full value stored in the field.

Bug: v8:7703
Change-Id: I0caa7fdaa7d346612084706ed96a4330fcb0c236
Reviewed-on: https://chromium-review.googlesource.com/c/1319575
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57354}
2018-11-08 13:50:20 +00:00
Sigurd Schneider
e15e42487a [turbolizer] Make resizing easier to use
Increase width of resizers and clean up CSS.

Drive-by: Add hot recompile watch command. Run
  npm run-script watch
and rollup will recompile on file changes.

Notry: true
Bug: v8:7327
Change-Id: If24e18049ff565a7584b5cca9c64431e4ac03f77
Reviewed-on: https://chromium-review.googlesource.com/c/1320852
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57353}
2018-11-08 13:35:37 +00:00
Clemens Hammacher
61ddc8d29a [wasm] Introduce CompilationStateImpl::callback_t
Introduce a typedef to avoid repeating the function definition multiple
times.

R=ahaas@chromium.org

Change-Id: I9d8a2a9b663f86ce0f6e21edf6d4a6d5ae450efc
Reviewed-on: https://chromium-review.googlesource.com/c/1325963
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57352}
2018-11-08 11:39:44 +00:00
George Wort
043acfaf12 [arm] Alter disasm-arm to print a fixed size address
Change-Id: I7079a0460fcb8f9b818c97125ab11f6168c3a28d
Reviewed-on: https://chromium-review.googlesource.com/c/1323731
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57351}
2018-11-08 11:38:11 +00:00
Leszek Swirski
7412593920 [ignition] More accurate dead statement elision
The Ignition statement list visitor will skip the rest of the
statements in the list if it hits a jump statement (like a return
or break), as the rest of the code in the list can be considered
dead.

    return;
    dead_call(); // skipped

However, since this is at an AST node level, it does not take into
account condition shortcutting:

    if(2.2) return;
    dead_call(); // not skipped

There is also a second dead code elimination in Ignition compilation, at
the bytecode array writer level, where a bytecodes are not emitted if an
"exit" bytecode (Return, Jump, or a few others) has been written, until
the next basic block starts (i.e. a Bind).

This can cause an issue with statements that resurrect the bytecode
array writer part-way through their visit. An example is try-catch
statements, which save the context to a register, and then Bind to start
the try region.

For the case:

    if (2.2) return;
    try {     // try statement not skipped
        ...
    }

the bytecode writer is called with

    OutputReturn()             // exit bytecode seen
    OutputMove(<context>, r1)  // not emitted
    Bind(&try_begin)           // starts new basic block
    // try body

So, the try is emitted, but without saving the context to a register.
This means that the liveness analysis sees the read of that register
(as the output liveness of throwing bytecodes), but does not have a
write to the register, which means that the liveness escapes.

This patch fixes this by using the bytecode array writer dead-code
elimination (i.e. "exit bytecode seen") to inform the statement list
visitor, so that in this example the try statement is not visited at
all.

Bug: chromium:902395
Change-Id: Ieb8e46a4318df3edbac0ae17235e0ce8fba12ee3
Reviewed-on: https://chromium-review.googlesource.com/c/1322951
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57350}
2018-11-08 10:48:09 +00:00
Jaroslav Sevcik
60c0edc08c [interpreter] Store CreateObjectLiteral's result into the accumulator.
As opposed to the register.

For subtle reasons, this fixes a deoptimizer bug with handling return
values in lazy deopt. Since the return values can now only overwrite
the accumulator, there is no danger of overwriting a captured object
that might be later used (since there is no "later").

Bug: chromium:902608
Change-Id: I3a7a10bb1c7a6f4303a01d60f80680afcb7bc942
Reviewed-on: https://chromium-review.googlesource.com/c/1325901
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57349}
2018-11-08 10:31:45 +00:00
Yang Guo
ec55cc0f6f Fix test expectations for compiler peak memory
TBR=machenbach@chromium.org

Bug: chromium:901329
Change-Id: Id9bc01e7e49c90ac3b5bca88abba53a38a1b0d80
Reviewed-on: https://chromium-review.googlesource.com/c/1326021
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@{#57348}
2018-11-08 09:37:13 +00:00
Marja Hölttä
80dd5e62dc [js weak refs] Implement spec change: cleanup must be callable
See https://github.com/tc39/proposal-weakrefs/issues/37

Drive-by: fix error messages.

BUG=v8:8179

Change-Id: I8608d09ec5a58c8b62eea4580be9415f6bb41586
Reviewed-on: https://chromium-review.googlesource.com/c/1319758
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57347}
2018-11-08 09:24:57 +00:00
Ivica Bogosavljevic
20affe107e MIPS64: Fix [ptr-compr] Make cleared weak reference value pointer compression friendly
Fix 4001f86afa

Change-Id: I8392c1c6c279b51c64d1052992d836939c84ec55
Reviewed-on: https://chromium-review.googlesource.com/c/1325377
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#57346}
2018-11-08 09:19:09 +00:00
Georg Neis
a724a3a334 [turbofan] Don't distinguish between weakly and strongly held feedback.
Also brokerize a few things along the way.

Bug: v8:7790
Change-Id: I40d8175fd1c86901af3d128f0d0a1e29e56723d9
Reviewed-on: https://chromium-review.googlesource.com/c/1319751
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57345}
2018-11-08 09:07:06 +00:00
Jaroslav Sevcik
52c1a368d7 [constant-tracking] Make class boilerplate work with CFT.
This is a hacky approach to make constant field tracking somewhat
friendly to class boilerplates - if the class boilerplate has
an on-descriptor-data field, we change the field to be
an on-instance-const-field and store it on the instance.

Bug: v8:8361
Change-Id: I5152041363bcd26568669fee93c91ff362ba8de9
Reviewed-on: https://chromium-review.googlesource.com/c/1319869
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57344}
2018-11-08 09:01:36 +00:00
Georg Neis
f460315719 Allow code-dependency changes in OptimizedCompilationJob::FinalizeJob
Installation of the PrototypePropertyDependency, as well as GC, can
invalidate dependencies.

Bug: chromium:902552
Change-Id: Iabcce026c7475c722d19ac0b80758b22d9fbcfda
Reviewed-on: https://chromium-review.googlesource.com/c/1322450
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57343}
2018-11-08 08:46:44 +00:00
Jakob Gruber
5af64b6d7b [csa] Fully initialize elements for large JSArray allocations
This fixes an issue introduced in https://crrev.com/c/1301483.

The JSArray allocation could trigger GC and thus elements must be
fully initialized.

Bug: v8:8429,chromium:890599
Change-Id: I7bfa1728c1dde7fc880063e095413163b13be2d5
Reviewed-on: https://chromium-review.googlesource.com/c/1322955
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57342}
2018-11-08 07:48:58 +00:00
Frank Tang
30a350f298 [Intl] Clean up icu include and #ifdef
Requires ICU 63 or above be used when building v8
1. Remove unneeded #include of icu header files
2. Remove code inside "#if U_ICU_VERSION_MAJOR_NUM < x"
block where x is 63 or smaller.



Bug: v8:8401 v8:5751
Change-Id: I908b0d7d174df53d4296580fe7150417322b0b21
Reviewed-on: https://chromium-review.googlesource.com/c/1314112
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57341}
2018-11-08 07:40:42 +00:00
Yang Guo
0a7e08ef26 [compiler] finalize compile jobs asap when compiling on main thread
Previously, we finalize all compile jobs at once. This keeps the zone memory
in every compile job alive until the end. This contributes to a high peak
memory when many functions are compiled eagerly, for example when producing
cache data for the ServiceWorker cache.

Memory tracked by the AccountingAllocator in bytes, prior to this change in
the test case:
peak memory after init:              8192
peak memory after lazy compile:     41200
peak memory after lazy compile:     41200
peak memory after eager compile:   164256

With this change, if we are compiling on the main thread, we finalize every
compile job as soon as it is done and dispose the compile job and its zone
memory.

After this change:
peak memory after init:              8192
peak memory after lazy compile:     41200
peak memory after lazy compile:     41200
peak memory after eager compile:    41376

R=leszeks@chromium.org, rmcilroy@chromium.org

Bug: chromium:901329
Change-Id: Iae0c89396c89692c4ecdeec3970d3c62031d2bce
Reviewed-on: https://chromium-review.googlesource.com/c/1322949
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57340}
2018-11-08 07:29:15 +00:00
v8-ci-autoroll-builder
54ba9dee35 Update V8 DEPS.
Rolling v8/build: 9f8abf9..cae006c

Rolling v8/test/wasm-js/data: a56cf2e..5aaea96

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/2e722b0..1a1b38d

Rolling v8/third_party/depot_tools: 6d6e0a8..75fa855

Rolling v8/third_party/fuchsia-sdk: 29de0c2..ac40df8

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

Change-Id: Ifcd163c5757f69ea900548da5e315c07a76e1cb8
Reviewed-on: https://chromium-review.googlesource.com/c/1325372
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@{#57339}
2018-11-08 03:44:26 +00:00
Sergiy Byelozyorov
858068bf56 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:902428
Change-Id: If261edaa4d5ebd2a8635cdc76870c8e4ac4194dd
Reviewed-on: https://chromium-review.googlesource.com/c/1325609
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57338}
2018-11-08 03:01:34 +00:00
Adam Klein
78ed750448 [intl] Don't run exhaustive regression tests on tsan variants
Bug: v8:8413
Change-Id: I8dffebd92b3d2ce85deb31b48cbefb1dd2390481
Reviewed-on: https://chromium-review.googlesource.com/c/1325049
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57337}
2018-11-07 23:44:24 +00:00
Sergiy Byelozyorov
a77ec15f59 [tools] Trigger v8_linux64_atom_perf_try on swarming
R=machenbach@chromium.org

Bug: chromium:902428
Change-Id: Id9a727d83c2a69e4ffd20e761c274cba2c75404a
Reviewed-on: https://chromium-review.googlesource.com/c/1320889
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57336}
2018-11-07 23:40:57 +00:00
Adam Klein
31116ca306 [mjsunit] Make an Array#join regression test 8x faster
regress-336820 is testing that joining a very sparse
array to create a too-big string results in a RangeError,
rather than a crash. Reducing the largest index by
two orders of magnitude speeds this up (on x64 debug)
by 8x (from 8 seconds down to 1). Given that this test
takes nearly 9 minutes on arm64 sim debug, I hope to
see big ones there too.

Bug: v8:7783, chromium:336820
Change-Id: I74c22cf451a892eb039efc7f1259152921bf8530
Reviewed-on: https://chromium-review.googlesource.com/c/1323915
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57335}
2018-11-07 22:13:38 +00:00
Sergiy Byelozyorov
af0af95c21 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:902428
Change-Id: I0781753b1a9488e091ec70b1f3601d912f3eafa6
Reviewed-on: https://chromium-review.googlesource.com/c/1324489
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57334}
2018-11-07 21:16:45 +00:00
Junliang Yan
c861695357 PPC/s390: Reland "[wasm-simd] Implement remaining I8x16 SIMD ops on x64"
Port 4f6ba3852b

Original Commit Message:

    This is a reland of de88bfb270

    Original change's description:
    > [wasm-simd] Implement remaining I8x16 SIMD ops on x64
    >
    >  - Implementation for I8x16 Shifts, and Mul
    >  - Fix convert bug
    >  - Enable all tests except for shuffle tests
    >
    > Change-Id: Id1a469d2883c30ea782c51d21dc462d211f94420
    > Reviewed-on: https://chromium-review.googlesource.com/c/1318609
    > Reviewed-by: Bill Budge <bbudge@chromium.org>
    > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#57254}

R=gdeepti@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: I18980c8844a3e859b4ca3f2181de9f337bfb9698
Reviewed-on: https://chromium-review.googlesource.com/c/1324269
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57333}
2018-11-07 21:15:35 +00:00
Mathias Bynens
bd90821446 Roll Test262
The goal is to roll in my upstream patch [1] which speeds up some of the
slowest tests. The impact is especially noticeable on the builder named
“V8 Linux - arm64 - sim - debug”.

Before [2]:

08:57:047 test262/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u *
08:56:265 test262/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u *
08:53:736 test262/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u *
08:26:101 test262/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u *
06:57:767 test262/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u *
05:04:746 test262/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u *
01:46:609 test262/built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-1 *
[…other unrelated tests…]

After [3]:

01:46:630 test262/built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-1 *
[…other unrelated tests…]

That is, tests that previously took almost 9 minutes to run now don’t even
show up in the list of slowest tests anymore.

[1] https://github.com/tc39/test262/pull/1927
[2] https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8930575270954225344/+/steps/Test262_-_no_variants/0/logs/durations/0
[3] https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8930489323837575408/+/steps/Test262_-_no_variants/0/logs/durations/0

Bug: v8:7834
Change-Id: I1d0cea3b64223f7b0ec89c46235632855b8c7eee
Reviewed-on: https://chromium-review.googlesource.com/c/1323733
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57332}
2018-11-07 21:05:44 +00:00
Sergiy Byelozyorov
27eeb20e34 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:902428
Change-Id: I8cc2927a9a55f534753a499e2687e0d35cb21cf0
Reviewed-on: https://chromium-review.googlesource.com/c/1324270
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57331}
2018-11-07 20:57:03 +00:00
Adam Klein
33d9c49de3 [intl] Add failure expectations for some Intl tests on Android
The set of locales available there seems different from what
the tests expect.

Tbr: ftang@chromium.org
Bug: v8:8413
Change-Id: Icd4a072d1a7199772b7713485a558c5db54fc30d
Reviewed-on: https://chromium-review.googlesource.com/c/1323914
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57330}
2018-11-07 20:20:10 +00:00
Sergiy Byelozyorov
b13f266428 [tools] Remove support for Haswell trybots
R=machenbach@chromium.org

Bug: chromium:616879
Change-Id: I78a204d3620a1ea28bfd93f019b122f2186f009b
Reviewed-on: https://chromium-review.googlesource.com/c/1323909
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57329}
2018-11-07 20:08:36 +00:00
Igor Sheludko
f17b0d2676 [gm.py] Allow arbitrary mode suffixes
which will allow gm to work for more directories than just [<arch>].[<mode>]:
  gm.py ia32.release-nosnap.check
  gm.py x64.optdebug-ptr-compr cctest unittests

Basically the new usage is:
  gm.py [<arch>].[<mode>[-<suffix>]].[<target>] [testname...]

Once default gn configuration is created based on <arch> and <mode> the script user
may change it and then use gm as usual.

Bug: v8:8238
Change-Id: I9659b87073e815e0e4754f0a2f1056f3403c149c
Reviewed-on: https://chromium-review.googlesource.com/c/1323734
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57328}
2018-11-07 20:02:58 +00:00
Adam Klein
83f6e46834 Skip inspector/runtime/console-messages-limits on arm debug simulators
This test takes nearly 10 minutes to run on arm64, and over 5 on arm.

Bug: v8:7783
Change-Id: I6798c001a76c59974729e4b2618167578eb50a1b
Reviewed-on: https://chromium-review.googlesource.com/c/1321034
Commit-Queue: Adam Klein <adamk@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57327}
2018-11-07 20:00:39 +00:00
Deepti Gandluri
4f6ba3852b Reland "[wasm-simd] Implement remaining I8x16 SIMD ops on x64"
This is a reland of de88bfb270

Original change's description:
> [wasm-simd] Implement remaining I8x16 SIMD ops on x64
> 
>  - Implementation for I8x16 Shifts, and Mul
>  - Fix convert bug
>  - Enable all tests except for shuffle tests
> 
> Change-Id: Id1a469d2883c30ea782c51d21dc462d211f94420
> Reviewed-on: https://chromium-review.googlesource.com/c/1318609
> Reviewed-by: Bill Budge <bbudge@chromium.org>
> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57254}

Change-Id: Id2f6eef3a07e40df37af29456116754e7cf5b901
Reviewed-on: https://chromium-review.googlesource.com/c/1320031
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57326}
2018-11-07 18:42:23 +00:00
Frank Tang
010b5d6753 [Intl] Test new Intl.RelativeTimeFormat("es-VE")
Bug: v8:8414
Change-Id: If7fa7aff80066f8f0073f563af4a3b3f60ae3ebf
Reviewed-on: https://chromium-review.googlesource.com/c/1317825
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57325}
2018-11-07 18:11:44 +00:00
Frank Tang
65af2c3e10 Reland "[Intl] Handle 'c' pattern for DateTimeFormat"
This is a reland of 007c003426

In the original commit below, the permutation of testing combinatino
test/intl/regress-8413.js take too long to complete in the TSAN
and fail by TIMEOUT. Therefore we fix it by splitting up the test to
smaller tests, one for each property type in Table 5 of ECMA402.

Original change's description:
> [Intl] Handle 'c' pattern for DateTimeFormat
>
> Handle the pattern 'c' return by ICU in Intl.DateTimeFormat
> for weekday standalone form.
> Add regression test to ensure all the standalone pattern return
> option are in the expected list.
>
> Bug: v8:8413
> Change-Id: I9ab42383e3882ef1720606830624775e2748fccb
> Reviewed-on: https://chromium-review.googlesource.com/c/1318092
> Reviewed-by: Jungshik Shin <jshin@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57299}

Bug: v8:8413
Change-Id: I7a4bfd0876e4afd3eddaf3cb3d9027db075a1e3c
Reviewed-on: https://chromium-review.googlesource.com/c/1321893
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57324}
2018-11-07 18:10:40 +00:00
Frank Tang
e23e1311b4 [Intl] Add benchmark for toLocaleString/localeCompare
This is a bit of a performance bottleneck currently and
we're planning on improving performance by adding caching.
These benchmarks will allow us to measure the improvements
Add benchmark tests for
 String.prototype.localeCompare()
 Date.prototype.toLocaleString()
 Date.prototype.toLocaleDateString()
 Date.prototype.toLocaleTimeString()
 Number.prototype.toLocaleString()

Run with
python -u tools/run_perf.py --binary-override-path \
  out/x64.release/d8 --filter "JSTests/Strings/StringLocaleCompare" \
  test/js-perf-test/JSTests.json
python -u tools/run_perf.py --binary-override-path \
  out/x64.release/d8 --filter "JSTests/Dates" \
  test/js-perf-test/JSTests.json
python -u tools/run_perf.py --binary-override-path \
  out/x64.release/d8 --filter "JSTests/Numbers" \
  test/js-perf-test/JSTests.json

Before the landing of dffaff7769

 git reset --hard 474a6d6364
got
StringLocaleCompare-Strings(Score): 13240000
toLocaleDateString-Dates(Score): 1877000
toLocaleString-Dates(Score): 1197000
toLocaleTimeString-Dates(Score): 2147000
toLocaleDateString-Dates(Score): 1908000

After the landing of dffaff7769
 git reset --hard dffaff7769
got
StringLocaleCompare-Strings(Score): 97182
toLocaleDateString-Dates(Score): 10436
toLocaleString-Dates(Score): 10436
toLocaleTimeString-Dates(Score): 10669
toLocaleString-Numbers(Score): 2876


Bug: chromium:901748
Change-Id: Ibfea85fe668f1bfaacb2dfe08368cd920d2bbfc6
Reviewed-on: https://chromium-review.googlesource.com/c/1318099
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57323}
2018-11-07 18:08:16 +00:00