Commit Graph

49964 Commits

Author SHA1 Message Date
Sathya Gunasekaran
ed42a71d5c test262 roll
Bug: v8:7834
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ieab3529ce40a2c01c18f7fade10ec8b437173aa9
Reviewed-on: https://chromium-review.googlesource.com/1194424
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55472}
2018-08-28 21:18:23 +00:00
Ujjwal Sharma
b56e299d58 [intl] Port V8BreakIterator.prototype.current to C++
This increases the size of a V8BreakIterator instance by a word to store
the current function.

The instance to be bound is stored on the context of this builtin function.

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I1bdf3d3cd9db5ab16abb644b33b44705ca58684e
Reviewed-on: https://chromium-review.googlesource.com/1194802
Commit-Queue: Ujjwal Sharma <usharma1998@gmail.com>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55471}
2018-08-28 20:50:51 +00:00
Hannes Payer
067afa54cf [heap] Reland: Reuse object evacuation information for slot recording in Scavenger.
This reverts commit d6de4af573.

Bug: chromium:852420
Change-Id: Ife02a0e47ddb4a136c552965d9e01c6a0ef18e02
Reviewed-on: https://chromium-review.googlesource.com/1194363
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55470}
2018-08-28 18:47:00 +00:00
Junliang Yan
4b0f5711ec PPC: fix DCHECK failure on reg aliasing
Change-Id: I2df302a4bed3775dfdf15cc3d1797c50229cc997
Reviewed-on: https://chromium-review.googlesource.com/1194582
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55469}
2018-08-28 17:54:44 +00:00
Michael Achenbach
d6de4af573 Revert "[heap] Reland: Reuse object evacuation information for slot recording in Scavenger."
This reverts commit 0d66b4d85e.

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

Original change's description:
> [heap] Reland: Reuse object evacuation information for slot recording in Scavenger.
> 
> This reverts commit 136ecbb9bf.
> 
> Bug: chromium:852420
> Change-Id: I4fab9d6ed7b18085352fa7488c2849b90588deaf
> Reviewed-on: https://chromium-review.googlesource.com/1189802
> Commit-Queue: Hannes Payer <hpayer@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55467}

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

Change-Id: I03991a02eb5e06e7db91f88462232dde4bd97f49
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:852420
Reviewed-on: https://chromium-review.googlesource.com/1194005
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55468}
2018-08-28 17:51:15 +00:00
Hannes Payer
0d66b4d85e [heap] Reland: Reuse object evacuation information for slot recording in Scavenger.
This reverts commit 136ecbb9bf.

Bug: chromium:852420
Change-Id: I4fab9d6ed7b18085352fa7488c2849b90588deaf
Reviewed-on: https://chromium-review.googlesource.com/1189802
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55467}
2018-08-28 15:44:28 +00:00
Toon Verwaest
6010a0cc1a [parser] Tentatively remove grammar shortcuts for trivial expressions
To avoid recursion cost we now more aggressively inline. The many added
branches for this shortcut to work can easily hurt performance as well. Let's
try to remove and see what performance looks like nowadays.

Change-Id: I93e2d57ebebd6adde836f54ac629cc67dd82f143
Reviewed-on: https://chromium-review.googlesource.com/1194062
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55466}
2018-08-28 15:20:38 +00:00
Michael Starzinger
81308aef43 [wasm] Fix race in %SetWasmCompileControls.
This fixes a race with the aforementioned runtime function where the
global map from Isolate to WasmCompileControls was accessed without
proper synchronization. These are reported by "TSAN isolates".

R=sigurds@chromium.org
TEST=mjsunit/wasm/compilation-limits

Change-Id: Iaeea7f54cbb5051ca0ca97d75543e38ab9f9addc
Reviewed-on: https://chromium-review.googlesource.com/1193243
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55465}
2018-08-28 15:13:56 +00:00
Peter Marshall
c70ac55281 [tests] Skip regress-852258 on TSAN.
Very large allocations can cause timeouts or crashes on TSAN bots. This
test checks the handling of arrays with length > MaxSmi, so allocates a
very large array. It's unlikely that TSAN will find anything interesting
here that other bots won't catch, so disabling the test.

Bug: v8:8103
Change-Id: I8ea01d418ff088a2b9bd1b1ef938d4f69be1155d
Reviewed-on: https://chromium-review.googlesource.com/1193423
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55464}
2018-08-28 14:30:05 +00:00
Ujjwal Sharma
c8e3846e1f [intl] Port V8BreakIterator.prototype.next to C++
This increases the size of a V8BreakIterator instance by a word to store
the next function.

The instance to be bound is stored on the context of this builtin function.

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ibdfabe53c7d0790c1ba44d5de8d1c8fc8de517c9
Reviewed-on: https://chromium-review.googlesource.com/1193502
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55463}
2018-08-28 14:23:30 +00:00
Toon Verwaest
d62ec0d84f [scanner] Separate token scanning from TokenDesc management
Change-Id: I6fe237d4aec3745e993a65ddf31f5fafc3ce175d
Reviewed-on: https://chromium-review.googlesource.com/1193368
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55462}
2018-08-28 14:19:39 +00:00
jgruber
573ed1efd5 [ia32] Unalias kRootRegister in several Call/Construct descriptors
In preparation for kRootRegister support on ia32.

Updated: CallWithSpread, CallWithArrayLike, ConstructWithSpread.

Bug: v8:6666
Change-Id: I41c166aebee99356efa5c175739b2124d5557d58
Reviewed-on: https://chromium-review.googlesource.com/1188563
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55461}
2018-08-28 14:00:20 +00:00
Ross McIlroy
7bd99ccfb4 [Parsing] Fix RCS tracing for deciding if preparsing is tracking variables.
With FLAG_preparser_scope_analysis enabled we now always track
unresolved variables in the preparser. Fix the logic for deciding on
the correct RCS tracing category to be based on what the preparser does.

Change-Id: If691d51e6a2c09e554e4d96c10c37060cc7cca96
Reviewed-on: https://chromium-review.googlesource.com/1193303
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55460}
2018-08-28 13:16:39 +00:00
Ujjwal Sharma
38e7b9b875 [intl] Port V8BreakIterator.prototype.first to C++
This increases the size of a V8BreakIterator instance by a word to store
the first function.

The instance to be bound is stored on the context of this builtin function.

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ib1e8cb8353d0885e0d9bcfdc5fe558c1de0a0738
Reviewed-on: https://chromium-review.googlesource.com/1192823
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55459}
2018-08-28 13:14:49 +00:00
jgruber
988d703f23 [ia32] Unalias kRootRegister in Call/ConstructVarargs
These two builtins are a special case in that their calling convention
must be kept in-sync since they are both generated from
Generate_CallOrConstructVarargs.

ConstructVarargs in particular used all available registers. In order
to free ebx, the calling convention is changed to pass the last
argument on the stack.

As part of this change, the order of the last two arguments is swapped
since the stack parameter must be tagged.

Bug: v8:6666
Change-Id: If1ad14fc09693c36dd63ffebb6f34fcd3f012896
Reviewed-on: https://chromium-review.googlesource.com/1193444
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55458}
2018-08-28 13:04:24 +00:00
Michael Starzinger
dd40b33371 [wasm] Fix crash during exception stack unwinding.
This fixes a crash with a predicate used during stack unwinding of
WebAssembly frames during exception handling. The predicate caused an
observable side-effect in JavaScript during unwinding, code that is
inherently unhandlified and is not allowed to be observable.

The fix actually just removes the entire predicate. This is because the
updated proposal causes all JavaScript exceptions to participate in
WebAssembly exception handling, allowing modelling of "finally" language
constructs to perform cleanup independent of the embedders exception
details.

R=ahaas@chromium.org
TEST=mjsunit/regress/wasm/regress-8095
BUG=v8:8095

Change-Id: Ic03bc45e7b7f4562a431ccf910ee9ddcf558aa48
Reviewed-on: https://chromium-review.googlesource.com/1193445
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55457}
2018-08-28 13:02:44 +00:00
Ross McIlroy
e36b49bdb7 Reland "[RCS] Create thread local runtime call stats tables for worker threads"
This is a reland of 1e5b6d99f4

Original change's description:
> [RCS] Create thread local runtime call stats tables for worker threads
>
> Creating a runtime call stats table for each worker thread task is expensive.
> Instead we create a single table per thread, and use TLS to get the correct one
> when starting a worker thread task.
>
> In order to correctly initialize the parser, scanner and parse-info's runtime
> call stats fields, we move creation of the scanner and parser onto the
> background tasks for BackgroundCompileTask and UnoptimizedCompilationJob.
>
> Change-Id: I36064c7fb43290968620b1985cc02637b16f4232
> Reviewed-on: https://chromium-review.googlesource.com/1187522
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55448}

TBR=verwaest@chromium.org

Change-Id: I7c2f48280651d7632d99ee22d86260c72bc16185
Reviewed-on: https://chromium-review.googlesource.com/1193463
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55456}
2018-08-28 13:01:14 +00:00
Creddy
68f8e4a16b Disable one-shot optimizations by default
There was preformance regression with one-shot optimizations (
https://bugs.chromium.org/p/chromium/issues/detail?id=876839#c4).
Disable the one shot optimizations by default until the regrssion is fixed.

Change-Id: I031ac2e0151e06fb2116f417ad3d9a3d04da16ac
Reviewed-on: https://chromium-review.googlesource.com/1189823
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Chandan Reddy <chandanreddy@google.com>
Cr-Commit-Position: refs/heads/master@{#55455}
2018-08-28 12:49:10 +00:00
Rodrigo Bruno
eb164dbd00 Reland "[heap] Attempt to incorporate backing store counters into heap sizing and GC trigger stragery."
This is a reland of ba735dde20

Original change's description:
> [heap] Attempt to incorporate backing store counters into heap sizing and GC trigger stragery.
> 
> Bug: chromium:845409
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: Ic62a4339110e3dd2a6b1961a246e2bee0c07c03b
> Reviewed-on: https://chromium-review.googlesource.com/1160162
> Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55128}

Bug: chromium:845409
Change-Id: Iaff177f7bebbc073460fab0ae4e5cd9e632e1921
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1177301
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Cr-Commit-Position: refs/heads/master@{#55454}
2018-08-28 12:41:53 +00:00
Michael Starzinger
dd732b4fb0 [wasm] Cleanup and modularize mjsunit/wasm/exceptions.
R=ahaas@chromium.org
TEST=mjsunit/wasm/exceptions

Change-Id: I6301cf9bcb94e972f4e7eb3d096c650a5afc55ca
Reviewed-on: https://chromium-review.googlesource.com/1190343
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55453}
2018-08-28 12:19:02 +00:00
Hai Dang
b2ceebbc25 Add helper class to share feedback slots.
The SharedFeedbackSlot helper class allow bytecodes to share one feedback
slot. The helper will only create the slot on-demand, at the first-use.
This does not encapsulate the use-case of FeedbackSlotCache.

Change-Id: I22aec19d59e52e7395898fa2a59c5c1ec95abbe8
Reviewed-on: https://chromium-review.googlesource.com/1189904
Commit-Queue: Hai Dang <dhai@google.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55452}
2018-08-28 12:07:11 +00:00
Simon Zünd
a4f5c6962a [array] Move Array.p.lastIndexOf from JS to Torque
This CL re-implements Array.p.lastIndexOf in Torque. The implementation
consists of a generic baseline path and a fast-path for JSArrays with fast
ElementsKinds.

Sparse support for JSArrays was removed.

Bug: v8:7624
Change-Id: I6ae877aaf99fa97a91763b3d60a0ee05623ab085
Reviewed-on: https://chromium-review.googlesource.com/1190345
Commit-Queue: Simon Zünd <szuend@google.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55451}
2018-08-28 12:02:32 +00:00
Toon Verwaest
4af6bd000c [scanner] Replace explicit token storage handling with a token range
Instead of using explicit current_, next_, and next_next_ pointers we now use a
range from token_start_ to token_end_. Upon scan we "precrement" token_end_ to
update the scan_target(). This will allow us to increase the buffer size later.

Change-Id: I816d208eafc33c29a9888e7040696b56b1409fb8
Reviewed-on: https://chromium-review.googlesource.com/1189984
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55450}
2018-08-28 11:55:58 +00:00
Maya Lekova
f8de4ff5cc Revert "[RCS] Create thread local runtime call stats tables for worker threads"
This reverts commit 1e5b6d99f4.

Reason for revert: Breaks an arm64 MSAN bot - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/22601

Original change's description:
> [RCS] Create thread local runtime call stats tables for worker threads
> 
> Creating a runtime call stats table for each worker thread task is expensive.
> Instead we create a single table per thread, and use TLS to get the correct one
> when starting a worker thread task.
> 
> In order to correctly initialize the parser, scanner and parse-info's runtime
> call stats fields, we move creation of the scanner and parser onto the
> background tasks for BackgroundCompileTask and UnoptimizedCompilationJob.
> 
> Change-Id: I36064c7fb43290968620b1985cc02637b16f4232
> Reviewed-on: https://chromium-review.googlesource.com/1187522
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55448}

TBR=rmcilroy@chromium.org,verwaest@chromium.org

Change-Id: If3f28e65667816b7ae05c5efcb2f463379bc582b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/1193224
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55449}
2018-08-28 11:37:32 +00:00
Ross McIlroy
1e5b6d99f4 [RCS] Create thread local runtime call stats tables for worker threads
Creating a runtime call stats table for each worker thread task is expensive.
Instead we create a single table per thread, and use TLS to get the correct one
when starting a worker thread task.

In order to correctly initialize the parser, scanner and parse-info's runtime
call stats fields, we move creation of the scanner and parser onto the
background tasks for BackgroundCompileTask and UnoptimizedCompilationJob.

Change-Id: I36064c7fb43290968620b1985cc02637b16f4232
Reviewed-on: https://chromium-review.googlesource.com/1187522
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55448}
2018-08-28 11:00:54 +00:00
Hai Dang
601831a9ab Rename and fix JSON data for ArrayLiteralInitialSpread benchmarks.
This fixes the wrong JSON data that was not updated by CL 1188572.

Change-Id: I8cf1a040fa7faa95b967f8dc995b8222304f5514
Reviewed-on: https://chromium-review.googlesource.com/1193244
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Hai Dang <dhai@google.com>
Cr-Commit-Position: refs/heads/master@{#55447}
2018-08-28 10:45:38 +00:00
Michael Achenbach
3d8121f7c1 [CQ] Add more experimental Chromium trybots to CQ
TBR=delphick@chromium.org
NOTRY=true

Bug: v8:8058
Change-Id: I7ae59067672a295fb61195ac65226c8cd138d7b9
Reviewed-on: https://chromium-review.googlesource.com/1193284
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55446}
2018-08-28 10:30:44 +00:00
Toon Verwaest
4e9ac0a60c [scanner] Simplify Scan
Change-Id: I331ff09ee06db39e2ca051db0a91823f5b8fb402
Reviewed-on: https://chromium-review.googlesource.com/1193262
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55445}
2018-08-28 09:56:44 +00:00
Ross McIlroy
99a2440c22 [Scanner] Add support for cloning character streams.
Currently chunked and streaming character streams don't have cloning support as this
requires additional changes on the Blink side.

BUG=v8:8041

Change-Id: I167b3b1cd5ae1ac4038f3715b6a679d3e65d9a85
Reviewed-on: https://chromium-review.googlesource.com/1183429
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55444}
2018-08-28 09:45:24 +00:00
Georg Neis
609ec4b760 [turbofan] Be consistent about prototype optimization condition.
Change-Id: Ib967337b140594e70307348e6989b1324a62d71e
Reviewed-on: https://chromium-review.googlesource.com/1186641
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55443}
2018-08-28 09:39:02 +00:00
Michael Starzinger
91f3555fce [wasm] Re-enable a mjsunit/wasm/exceptions test case.
R=ahaas@chromium.org
TEST=mjsunit/wasm/exceptions
BUG=v8:8091

Change-Id: If811fdffe31df3ca94c70ff910603fab8d7e1ad4
Reviewed-on: https://chromium-review.googlesource.com/1190303
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55442}
2018-08-28 09:30:55 +00:00
Jaroslav Sevcik
8e0feb6819 [turbofan] Serialization of heap numbers
Bug: v8:7790
Change-Id: I9642f37f3dae3f9c07661ddca1a981e223148e49
Reviewed-on: https://chromium-review.googlesource.com/1192842
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55441}
2018-08-28 08:57:43 +00:00
Maya Lekova
f96053fc4f [csa] Remove redundant context parameter from NewConsString
This change allows passing no context to NewConsString,
since it's not used anyway.

Change-Id: I125e1dca90ff1b8d1c8695d5b688e8ff4e075044
Reviewed-on: https://chromium-review.googlesource.com/1190602
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55440}
2018-08-28 08:55:03 +00:00
Lei Zhang
32af1d0ebb Use absolute paths in Android section in tools/BUILD.gn.
In the logic to run tests on Android, the path is currently relative.
This only works when V8 is standalone. When V8 is checkout in another
project, the path is wrong. The build_with_chromium check only helps
with Chromium, but there are other V8 embedders.

Change-Id: I52640a664deb39e5959ed3cc9dc79fd7b6d68758
Reviewed-on: https://chromium-review.googlesource.com/1189096
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55439}
2018-08-28 08:23:38 +00:00
Junliang Yan
b8a5ae4749 PPC/s390: skip I64Atomic test on ppc/s390
Change-Id: I14a3a1d1da983528601fcd595d7e9ea820ae9d12
Reviewed-on: https://chromium-review.googlesource.com/1191822
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55438}
2018-08-28 04:47:04 +00:00
Sathya Gunasekaran
59c03fef01 [Intl] Correctly pass usage option to Collator
The spec specifies that search and standard can not be valid values
for the collation extension keyword. Instead users are expected to use
the options bag to set the correct usage options.

But, ICU expects the usage option to be set through the collation
extension value.

In this patch, we set the usage option using the collation extension
value in ICU. For resolvedOptions, we filter out this extension value
using ICU to be spec compatible.

Previously, we stored the usage option on the JSCollator instance. But
this patch changes the logic to just look it up from the icu::Collator
when required. This saves one word of memory.

This fails a test262 that was incorrectly fixed. A follow on patch
will fix the test262 test.

Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I8c66c6286287e686f4cd152fa1301f9d51c38654
Reviewed-on: https://chromium-review.googlesource.com/1180488
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55437}
2018-08-27 23:31:24 +00:00
Frank Tang
812c0acd9a [Intl] Move LookupUnicodeExtensions to Intl
Bug: v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I67e15208bc2954957275e3283eb746c1c12f10f0
Reviewed-on: https://chromium-review.googlesource.com/1191362
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55436}
2018-08-27 20:35:58 +00:00
Junliang Yan
1113edd32a Revert "PPC64/s390x: move smi to lower 32-bit"
This reverts commit b8705eb651.

Reason for revert: bf1e47e6ff is reverted.

Original change's description:
> PPC64/s390x: move smi to lower 32-bit
> 
> Change-Id: Id203bb297547002a41e18d621b59ce4237f88e5a
> Reviewed-on: https://chromium-review.googlesource.com/1183976
> Reviewed-by: Muntasir Mallick <mmallick@ca.ibm.com>
> Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
> Cr-Commit-Position: refs/heads/master@{#55320}

TBR=jyan@ca.ibm.com,joransiu@ca.ibm.com,mmallick@ca.ibm.com

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

Change-Id: Ied4e7b0cd0659b5429906d1d90c91397fa268416
Reviewed-on: https://chromium-review.googlesource.com/1191162
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55435}
2018-08-27 18:36:25 +00:00
Brian Stell
6b3fde4270 Replace the JS version of supportedLocalesOf with the C++ version.
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5f6adec8857398f82598295e86d2559c96363647

Bug: v8:7955, v8:7869, v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5f6adec8857398f82598295e86d2559c96363647
Reviewed-on: https://chromium-review.googlesource.com/1184046
Commit-Queue: Brian Stell <bstell@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55434}
2018-08-27 17:44:49 +00:00
Toon Verwaest
9563acd3bb [parser] Simplify ExpectSemicolon
Change-Id: I1551da2cbd5cbd6e0cdf86837a01c84217a648b6
Reviewed-on: https://chromium-review.googlesource.com/1190783
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55433}
2018-08-27 17:29:18 +00:00
Benoît Lizé
aab50a3124 Rename ShortExternalString to UncachedExternalString.
"short" external strings are not short, they mean that the external data
pointer is not cached. Rename the various classes and objects to align
with the actual meaning.

Bug: chromium:877044
Change-Id: Ie3d5baa9ad352ac6ca89f5ba1d066760825e4beb
Reviewed-on: https://chromium-review.googlesource.com/1185192
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55432}
2018-08-27 16:54:03 +00:00
Toon Verwaest
e02a7abb3f [scanner] Make location accessors return const & locations
Change-Id: I254c2d911af5f389a68dd0f349d5a27a4a8cca54
Reviewed-on: https://chromium-review.googlesource.com/1190742
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55431}
2018-08-27 16:13:21 +00:00
Michael Achenbach
15505a1b29 [release] Fix branch creator after private CLs were disabled
TBR=mslekova@chromium.org
NOTRY=true

Bug: chromium:877964
Change-Id: Ia7ea1094ea339f6e956cb7241f7d35913b7821b2
Reviewed-on: https://chromium-review.googlesource.com/1190502
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55430}
2018-08-27 14:48:15 +00:00
Andreas Haas
a5f627d8ee [wasm] Stop wasm compilation before js compilation in Isolate::Deinit
{Isolate::Deinit} waits for all created
{OptimizingCompiler::CompileTask}s to finish. However, these
CompileTasks run in the background and can be blocked by other tasks
which run in the background, e.g. WebAssembly compilation tasks. With
this CL we stop WebAssembly compilation tasks before we wait for
the {optimizingCompiler:::CompileTask}s.

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

Change-Id: I1549c1babdebc2e951aef5e48d0aa8130884fb7d
Reviewed-on: https://chromium-review.googlesource.com/1190302
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55429}
2018-08-27 14:40:15 +00:00
Sergiy Byelozyorov
b3d06b7ef8 [tools] Add dylib files into the list of libraries on Mac
TBR=machenbach@chromium.org

Bug: v8:5918
Change-Id: I6fc16e3c6415246072b7626bdfd13ea0b7ce2dc2
Reviewed-on: https://chromium-review.googlesource.com/1189983
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55428}
2018-08-27 12:34:29 +00:00
Peter Marshall
3727b26570 Revert "[cleanup] Replace ZoneList with ZoneVector for parser reported_errors_"
This reverts commit 133a6815d2.

Reason for revert: Regresses parsing time

Original change's description:
> [cleanup] Replace ZoneList with ZoneVector for parser reported_errors_
> 
> We use a ZoneVector because we do a fair amount of random access e.g.
> in ExpressionClassifier::Accumulate() so the vector is better suited
> than ZoneChunkList as it has constant time random access.
> 
> Bug: v8:6333
> Change-Id: I83e1de60ee8fe319cfa5ce77fc5f5f86beb5307d
> Reviewed-on: https://chromium-review.googlesource.com/1054672
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Peter Marshall <petermarshall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55315}

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

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

Bug: v8:6333
Change-Id: Ib89f0aa1f27b7d6dbbf21af60ed7d1bcd2c0b7d3
Reviewed-on: https://chromium-review.googlesource.com/1189803
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55427}
2018-08-27 10:32:31 +00:00
Bret Sepulveda
43d6814585 Stop cctest/test-log/LogMaps from flaking on Windows.
This patch disables the conditions that cause the test to flake, but
as a band-aid that doesn't fix the underlying issue.

Bug: v8:8084
Change-Id: I46380d0ce4f450c176583330ed760bc3b57b9edc
Reviewed-on: https://chromium-review.googlesource.com/1189822
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55426}
2018-08-27 10:21:22 +00:00
Michael Achenbach
99acd2c191 [CQ] Experimentally add some more chromium trybots
This is for temporarily testing if those bots work as expected on V8 CQ.
They'll be afterwards added only on demand on presubmit for API changes.

NOTRY=true
TBR=delphick@chromium.org

Bug: v8:8058
Change-Id: I841539a899f2987914588b2f84d402e3403bb41e
Reviewed-on: https://chromium-review.googlesource.com/1189942
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55425}
2018-08-27 10:04:23 +00:00
Michael Starzinger
bc08a8624c [wasm] Remove {AsyncCompileJob::module} field.
R=ahaas@chromium.org

Change-Id: I904de575c8c049de64111c12b940c48a50090668
Reviewed-on: https://chromium-review.googlesource.com/1186338
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55424}
2018-08-27 09:49:16 +00:00
Sigurd Schneider
86d3005059 [cctests/assembler-arm64] Rework constant pool test
This CL changes a constant pool test to include tests for the marker
and the encoded pool size.

Change-Id: Ia5cfd173e5d523a02252fd3b14f302e5c8994881
Reviewed-on: https://chromium-review.googlesource.com/1186626
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55423}
2018-08-27 09:08:56 +00:00