Commit Graph

51806 Commits

Author SHA1 Message Date
Igor Sheludko
6b7bd99574 Reland "[ptr-compr] Fix incorrectly used machine types"
This is a reland of b8e8b0de4f

Original change's description:
> [ptr-compr] Fix incorrectly used machine types
> 
> in TurboFan, CSA, Wasm and compiler tests. Tagged values decompression
> logic will depend on the machine type of the value being loaded so it must
> be correct.
> 
> Bug: v8:7703
> Change-Id: Ia9e7cc1e273e5a458d9de8aaa4adb0c970413b8b
> Reviewed-on: https://chromium-review.googlesource.com/c/1319573
> Commit-Queue: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57280}

Bug: v8:7703
Change-Id: I2c740bab9a800520ebfb83334345bd5641b7e408
Reviewed-on: https://chromium-review.googlesource.com/c/1320850
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57314}
2018-11-07 11:29:32 +00:00
Predrag Rudic
d684678713 MIPS64 Correct LLD and SCD implementation in simulator.
Change-Id: I18300c788d1a0eecb280e4cac72e52db81dd681d
Reviewed-on: https://chromium-review.googlesource.com/c/1322452
Reviewed-by: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#57313}
2018-11-07 10:47:05 +00:00
Dan Elphick
47764c761f [heap] Skip offheap bytecode handlers for GC iteration
If builtins are embedded and we're not generating the snapshot, then
completely skip iterating over the dispatch table, since off-heap
bytecode handlers can never move or be collected.

Additionally the dispatch table is initialized elsewhere so skip
iterating over the table completely when serializing/deserializing.

Bug: chromium:902230
Change-Id: I2cfe5b4b325d100145d5759ff97e0c8dde7ed7a3
Reviewed-on: https://chromium-review.googlesource.com/c/1319750
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57312}
2018-11-07 10:44:43 +00:00
Sathya Gunasekaran
f7b0853dc3 [handles] Remove singleton eternal handles
This is currently dead code as intl no longer uses this to reset the
cache. Intl will use a different caching strategy in the future.

Bug: v8:5751
Change-Id: I343fa8afe5069cb7228106b3cd355d004aed199f
Reviewed-on: https://chromium-review.googlesource.com/c/1319766
Reviewed-by: Frank Tang <ftang@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57311}
2018-11-07 10:28:41 +00:00
Igor Sheludko
541e3df597 [heap] Reimplement unmapper tests using tracking page allocator
in order to make the test compatible with the pointer compression friendly
heap layout.

Bug: v8:8182
Change-Id: I34a0c597b70687f7ae7dad19df60c94520fa349f
Reviewed-on: https://chromium-review.googlesource.com/c/1317818
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57310}
2018-11-07 09:47:17 +00:00
Predrag Rudic
47ae51f70b MIPS[64] Fix build failure after porting Smi to new design.
After commit 6d706ae3a0, MIPS builders
started to fail. This CL completes that commit.

Change-Id: Ib3fef6771f7878c8760b4820e54b06e853d6be3d
Reviewed-on: https://chromium-review.googlesource.com/c/1320489
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#57309}
2018-11-07 09:12:13 +00:00
Clemens Hammacher
cff29e8dc0 [api] Fix typo in comment
R=adamk@chromium.org

Change-Id: I1299b91df21f20120c74405d3b995981368380e8
Reviewed-on: https://chromium-review.googlesource.com/c/1319762
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57308}
2018-11-07 08:53:58 +00:00
peterwmwong
c80d049a75 [builtins] Change A.p.join invalid string length errors to use ThrowInvalidStringLength runtime.
This is to enable switching from throwing a JS exception (RangeError)
to an abort when the --abort_on_stack_or_string_length_overflow flag
is set.

Bug: chromium:901652
Change-Id: Ia3ff2ec55e77a4f60d715f0bc767e6180a5e001a
Reviewed-on: https://chromium-review.googlesource.com/c/1322312
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57307}
2018-11-07 08:29:31 +00:00
Jakob Kummerow
d1cb4ef48a [ubsan] Replace Object** in Arguments and friends
as part of the ongoing quest to get rid of Object*/Object** entirely.
Design overview: https://goo.gl/Ph4CGz

Bug: v8:3770
Change-Id: Ie79a461a61203ea5a6efcd7b2a31bff1834169dd
Reviewed-on: https://chromium-review.googlesource.com/c/1316607
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57306}
2018-11-07 04:05:30 +00:00
v8-ci-autoroll-builder
9a9af77433 Update V8 DEPS.
Rolling v8/build: 47ccdba..9f8abf9

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/9a5dbc6..2e722b0

Rolling v8/third_party/depot_tools: 459aaba..6d6e0a8

Rolling v8/third_party/icu: 42d5027..834113a

Rolling v8/tools/clang: b2235ed..7798243

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

Change-Id: Ibcbc016a94cf4e22180dc6b9b78f14fb42a6bacc
Reviewed-on: https://chromium-review.googlesource.com/c/1321896
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#57305}
2018-11-07 03:47:38 +00:00
Caitlin Potter
bf84766a2c [CloneObjectIC] clone MutableHeapNumbers instead of referencing them
Adds a helper macro "CloneIfMutablePrimitive", which tests if the
operand is a MutableHeapNumber, and if so, clones it, otherwise
returning the original value.

Also modifies the signature of "CopyPropertyArrayValues" to take a
"DestroySource" enum, indicating whether or not the resulting object is
supplanting the source object or not, and removes all default
parameters from that macro (which were not used anyways).

This corrects the issue reported in chromium:901301, where
StaNamedOwnProperty was replacing the value of a MutableHeapNumber
referenced by both the cloned object and the source object.

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

Change-Id: I43df1ddc84dfa4840e680b6affeba452ce0b6629
Reviewed-on: https://chromium-review.googlesource.com/c/1318096
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57304}
2018-11-07 03:15:45 +00:00
Adam Klein
aacd3709d5 [tests] Skip webkit/dfg-inline-function-dot-caller on debug simulators
This test takes over 8 minutes to run on arm64 debug.

Also removed redundant skips for another DFG test.

Change-Id: I9c66c90fb3dc5c42ca04010e2d0245626a867ebd
Reviewed-on: https://chromium-review.googlesource.com/c/1321037
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57303}
2018-11-07 01:37:25 +00:00
Aseem Garg
2e6f4329a2 [wasm] fix clear context group for wasm
This CL only clears the wasm translations that correspond to the context
group being reset instead of clearing all.

R=clemensh@chromium.org,kozyatinskiy@chromium.org
BUG=chromium:892864

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ib5af0489cbdb7c9b1571cb9cf935fda3bee14015
Reviewed-on: https://chromium-review.googlesource.com/c/1292676
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57302}
2018-11-06 22:27:17 +00:00
Adam Klein
894402b30a Revert "[Intl] Handle 'c' pattern for DateTimeFormat"
This reverts commit 007c003426.

Reason for revert: fails on TSAN bots (e.g., https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/23395)

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}

TBR=jshin@chromium.org,gsathya@chromium.org,ftang@chromium.org

Change-Id: Iff0afbcd4527428e16b779d84dc7b8b70eb1fe16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8413
Reviewed-on: https://chromium-review.googlesource.com/c/1320891
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57301}
2018-11-06 21:16:35 +00:00
Adam Klein
764b4095d3 [testrunner] Remove last use of 'simulator' and its handling code
'simulator_run' is now used exclusively in test/*/*.status.

Change-Id: I501b7ffd19e2476f4c803ed3d25cba69d67039fa
Reviewed-on: https://chromium-review.googlesource.com/c/1318610
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57300}
2018-11-06 20:04:38 +00:00
Frank Tang
007c003426 [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}
2018-11-06 19:46:25 +00:00
Adam Klein
340920e1fa [mjsunit] Improve performance of compiler/osr-assert test
This test currently takes nearly 10 minutes on the arm64 debug builder.

Bug: v8:7783
Change-Id: I500fc026b01873e666f32062d790eca3f34455b9
Reviewed-on: https://chromium-review.googlesource.com/c/1318495
Commit-Queue: Adam Klein <adamk@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57298}
2018-11-06 19:30:24 +00:00
Junliang Yan
09b29b0962 s390x: ignore luci-go on the arch because it's missing
Bug: v8:8420

Change-Id: Ie3ca4cbee01a1b19c82630ec205915ff6a00b303
Reviewed-on: https://chromium-review.googlesource.com/c/1320449
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57297}
2018-11-06 19:23:35 +00:00
Junliang Yan
9237a05b94 PPC/s390x: skip atomics(64)-stress on sim
simulator takes too long to run.

Change-Id: I77f6e932129bfed7d1cdb7e9ccf78a4608554ff5
Reviewed-on: https://chromium-review.googlesource.com/c/1320389
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57296}
2018-11-06 19:22:33 +00:00
Junliang Yan
194588d469 PPC/s390: [ubsan] Port Smi to the new design
Port 6d706ae3a0

Original Commit Message:

    and split Smi out of objects.h into smi.h.

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

Change-Id: Id876a65c3e0af550caa246090b60580645faedc5
Reviewed-on: https://chromium-review.googlesource.com/c/1320032
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57295}
2018-11-06 18:53:27 +00:00
Michael Achenbach
045756f32b Revert "[ptr-compr] Fix incorrectly used machine types"
This reverts commit b8e8b0de4f.

Reason for revert:
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm%20-%20debug/8276

Original change's description:
> [ptr-compr] Fix incorrectly used machine types
> 
> in TurboFan, CSA, Wasm and compiler tests. Tagged values decompression
> logic will depend on the machine type of the value being loaded so it must
> be correct.
> 
> Bug: v8:7703
> Change-Id: Ia9e7cc1e273e5a458d9de8aaa4adb0c970413b8b
> Reviewed-on: https://chromium-review.googlesource.com/c/1319573
> Commit-Queue: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57280}

TBR=mstarzinger@chromium.org,ishell@chromium.org

Change-Id: Ia97d5bfebf8d8fe1b2b7607f63024b60cf2c584f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7703
Reviewed-on: https://chromium-review.googlesource.com/c/1320349
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57294}
2018-11-06 18:10:54 +00:00
Sigurd Schneider
ab445f8b4b [turbolizer] Make deploy script nicer
Change-Id: Ibe96234f101ce1e3a8fd61ccf387aa4bb6da6067
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1319870
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57293}
2018-11-06 17:46:58 +00:00
Jakob Kummerow
e0f875fdec [ubsan] Port FieldType to the new design
Bug: v8:3770
Change-Id: I6e2782a7f8589c466b54987c850d41d4ff5f6489
Reviewed-on: https://chromium-review.googlesource.com/c/1316618
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57292}
2018-11-06 17:22:17 +00:00
Clemens Hammacher
c45a3275de [wasm] Don't store AsyncCompileJob in CompileStep
The CompileStep is only invoked via the {AsyncCompileJob} that owns it,
so we can just pass a pointer to the AsyncCompileJob instead of storing
it in the step itself.

R=ahaas@chromium.org

Bug: v8:8238, v8:7921
Change-Id: I92eda222ace2d5fef5af7663175c62fa7601810c
Reviewed-on: https://chromium-review.googlesource.com/c/1319759
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57291}
2018-11-06 16:56:42 +00:00
Jaroslav Sevcik
ab5b52f910 [constant-tracking] Refactor the proto function checks, fix regexp fast path check.
This introduces a utility function on code stub assembler to check that
a map has given prototype object map. In addition, if constant field
tracking is active, it will check that a given field is still constant
(typically a function that is assumed not to be patched).

This also fixes a fast path check in regexp C++ code to properly detect
that "exec" function was modified on RegExp's prototype when constant
field tracking is on.

Bug: v8:5495, v8:8361
Change-Id: I98476db46ba4633124cf1437be90aea3585ce978
Reviewed-on: https://chromium-review.googlesource.com/c/1297954
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57290}
2018-11-06 16:31:25 +00:00
Joyee Cheung
6c3d784c16 Rename fields to names or members
Rename variables and flag names so that the classes can be reused
by private methods implementation.

In particular:

Rename "fields" to "members" in the initializer so that we can
initialize both fields and private methods/accessors there,
for example:

instance_fields_initializer -> instance_members_initializer
InitializeClassFieldsStatement -> InitializeClassMembersStatement

Rename "private field" to "private name" for the private symbols
used to implement private fields so that we can use them to
store private methods/accessors later as well, for example:

private_field_name_var -> private_name_var
NewPrivateFieldSymbol -> NewPrivateNameSymbol

The follow-on is in
https://chromium-review.googlesource.com/c/v8/v8/+/1301018

The design doc is in
https://docs.google.com/document/d/1T-Ql6HOIH2U_8YjWkwK2rTfywwb7b3Qe8d3jkz72KwA/edit?usp=sharing

Bug: v8:8330
Change-Id: I1cdca8def711da879b6e4d67c5ff0a5a4a36abbe
Reviewed-on: https://chromium-review.googlesource.com/c/1312597
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/master@{#57289}
2018-11-06 16:04:08 +00:00
Clemens Hammacher
e42abbfebe [wasm][cleanup] Reorder members of AsyncCompileJob
The order is: inner classes, friend classes, fields, methods.
Before, fields and methods were mixed up.

R=ahaas@chromium.org

Bug: v8:8238
Change-Id: I4a6834785f2285e62e24c073611885378046b88b
Reviewed-on: https://chromium-review.googlesource.com/c/1319756
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57288}
2018-11-06 15:42:52 +00:00
Sigurd Schneider
8c9f5ca80b [turbolizer] Do not scroll toolbox in middle pane
Change-Id: I1fe4454e3c0f2ec5cc044e36c311012d41e896a7
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1319768
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57287}
2018-11-06 15:25:34 +00:00
Sigurd Schneider
5d83fdc030 [turbolizer] Fix bug in source position injection
Change-Id: If8faa3c7c0324fc9d0a2704533278828c62d5b91
Notry: true
Bug: v8:8128, v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1319765
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57286}
2018-11-06 15:17:50 +00:00
Sigurd Schneider
201a0c67b8 [turbofan] Don't loose checked Uint32 -> Int32 conversion
Bug: chromium:901798
Change-Id: I4b479d6431cc7cdfa53f9cdf6283d2ff86e32821
Reviewed-on: https://chromium-review.googlesource.com/c/1319760
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57285}
2018-11-06 15:16:48 +00:00
Clemens Hammacher
1e1ca02865 [wasm] Slightly improve async tests
These tests are also used for streaming. This CL changes the test to
actually output the exception that unexpectedly happened.

R=ahaas@chromium.org

Bug: v8:7921
Change-Id: Ia9c91a7d3d9452f9c0180329a5434f049b56c3c8
Reviewed-on: https://chromium-review.googlesource.com/c/1319755
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57284}
2018-11-06 15:09:52 +00:00
Clemens Hammacher
ec8836fb4d [wasm] Fix test platform to process foreground tasks in order
Any sane platform would process foreground tasks in a FIFO order. Hence
our mock platform in the tests should do the same.

R=ahaas@chromium.org

Bug: v8:7921
Change-Id: Iafe1d9f2eb2a0c168f7e994f05b054756ef9e4af
Reviewed-on: https://chromium-review.googlesource.com/c/1319754
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57283}
2018-11-06 14:56:10 +00:00
Michael Starzinger
706042680c [tools] Make tick processor report error to stderr.
R=herhut@chromium.org

Change-Id: Iaac8c2e036a0343c4d4a5c50bc91fb3d35e5d760
Reviewed-on: https://chromium-review.googlesource.com/c/1319586
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57282}
2018-11-06 14:25:55 +00:00
Jakob Gruber
5fa584c871 [csa] Check maximal array size on allocation
This condition is easy to miss at call sites and could create 'fast'
arrays that are too large. Let's make this a runtime CHECK instead.

Bug: chromium:901944
Change-Id: I8f8f161781414944b67099007a98f76972496ae2
Reviewed-on: https://chromium-review.googlesource.com/c/1319571
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57281}
2018-11-06 14:22:55 +00:00
Igor Sheludko
b8e8b0de4f [ptr-compr] Fix incorrectly used machine types
in TurboFan, CSA, Wasm and compiler tests. Tagged values decompression
logic will depend on the machine type of the value being loaded so it must
be correct.

Bug: v8:7703
Change-Id: Ia9e7cc1e273e5a458d9de8aaa4adb0c970413b8b
Reviewed-on: https://chromium-review.googlesource.com/c/1319573
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57280}
2018-11-06 14:21:44 +00:00
Jakob Gruber
1444bebe76 [array] Weaken bounds checks in Array.p.sort
The array length is modifiable by user code that is called as a
side-effect during the sorting algorithm. We thus cannot base any
guarantees on the current length, but must reference the initially-read
array length instead.

Note that even though the algorithm may read and write from beyond
the current array length value, this adheres to the spec, which only
requires accesses to be within the original array dimensions (i.e.: 0
<= i < original array length).

Bug: chromium:901633
Change-Id: Id765e80d4231ff6f2a73e040ec94c2b07f8c5b0f
Reviewed-on: https://chromium-review.googlesource.com/c/1317814
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57279}
2018-11-06 14:04:38 +00:00
Michael Starzinger
f520361520 [cleanup] Remove unused abort reason strings.
R=herhut@chromium.org

Change-Id: I7e81d233211ba29d9c48accda63a365e31f51617
Reviewed-on: https://chromium-review.googlesource.com/c/1319582
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57278}
2018-11-06 13:53:41 +00:00
Michael Starzinger
73361422be [wasm] Fix generated function name when logging code.
R=herhut@chromium.org

Change-Id: Ic7fede18b89a14a8e0af255add5678a70b699475
Reviewed-on: https://chromium-review.googlesource.com/c/1319580
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57277}
2018-11-06 13:52:35 +00:00
Sigurd Schneider
62a8054d9b [code-assembler] Make phi creation deterministic
Phi creation in the code assembler was dependent on the addresses
of the CodeAssemblerVariable::Impl object. This caused non-determinism
in mksnapshot which sometimes occurred on Windows.

This CL adds IDs to CodeAssemblerVariable::Impl objects and ensures
all iterations are done in ID order instead of object address order.


Change-Id: I2b370dc5153202be864a5c13289e70f5ebd59e2e
Bug: v8:8391
Reviewed-on: https://chromium-review.googlesource.com/c/1319749
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57276}
2018-11-06 13:04:49 +00:00
Dan Elphick
e896905547 [snapshot] Clean up Strong root iteration in deserialization
When deserializing the startup snapshot, call IterateStrongRoots with
VISIT_FOR_SERIALIZATION rather than VISIT_ONLY_STRONG. To compensate,
make the StartupDeserializer explicitly iterate over the partial
snapshot cache.

This makes the deserializer and serializer consistent in their use of
the function and makes their differences explicit in the snapshot code
itself.

Bug: chromium:902230
Change-Id: I3a2ac858f4f6b3097b98a10ed2dd5ac5b9bf83e8
Reviewed-on: https://chromium-review.googlesource.com/c/1319585
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57275}
2018-11-06 12:55:35 +00:00
Sathya Gunasekaran
8fd5fa2238 [Intl] Validate extension keys
- Fix ParseBCP47 to return just the extension. The second argument to
  substr function is actually the length, not the end position of the
  substring :')
- Remove extension keys that aren't part of the relevant extension keys
- Use 'ca' as an relevant extension key for DateTimeFormat
- Use the canonicalized locale tag after create the ICU locale is
  created, rather than the input locale tag.

Bug: chromium:895942, v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I189709714d847e684b04409b734a60ff04ed7dd2
Reviewed-on: https://chromium-review.googlesource.com/c/1291076
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57274}
2018-11-06 12:11:50 +00:00
Mike Stanton
9681eb5fa9 [Builtins] Create DWARF debugging info for JavaScript builtins
Bug: v8:8418
Change-Id: I6d2efdf87bb4fc5454e5a4ee8e5a66463533615e
Reviewed-on: https://chromium-review.googlesource.com/c/1317810
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57273}
2018-11-06 12:06:30 +00:00
Yang Guo
4495cba3d6 [snapshot] clear internal fields that are serialized by callback
This is to ensure the snapshot is deterministic.

Internal fields can contain:
- reference to heap object
- embedder-defined aligned pointer
- a smi

The latter two are not distinguishable by V8, so if the serializer
callback returns non-zero value, we consider it to be an aligned pointer
and clear it to ensure that the snapshot does not contain memory
addresses that may not be deterministic. If the callback returns
{ nullptr, 0 } as result, we consider it to be a smi or some in-place
data that we then serialize verbatim.


R=jgruber@chromium.org

Bug: chromium:870584
Change-Id: I3cf9abf135ffd28d8138fa32636b12596b076e13
Reviewed-on: https://chromium-review.googlesource.com/c/1304441
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57272}
2018-11-06 11:48:19 +00:00
Peter Marshall
e18fec6b63 [cpu-profiler] Skip a failing test for multiple isolates
Causing ASAN failures

Bug: v8:5193
Change-Id: I7a899a6390bd1258a1afc8738e85f73239f44a59
Reviewed-on: https://chromium-review.googlesource.com/c/1319583
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57271}
2018-11-06 11:03:40 +00:00
Daniel Clifford
769be76162 Reland "Fix Array.prototype.sort speed regression"
This is a reland of c88994f84c

Turned out to not be the issue.

Original change's description:
> Fix Array.prototype.sort speed regression
>
> CanUseSameAccessor<ElementsAccessor: type> is array-sort.tq is super
> performance-critical. Reverting the type-safe cleanup made in this
> function while landing Array.prototype.slice.
>
> Bug=chromium:852764
>
> Change-Id: I1252d2ff8e431581f916794807e59abb39248abb
> Reviewed-on: https://chromium-review.googlesource.com/c/1317815
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Daniel Clifford <danno@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57248}

TBR=danno@chromium.org

Change-Id: I627a131a8525ae4e131c6467561cab9832f3792f
Reviewed-on: https://chromium-review.googlesource.com/c/1319581
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57270}
2018-11-06 10:55:42 +00:00
Georg Neis
9e83f1f2d9 Skip spread fast-path if input string size exceeds kMaxFastArrayLength.
Bug: chromium:901944
Change-Id: Iaf1dfaa5763162ae7952381fb8b64661d85ea1a8
Reviewed-on: https://chromium-review.googlesource.com/c/1317822
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57269}
2018-11-06 10:34:24 +00:00
Toon Verwaest
ab101d05ab [parser] Immediately throw if () isn't followed by =>
Change-Id: Iefea33f47ee4492c9c4d4e105e30f7e2d9128bc7
Reviewed-on: https://chromium-review.googlesource.com/c/1319576
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57268}
2018-11-06 10:23:56 +00:00
Sigurd Schneider
32224e4a14 [turbolizer] Improve page-load performance for >10MB json files
Notry: true
Change-Id: Iacc8aadc62956cf5fab13c60a9eaa52318519d62
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1317813
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57267}
2018-11-06 10:22:36 +00:00
Michael Achenbach
9f3d2d55fa [build] Add configs for pointer-compression bots
NOTRY=true
TBR=sergiyb@chromium.org

Bug: v8:8421
Change-Id: Ifbc7271da8a210b197b698f92aad925d3adf7244
Reviewed-on: https://chromium-review.googlesource.com/c/1319579
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57266}
2018-11-06 10:12:23 +00:00
Leszek Swirski
aeb74d1ca0 Revert "Fix Array.prototype.sort speed regression"
This reverts commit c88994f84c.

Reason for revert: Seems to break AccessibilitySelectionTest.List in webkit_unit_tests (https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Mac/15618)

Original change's description:
> Fix Array.prototype.sort speed regression
> 
> CanUseSameAccessor<ElementsAccessor: type> is array-sort.tq is super
> performance-critical. Reverting the type-safe cleanup made in this
> function while landing Array.prototype.slice.
> 
> Bug=chromium:852764
> 
> Change-Id: I1252d2ff8e431581f916794807e59abb39248abb
> Reviewed-on: https://chromium-review.googlesource.com/c/1317815
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Daniel Clifford <danno@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57248}

TBR=danno@chromium.org,jgruber@chromium.org

Change-Id: Ie447fd0382fee344326d928398595aa450ccdcca
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1319577
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57265}
2018-11-06 09:50:05 +00:00