Commit Graph

50155 Commits

Author SHA1 Message Date
Ujjwal Sharma
f548c1c9c4 [intl] reorder intl builtin definitions alphabetically
Bug: v8:5751
Change-Id: I978b5b1da41040132204b64dde3f44985b44255d
Reviewed-on: https://chromium-review.googlesource.com/1208110
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55663}
2018-09-05 20:47:02 +00:00
Ujjwal Sharma
8827178363 [intl] JSV8BreakIterator: accept and return Type instead of int
Change-Id: I4013a966c1f651f5e6cabfbc3f64a08eb01d0dad
Bug: v8:5751
Reviewed-on: https://chromium-review.googlesource.com/1207670
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55662}
2018-09-05 18:33:34 +00:00
Ujjwal Sharma
8f8f074f5d [intl] rename all BreakIterator builtins
Rename all BreakIterator builtins from BreakIterator to V8BreakIterator.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I49437096e5a53d85f229421ddae8d61a7164d9a9
Reviewed-on: https://chromium-review.googlesource.com/1207410
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55661}
2018-09-05 18:11:21 +00:00
Junliang Yan
00de0e8bc3 PPC: use pc-relative sequence for poisoning
Use pc relative code on poisoning to allow
relocation of bytecode handler. This is allow
v8_enable_embedded_bytecode_handlers on ppc.

Bug: v8:8068

Change-Id: I6e0a1e961e7e903f0935131cfc190c89c404cf67
Reviewed-on: https://chromium-review.googlesource.com/1205610
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Muntasir Mallick <mmallick@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55660}
2018-09-05 17:34:20 +00:00
Yannic Bonenberger
a05da3adfa Remove unused symbol in mark-compact.h
Change-Id: I2992b0db7f403f682032f9b427c1f8c5238cf61e
Reviewed-on: https://chromium-review.googlesource.com/1205290
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55659}
2018-09-05 17:00:18 +00:00
Sathya Gunasekaran
b586b64276 [class] Stage static public fields
Bug: v8:5367
Change-Id: I7c65840b62a461de87dc88f8dd2e31eba47e8adf
Reviewed-on: https://chromium-review.googlesource.com/1205818
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55658}
2018-09-05 16:08:21 +00:00
Benedikt Meurer
56f7dda67f [turbofan] Fix incorrect typing rule for NumberExpm1.
The Math.expm1() function can actually return -0, for example in the
case that -0 is passed to it.

Bug: chromium:880207
Change-Id: If3a7a3a1fb6a18075ba0d7816687dfd831ebe293
Reviewed-on: https://chromium-review.googlesource.com/1205072
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55657}
2018-09-05 16:07:16 +00:00
Michael Lippautz
408d89041e Reland "Add external backing store JS test"
Allow mocking the limits for ArrayBuffer allocation to simulate operating
system OOM.

Fixes:
- Ensure OS limit > hard limit for external memory. This is necessary as
  any processing below the hard limit is opportunistic. E.g. a running
  sweeper may stall the current marking (GC) round.
- Immediately process AB allocations when under memory pressure. Otherwise,
  the allocations may be stuck in a stalled task. Freeing them upon
  adding them to the collector still enables parallelism if possible.

This reverts commit f3ad6cdb9c.

Bug: chromium:845409
Change-Id: Ic3e458f2af231bae3d53afcfd6002a0347d3f12b
Reviewed-on: https://chromium-review.googlesource.com/1206872
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55656}
2018-09-05 16:03:39 +00:00
Junliang Yan
d48bd16c9a PPC: use 64KB ASLR hint on PPC
Change-Id: I2e461f3f7b3abc666ed5dcc3294a14d27ef0fe60
Reviewed-on: https://chromium-review.googlesource.com/1194583
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55655}
2018-09-05 15:06:40 +00:00
jgruber
2b1ca9781a [ia32] Enable restricted register allocation for CSA-generated builtins
This switches on a restricted register allocation for all
CSA-generated builtins on ia32, which treats the kRootRegister (=ebx)
as unallocatable.

A few builtins are explicitly excluded. These still need to be fixed
in follow-up CLs. But I'd like to bake this in now to ensure we don't
add more code that cannot handle restricted allocation.

All of this is still behind the (disabled-by-default on ia32)
v8_embedded_builtins configuration.

Bug: v8:6666
Change-Id: If5268aa00439406e1f4e0f7ee18496715a95fdd2
Reviewed-on: https://chromium-review.googlesource.com/1206874
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55654}
2018-09-05 14:42:56 +00:00
Mike Stanton
34625fdb5a [Builtins] Array.prototype.forEach perf regression on dictionaries.
An unnecessary call to ToString() on the array index caused trips to
the runtime. The fix also includes performance micro-benchmarks so
we'll have a harder time regressing this case in future.

Bug: v8:8112
Change-Id: Iada5bd2e3c6d2246fb1225e7094f3d9c66ddafbd
Reviewed-on: https://chromium-review.googlesource.com/1206355
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55653}
2018-09-05 14:25:17 +00:00
jgruber
52cef4edde Refactor OptimizedCompilationInfo construction
This mostly pushes code around (from the two specialized public ctors
to the ConfigureFlags method), but does include one behavioral change
in that all builtins/stubs/handlers now disables switch jump tables.

Bug: v8:6666
Change-Id: I801d5bdc7a9c4bcc3bc5eb467a7c049404ffaff0
Reviewed-on: https://chromium-review.googlesource.com/1201785
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55652}
2018-09-05 13:53:47 +00:00
Clemens Hammacher
37cb48d996 [wasm] Check size of loaded instance fields
This CL adds static assertions (in Liftoff) and DCHECKs (in wasm
compiler) to validate that the size of loaded fields from the wasm
instance object matches the expected size. This is to avoid future bugs
where we change the size of integer fields and forget to update all
code that uses these fields.

R=titzer@chromium.org

Bug: v8:8130, v8:6600
Change-Id: Ib7273800029135b851c0f0b1ca52886783b61fb0
Reviewed-on: https://chromium-review.googlesource.com/1203836
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55651}
2018-09-05 13:25:37 +00:00
Michael Starzinger
eed60e2f34 [wasm] Remove unused WasmException::empty_sig constant.
R=clemensh@chromium.org

Change-Id: If4086054af6125c252acfbf32074e40ed98b8222
Reviewed-on: https://chromium-review.googlesource.com/1206356
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55650}
2018-09-05 12:49:04 +00:00
Michael Achenbach
82937ed7ed [build] Use default snapshot for all testing variants
Bug: v8:7964
Change-Id: I540aa0f9b64969f70822f3956d5f9d0a0ea0fde2
Reviewed-on: https://chromium-review.googlesource.com/1206710
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55649}
2018-09-05 12:26:49 +00:00
Camillo Bruni
ea518290d3 [parser] Drop is_get and is_set parameters in ParsePropertyName
The two bool parameters are used for DCHECks in most places. By
introducing more specialized enumes kAccessorGetterProperty and
kAccessorSetterProperty we can simplify the checks.

Bug: v8:7926
Change-Id: I61023f2da0d96ca5a4fba65c6ead309567144786
Reviewed-on: https://chromium-review.googlesource.com/1202822
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55648}
2018-09-05 11:56:42 +00:00
Stephan Herhut
25d06d8b01 [d8] Increase the maximum number of workers to 100
Change-Id: I34ad8910949e8eb265df53d66f79b315b4a990e6
Reviewed-on: https://chromium-review.googlesource.com/1206630
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55647}
2018-09-05 11:54:42 +00:00
Clemens Hammacher
05fa1f994e [wasm] Avoid use of AccessBuilder
The main goal is to untangle Liftoff from the TF-based wasm compiler,
but since the AccessBuilder does not simplify anything but rather adds
complexity I also removed it from the wasm compiler.
Instead, we now bottleneck all offset computations through the new
ObjectAccess helper.

R=titzer@chromium.org

Bug: v8:6600
Change-Id: I362b7b889d68e89da8c30d3fad7b5bab07bee5c8
Reviewed-on: https://chromium-review.googlesource.com/1204090
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55646}
2018-09-05 11:48:54 +00:00
Dan Elphick
58f0497ba9 [build] Write out octawords in embedded.cc
Shrink embedded.cc by writing out octa words instead of bytes. This
halves the size of the generated file from 28MB to 14MB in a debug build
and reduces compile times for the file from ~2s to ~0.6s.

Bug: v8:8129
Change-Id: I90893c7732d83f4eeedee964cd81958201e3b05c
Reviewed-on: https://chromium-review.googlesource.com/1204111
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55645}
2018-09-05 11:38:18 +00:00
Andreas Haas
78f2610345 [d8] Seal HandleScope and reset Context before running a v8::Task
V8 does not require the embedder to open a HandleScope before executing
a v8::Task. However, d8 does open such a HandleScope. Because of that
HandleScope we repeatedly found missing HandleScopes only in Chrome
tests and not in d8 tests. The same is true for the context, which is
not set when Chrome calls a v8::Task.

With this CL we create a SealHandleScope around the execution of a
v8::Task, and we set the context to nullptr, so that d8 matches Chrome
better.

Ideally d8 would not open a HandleScope in the first place, and would
not set a context. Both make d8 behave different than Chrome and thereby
may hide bugs from our testing infrastructure. However, the
implementation of the InspectorClient requires them. I think the
SealHandleScope and resetting the context is a good workaround at the
moment. Yang, do you know if we can get rid of the context there in the
long run?

R=yangguo@chromium.org

Change-Id: I8df0fabde7dfdcdc630d20af4c68f141ac3a454c
Reviewed-on: https://chromium-review.googlesource.com/1177742
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55644}
2018-09-05 10:34:23 +00:00
Michael Achenbach
beb7778d87 [test] Fix resource-fetching logic for imported files
Path names in import/export statements are relative to the file they are in.

This fixes the logic and unblocks using the messages test suite on Android,
which has cases importing files from mjsunit, which import more files from
there.

Bug: chromium:866862
Change-Id: I8d2ff645f69b67fbdaf4a622d06308e55298b0ce
Reviewed-on: https://chromium-review.googlesource.com/1206570
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55643}
2018-09-05 10:27:07 +00:00
Simon Zünd
c433112cca [array] Use CallCFunction3 for SmiLexicographicCompare
This CL changes the call-site of SmiLexicographicCompare to a fast
c call instead of a runtime call. The runtime function is not deleted
as it is still used in InnerArraySort.

The test is also moved from mjsunit to cctest, to make removal of the
runtime function easier in the future.

R=cbruni@chromium.org, jgruber@chromium.org

Bug: v8:7382
Change-Id: Ie961eeb094c13018e9ec28b68f7c444d7f889036
Reviewed-on: https://chromium-review.googlesource.com/1201587
Commit-Queue: Simon Zünd <szuend@google.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55642}
2018-09-05 10:13:25 +00:00
Hai Dang
c0cf34104d Reduce duplication of generated code in IterableToList builtins.
This CL exposes IteratorBuiltinsAssembler::IterableToList as a builtin
to reduce generated code duplication. This follows up on CL 1201882.

Change-Id: I848e17bd1b6756de9e898e9d2f8c93d99699df07
Reviewed-on: https://chromium-review.googlesource.com/1206470
Commit-Queue: Hai Dang <dhai@google.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55641}
2018-09-05 10:02:30 +00:00
Mathias Bynens
d84e9496d2 Revert "Ship globalThis 🎉"
This reverts commit d3d37157b5.

Reason for revert: waiting for Chromium LKGR to include the
updated test expectations.

Original change's description:
> Reland "Ship globalThis 🎉"
> 
> This is a reland of 4dac9872ae
> 
> Original change's description:
> > Ship globalThis 🎉
> >
> > Proposal repository:
> > https://github.com/tc39/proposal-global
> >
> > Intent to ship:
> > https://groups.google.com/d/msg/v8-users/Vkoh0wXRwaM/Yt7MpzhkAgAJ
> >
> > Bug: v8:5537
> > Change-Id: I60a6c5375165d89548db12fef454a64137d04c27
> > Reviewed-on: https://chromium-review.googlesource.com/1195494
> > Reviewed-by: Adam Klein <adamk@chromium.org>
> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> > Commit-Queue: Mathias Bynens <mathias@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#55543}
> 
> TBR=adamk@chromium.org,machenbach@chromium.org,gsathya@chromium.org,mathias@chromium.org
> 
> No-Presubmit: true
> Bug: v8:5537
> Change-Id: I9776c24952e472c59861ee07f78b6456b19e6f2a
> Reviewed-on: https://chromium-review.googlesource.com/1203894
> Commit-Queue: Mathias Bynens <mathias@chromium.org>
> Reviewed-by: Mathias Bynens <mathias@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55635}

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

Change-Id: Ie1dd22ecc4e13bf1bb6dbec108fbe37ea476bb1a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:5537
Reviewed-on: https://chromium-review.googlesource.com/1206471
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55640}
2018-09-05 09:49:54 +00:00
Hai Dang
5f8a42727d Reland "[interpreter] Add bytecode for leading array spreads."
This is a reland of 1c48d52bb1.

It turned out that IterableToList doesn't always behave according to
the ES operation with the same name. Specifically, it allows holey arrays
to take its fast path, which produces an output array with holes where
actually "undefined" elements should appear.

This CL changes the version of IterableToList that is used for spreads
(IterableToListWithSymbolLookup) such that holey arrays take the slow path.
It also includes tests for such situations.

Original change's description:
> [interpreter] Add bytecode for leading array spreads.
>
> This CL improves the performance of creating [...a, b] or [...a].
> If the array literal has a leading spread, this CL emits the bytecode
> [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
> is implemented by [IterableToListDefault] builtin to create the initial
> array for the leading spread. IterableToListDefault has a fast path to
> clone efficiently if the spread is an actual array.
>
> The bytecode generated is now shorter. Bytecode generation is refactored
> into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
> from this optimization also.
> For now, turbofan also lowers the bytecode to the builtin.
>
> The idiomatic use of [...a] to clone the array a now performs better
> than a simple for-loop, but still does not match the performance of slice.
>
> Bug: v8:7980
>
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
> Reviewed-on: https://chromium-review.googlesource.com/1181024
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Georg Neis <neis@chromium.org>
> Commit-Queue: Hai Dang <dhai@google.com>
> Cr-Commit-Position: refs/heads/master@{#55520}

Bug: v8:7980
Change-Id: I0b5603a12d2b588327658bf0a9b214bd0f22e237
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1201882
Commit-Queue: Hai Dang <dhai@google.com>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55639}
2018-09-05 09:29:51 +00:00
jgruber
fb1687cbd9 [heap] Fix gcc compile error related to lambda visibility
GCC may be buggy in how it handles visibility in this case. The
previous nested implementation resulted in a 'lambda1 declared with
greater visibility than the type of its field lambda2' error.

Unnesting the inner lambda works around the error.

Bug: v8:8126
Change-Id: Id822ca80fec9af27c4adc7ff53be3b6d9478f0d7
Reviewed-on: https://chromium-review.googlesource.com/1206310
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55638}
2018-09-05 09:17:39 +00:00
Camillo Bruni
1e0f101ae6 [scanner] Reduce branches for IsIdentifier and IsContextualKeyword
Bug: v8:7926
Change-Id: I1c3b831bb19c70e1e7c99f45ae50dbd1351ce2a7
Reviewed-on: https://chromium-review.googlesource.com/1202105
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55637}
2018-09-05 09:13:01 +00:00
Camillo Bruni
2a237ed436 [scanner] Use more range checks and const
Bug: v8:7926
Change-Id: I62e05240fd2bb165ddf8965b77763ec11a40a609
Reviewed-on: https://chromium-review.googlesource.com/1202543
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55636}
2018-09-05 09:11:09 +00:00
Mathias Bynens
d3d37157b5 Reland "Ship globalThis 🎉"
This is a reland of 4dac9872ae

Original change's description:
> Ship globalThis 🎉
>
> Proposal repository:
> https://github.com/tc39/proposal-global
>
> Intent to ship:
> https://groups.google.com/d/msg/v8-users/Vkoh0wXRwaM/Yt7MpzhkAgAJ
>
> Bug: v8:5537
> Change-Id: I60a6c5375165d89548db12fef454a64137d04c27
> Reviewed-on: https://chromium-review.googlesource.com/1195494
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Commit-Queue: Mathias Bynens <mathias@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55543}

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

No-Presubmit: true
Bug: v8:5537
Change-Id: I9776c24952e472c59861ee07f78b6456b19e6f2a
Reviewed-on: https://chromium-review.googlesource.com/1203894
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55635}
2018-09-05 08:28:39 +00:00
Clemens Hammacher
48dfc5f8fe [arm64] Remove dead variables
GCC complained about these.

R=mstarzinger@chromium.org

Change-Id: I36d69b4191b63ae4373a9b96893cf98650acd7e9
Reviewed-on: https://chromium-review.googlesource.com/1206291
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55634}
2018-09-05 08:09:18 +00:00
Daniel Clifford
fb0bd1c88d [torque] Fix assert when trying to assign to a parameter
Change-Id: I9dc6a387ce5c9b97e21d20297b59b910daea3c6d
Reviewed-on: https://chromium-review.googlesource.com/1199503
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55633}
2018-09-05 07:55:10 +00:00
Matheus Marchini
958b761d33 [postmortem] add postmortem metadata for symbols
As discussed in https://github.com/nodejs/llnode/issues/156, we need
postmortem metadata for Symbols to properly print Symbol property names
in postmortem debugging tools. Patch suggested by Ben Noordhuis
(https://github.com/nodejs/llnode/issues/156#issuecomment-350467852).

R=bmeurer@google.com, yangguo@google.com

Change-Id: Ied6d3c079e8b23a9c796bc632c37785ed7dbc118
Reviewed-on: https://chromium-review.googlesource.com/1205052
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55632}
2018-09-05 07:39:31 +00:00
andrew-cc-chen
84121f5ac1 s390: Edited Generate_CEntry to correctly return buffer when built with clang
Corrected register calling syntax in assembler-s390.cc and
test-platform.cc.

Generate_CEntry in builtins-s390.cc expects return buffer to be
preserved in r2, but when built with clang r2 isn't preserved, which breaks
300+ tests. It is fixed by writing r2's value into r8 (preserved)
and loading the value back to r2 after the operation.

Change-Id: I184f0111944b6ad8c0ccc8b97407d702dd97d9d8
Reviewed-on: https://chromium-review.googlesource.com/1204530
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55631}
2018-09-05 07:01:16 +00:00
Yang Guo
f3ad6cdb9c Revert "Add external backing store JS test"
This reverts commit 5107ec2a7c.

Reason for revert: Test is very flaky: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64

Original change's description:
> Add external backing store JS test
> 
> Allow mocking the limits for ArrayBuffer allocation to simulate operating
> system OOM.
> 
> Bug: chromium:845409
> Change-Id: I38bf56a3677e1db547c774223c81e913f56cb631
> Reviewed-on: https://chromium-review.googlesource.com/1203895
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55616}

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

Change-Id: I633988dba1b0a87b652e72e0e667e90122e00f6d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:845409
Reviewed-on: https://chromium-review.googlesource.com/1206290
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55630}
2018-09-05 06:52:00 +00:00
Michaël Zasso
69fabd0561 [api] Add tests for Integer type
Since there is no `Value::IsInteger` method in the API, we in the
Node.js project are going to rely on what looks like an implementation
detail of the Integer class. It is currently possible to to call
`Integer::Value` on any Number and the value is cast to an integer.
This commit adds tests for this behavior.

Change-Id: I4de09e7c6e0beac7909e5477f7bfe2ed4c9415b9
Reviewed-on: https://chromium-review.googlesource.com/1200983
Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55629}
2018-09-05 06:36:31 +00:00
v8-ci-autoroll-builder
66604f2e4a Update V8 DEPS.
Rolling v8/build: 6773a0d..4ca6fa3

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/88dc49a..70783e3

Rolling v8/third_party/depot_tools: e323bd9..f215ae6

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

Change-Id: I7c97c65f0f13e103f174ed0002b679710e330e9b
Reviewed-on: https://chromium-review.googlesource.com/1205616
Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#55628}
2018-09-05 03:47:03 +00:00
Ujjwal Sharma
f2d07ec516 [intl] Port BreakIterator to C++
Port CreateBreakIterator and BreakIterator.prototype.resolvedOptions to
C++, refactoring the entire class into another one called
JSV8BreakIterator that would be a subclass of JSObject.

TBR: benedikt@chromium.org
Bug: v8:8111
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I9bd1d82ec34b210c8ed59ea6576548d45a34b8d5
Reviewed-on: https://chromium-review.googlesource.com/1198946
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55627}
2018-09-05 03:22:53 +00:00
Frank Tang
41db90b0da [Intl] Move most functions from DateFormat to JSDateTimeFormat
Move Unwrap,FormatDateTime,DateTimeFormat,ToDateTimeOptions,ToLocaleDateTime to JSDateTimeFormat

Bug: v8:8066
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng
Change-Id: I4d83cc96ea280ab8f77df5a431b877b76b05f1ac
Reviewed-on: https://chromium-review.googlesource.com/1198142
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55626}
2018-09-05 00:57:56 +00:00
Frank Tang
d7ae63e6f2 [Intl] Move toLDMLString & canonicalizeTimeZoneID js->C++
Bug: v8:8066
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng
Change-Id: I74fe09bb6bb4428d57c66811b77f5f35144f717f
Reviewed-on: https://chromium-review.googlesource.com/1186153
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55625}
2018-09-04 22:37:56 +00:00
tzik
e9e583ec59 Add v8::internal::MicrotaskQueue stub
As a step of Context-associated MicrotaskQueue [1], this CL adds
a stub for v8::internal::MicrotaskQueue.

[1]: https://docs.google.com/document/d/1oNNhXF66dmwyj5S6Ri_g1vmBZltK8rWvZo1Tgqj64Z0/edit?usp=sharing

Tbr: bmeurer@chromium.org
Bug: v8:8124
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ie3d86ca49d46749660ec1316e4ae051528076e97
Reviewed-on: https://chromium-review.googlesource.com/1192803
Commit-Queue: Adam Klein <adamk@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55624}
2018-09-04 22:26:42 +00:00
Junliang Yan
73932da7a0 PPC/s390: remove unused macro to fix compilation error
Change-Id: Id2ba591deb39428d9c788a9c9dcfd15bb8581bd0
Reviewed-on: https://chromium-review.googlesource.com/1205330
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55623}
2018-09-04 22:21:17 +00:00
Frank Tang
3110b59253 [Intl] Use Intl::BoundFunctionContextSlot::kBoundFunction instead.
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng

Bug: v8:7979
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ic390fbde6e04e86b8e284975c13c1eff8dc59e90
Reviewed-on: https://chromium-review.googlesource.com/1205411
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55622}
2018-09-04 22:12:18 +00:00
Frank Tang
9c7ec98a90 [Intl] Move NumberFormat to JSNumberFormat
Bug: v8:7979

TBR: benedikt@chromium.org
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng
Change-Id: I9d5181c15b56de3bc5288d11bd83e55157c7a610
Reviewed-on: https://chromium-review.googlesource.com/1168518
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55621}
2018-09-04 20:16:11 +00:00
Junliang Yan
71f14bd0d3 PPC: fix left_reg clobber issue on float min op
Change-Id: I0bd15f4769e9ab09aec3f479af0ee50fc81fd6dc
Reviewed-on: https://chromium-review.googlesource.com/1204950
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55620}
2018-09-04 19:05:36 +00:00
Michael Lippautz
1d1d4d21e0 [heap] Record UMA for Scavenger sub phases
Reocord UMA counters for the following phases:
- Scavenging roots
- Scavenging object graph in parallel

Bug: chromium:850508
Change-Id: I07210271179ce6801ea6daf3b486b4ce237a3261
Reviewed-on: https://chromium-review.googlesource.com/1199302
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55619}
2018-09-04 18:57:11 +00:00
Hai Dang
b45204d607 Add warmup to SpreadCallsGeneral benchmarks.
Since the benchmark is very fast, a warmup is useful to reduce the noise
created by optimization.

Change-Id: I4902c5c1695099be766d0fcc563c2f5d0892d3a9
Reviewed-on: https://chromium-review.googlesource.com/1204112
Commit-Queue: Hai Dang <dhai@google.com>
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55618}
2018-09-04 16:15:54 +00:00
Bill Budge
f62550f40b [cleanup] Eliminate obsolete TODOs
Bug: v8:8015
Change-Id: Ic6d3b4f927095ba2e78509c1ba07e5b9258426e2
Reviewed-on: https://chromium-review.googlesource.com/1198182
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55617}
2018-09-04 14:59:47 +00:00
Michael Lippautz
5107ec2a7c Add external backing store JS test
Allow mocking the limits for ArrayBuffer allocation to simulate operating
system OOM.

Bug: chromium:845409
Change-Id: I38bf56a3677e1db547c774223c81e913f56cb631
Reviewed-on: https://chromium-review.googlesource.com/1203895
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55616}
2018-09-04 14:47:24 +00:00
Michael Starzinger
1990798030 [wasm] Fix ordering check of exception section.
This fixes an off-by-one in the ordering restriction check for exception
sections in a module. It also adds proper testing for exception handling
of indirect calls. This in turn adds a table section that triggers the
aforementioned bug.

R=clemensh@chromium.org
TEST=mjsunit/wasm/exceptions,unittests/WasmModuleVerifyTest
BUG=v8:8091

Change-Id: Ie44ad4dee1b0c623f069fca7661c4282492b52d6
Reviewed-on: https://chromium-review.googlesource.com/1203993
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55615}
2018-09-04 14:45:14 +00:00
Clemens Hammacher
96a039aab1 [wasm][cleanup] Rename SsaEnv::go to SsaEnv::reached
{go} sounds active, as if the state would be changed. {reached} sounds
like an accessor.

Drive-by: Make the accessor const to further clarify that this is just
an accessor.

R=titzer@chromium.org

Bug: v8:8015
Change-Id: I80d5223b9573345d3de386d68871a9e828621fc0
Reviewed-on: https://chromium-review.googlesource.com/1203992
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55614}
2018-09-04 14:23:49 +00:00