Commit Graph

54346 Commits

Author SHA1 Message Date
Deepti Gandluri
5d0f5bd739 Revert "[wasm] ReturnCall Implementation (interpreter)"
This reverts commit 6a88f0b1e4.

Reason for revert: Fails UBSAN bots - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20UBSan/4866

Original change's description:
> [wasm] ReturnCall Implementation (interpreter)
> 
> Implement the ReturnCall functionality for the interpreter.
> 
> Note that some tests have had to be deferred to the implementation
> of ReturnCall for TurboFan.
> 
> Bug: v8:7431
> Change-Id: I091528e72f9113ddf1929bd1a5650b490bc8cc0c
> Reviewed-on: https://chromium-review.googlesource.com/c/1467343
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
> Commit-Queue: Francis McCabe <fgm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59803}

TBR=adamk@chromium.org,ahaas@chromium.org,clemensh@chromium.org,fgm@chromium.org

Change-Id: Ib2a85e586549e9c36f94d70f04f6e103a8272367
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7431
Reviewed-on: https://chromium-review.googlesource.com/c/1484574
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59804}
2019-02-22 23:31:54 +00:00
Francis McCabe
6a88f0b1e4 [wasm] ReturnCall Implementation (interpreter)
Implement the ReturnCall functionality for the interpreter.

Note that some tests have had to be deferred to the implementation
of ReturnCall for TurboFan.

Bug: v8:7431
Change-Id: I091528e72f9113ddf1929bd1a5650b490bc8cc0c
Reviewed-on: https://chromium-review.googlesource.com/c/1467343
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59803}
2019-02-22 19:27:10 +00:00
Ulan Degenbaev
05de6ac1e7 [heap] Improve work stealing for concurrent marking
This fixes a corner case where the main thread has items in the local
segments but the global pool is empty. In such case concurrent marking
tasks are not posted and marking is performed on the main thread.

Bug: chromium:934453
Change-Id: Ic34cd4ecb59b848021d8d8b086904b415669f5e6
Reviewed-on: https://chromium-review.googlesource.com/c/1482739
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59802}
2019-02-22 19:26:05 +00:00
Deepti Gandluri
dab2fe6f6a Revert "Temporarily unship constant field tracking"
This reverts commit 4950dec761.

Reason for revert: Breaks on stress_background_compile variant https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8920804687849034208/+/steps/Mjsunit/0/logs/number-divide/0

Original change's description:
> Temporarily unship constant field tracking
> 
> This is to get better handle on improvements and regressions.
> 
> Bug: v8:8361, chromium:930680
> Change-Id: I2963b55f3480036ada885267a277a95d24a67656
> Reviewed-on: https://chromium-review.googlesource.com/c/1482737
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59800}

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

Change-Id: Ibf38c9cb2bf0921b7d93972a1e6cdd4c3d57c592
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8361, chromium:930680
Reviewed-on: https://chromium-review.googlesource.com/c/1483610
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59801}
2019-02-22 19:18:16 +00:00
Jaroslav Sevcik
4950dec761 Temporarily unship constant field tracking
This is to get better handle on improvements and regressions.

Bug: v8:8361, chromium:930680
Change-Id: I2963b55f3480036ada885267a277a95d24a67656
Reviewed-on: https://chromium-review.googlesource.com/c/1482737
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59800}
2019-02-22 16:53:05 +00:00
Junliang Yan
dc13819ff4 [wasm] fix wasm atomic wait callback test on BE
Bug: v8:8075
Change-Id: I8547706b56bab28dc11685e73b5fc084c8f1bf69
Reviewed-on: https://chromium-review.googlesource.com/c/1480912
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59799}
2019-02-22 16:02:26 +00:00
Santiago Aboy Solanes
03e13f7a47 [Turbofan] Introduce LoadStackArgument to represent loading arguments from the stack.
This now makes it so TurboFan now uses full pointer loads for arguments values
located on stack.

Bug: v8:8876, v8:7703
Change-Id: Ib82d6f3b0f4c8d33669c7f86ce803381d210c019
Reviewed-on: https://chromium-review.googlesource.com/c/1480382
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59798}
2019-02-22 15:52:06 +00:00
Igor Sheludko
acf741b986 [ptr-compr] Fix broken string externalization tests
... which will work for 32-bit kTaggedSize but we are not there yet.

Bug: v8:7703
Change-Id: Iaceb126ba316f37532221597cbd4f7e85ceb4fb9
Reviewed-on: https://chromium-review.googlesource.com/c/1482917
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59797}
2019-02-22 15:30:21 +00:00
Farazmand
d104907c4b PPC/s390: [wasm] Stack checks should not call runtime functions but stubs
Port b0b1ba9add

Original Commit Message:

    This CL changes the secondary stack check for WebAssembly functions
    with big stack frames in the code generator from calling a runtime
    function to calling a code stub. The runtime function caused problems
    with serialization.

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

Change-Id: Ie2175eedb043304405fd271c3bf1337dac76ab49
Reviewed-on: https://chromium-review.googlesource.com/c/1483210
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59796}
2019-02-22 15:29:16 +00:00
Stephan Herhut
e81e5030a4 [regalloc] Also consider flow for blocked registers
Also cleans up the code slightly.

Change-Id: I9d1e7305f69e5f746833ed7985a320023fc90f2e
Reviewed-on: https://chromium-review.googlesource.com/c/1477744
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59795}
2019-02-22 14:34:28 +00:00
Simon Zünd
4beeb1667f [torque] Fix column numbers in source positions
The recent introduction of 'end' positions incorrectly tracked column
positions. This CL fixes that.

R=tebbi@chromium.org

Bug: v8:7793
Change-Id: I2170ebb2dda062c9842dad657c3c516e0550b459
Reviewed-on: https://chromium-review.googlesource.com/c/1482830
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59794}
2019-02-22 13:42:33 +00:00
Igor Sheludko
852dd8026d Reland "[cleanup] Cleanup handling of padding field in Map"
This is a reland of 6f76328085

Original change's description:
> [cleanup] Cleanup handling of padding field in Map
> 
> Bug: v8:8834
> Change-Id: Iae9cbcccb8747298c5680ac1e865efebee85acec
> Reviewed-on: https://chromium-review.googlesource.com/c/1480385
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Igor Sheludko <ishell@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59774}

Bug: v8:8834
Change-Id: I6a3b436984a7a412f07bb66647864472a134d264
Reviewed-on: https://chromium-review.googlesource.com/c/1482914
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59793}
2019-02-22 13:06:33 +00:00
Maciej Goszczycki
8fb451c8d9 [cleanup] Remove isolate arument from ComputeAndSetHash
All HeapObjects already have roots access so this was redundant and
made ComputeAndSetHash difficult to use.
Eventually we need to get rid of the Isolate version of HashSeed,
but this will touch a lot of files, so leaving it for now.

Bug: v8:8562
Change-Id: I27d8fe10df72494d0a2146f408a2158cf02ce226
Reviewed-on: https://chromium-review.googlesource.com/c/1481630
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59792}
2019-02-22 12:09:23 +00:00
Michael Achenbach
2a5be38bbb Whitespace change to trigger bots
Change-Id: I41bd7204e6c94bb26d25a16cb863dba1fb60688b
Reviewed-on: https://chromium-review.googlesource.com/c/1482912
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59791}
2019-02-22 11:36:52 +00:00
Andreas Haas
b0b1ba9add [wasm] Stack checks should not call runtime functions but stubs
This CL changes the secondary stack check for WebAssembly functions
with big stack frames in the code generator from calling a runtime
function to calling a code stub. The runtime function caused problems
with serialization.

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

Bug: v8:8882
Change-Id: Iab4a1a8af233726d322722d87433f0cb33e60ac3
Reviewed-on: https://chromium-review.googlesource.com/c/1480375
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59790}
2019-02-22 10:15:13 +00:00
Michael Achenbach
ee3f62fb0d Update V8 DEPS.
Rolling v8/build: e148b4c..ba245a9

Rolling v8/buildtools: 106e9fc..3e50219

Rolling v8/buildtools/third_party/libc++/trunk: e713cc0..22d3f6d

Rolling v8/buildtools/third_party/libc++abi/trunk: 307bb62..0d52966

Rolling v8/test/wasm-js/data: 1fff613..2e2e3a9

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/11e283f..76fb063

Rolling v8/third_party/depot_tools: 61d0c29..36974ad

Rolling v8/third_party/icu: 07e7295..960f195

Rolling v8/tools/clang: 1dc7541..987f14b

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

Bug: v8:8242, v8:8246, v8:8260, v8:8894
Change-Id: I359fb0609c9487488120b6ab8b432db3c5ec2cec
Reviewed-on: https://chromium-review.googlesource.com/c/1482118
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#59789}
2019-02-22 10:07:13 +00:00
Dan Elphick
79fb274461 [cleanup] Fix misplaced undef in frames.h
Move FRAME_SUMMARY_FIELD undef to after its define.

Bug: v8:8834
Change-Id: I431b3b8fd3de9589c10364178fd00882d74f19bc
Reviewed-on: https://chromium-review.googlesource.com/c/1480389
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59788}
2019-02-22 10:00:43 +00:00
Jaroslav Sevcik
6660639e7e [turbofan] Re-type JSAdd("", prim) reduction to ToString.
Bug: chromium:934175
Change-Id: I00b4d6931d196037f0ead168cc9cbb19cb83a12d
Reviewed-on: https://chromium-review.googlesource.com/c/1481632
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59787}
2019-02-22 09:24:53 +00:00
Farazmand
6d7c4d78e6 PPC/s390: casting the output of split type to an integer
A compiler may not implicitly cast the output of first->spill_type() to an integer, adding a cast to fix the problem

Change-Id: Ic4e779d447fba9d040b81ee315327b631dfd6ad3
Reviewed-on: https://chromium-review.googlesource.com/c/1480913
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59786}
2019-02-22 08:33:09 +00:00
Jon Kunkee
7803fa68f4 Move ARM64 Assembler::nop definition from header to source file
When Assembler::nop is in the header, it is considered an inline
function. With GN arg is_component_build=true, the V8_EXPORT_PRIVATE
mark on the class causes it to be exported every time the header is
included. This, in turn, produces a reference to
Register::XRegFromCode.

Register::XRegFromCode is only ever defined as an inlined function, so
that reference is never fulfilled.

Clang can avoid this using the /Fc:dllexportInlines- flag to suppress
the export of Assembler::nop and so avoid generating the reference to
Register::XRegFromCode.

MSVC does not support this flag, so this change suppresses the export
by moving Assembler::nop's definition to the .cc file. This also allows
it to use the inline definition of Register::XRegFromCode.

Bug: v8:8870
Change-Id: I1cd33195677256c9dd06c7047fe84e1b912d3151
Reviewed-on: https://chromium-review.googlesource.com/c/1478216
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59785}
2019-02-22 08:31:49 +00:00
Erik Chen
c7efd0dbf4 Roll luci/client-py to tip of tree.
Recent changes to luci/client-py contain functionality improvement/fixes to
swarming.py. This is needed by v8 recipes to dispatch swarming tasks.

Bug: chromium:934482
Change-Id: Icdbf213918f10d5bc67d6ce078179e95888281e5
Reviewed-on: https://chromium-review.googlesource.com/c/1480920
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59784}
2019-02-22 02:17:37 +00:00
Francis McCabe
997982e980 [wasm] Clean up on missed reviewers comments.
Bug: v8:7431
Change-Id: I80ec116d21d67868747093887ca4660675dab8e4
Reviewed-on: https://chromium-review.googlesource.com/c/1473795
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59783}
2019-02-21 22:56:26 +00:00
Sathya Gunasekaran
b724020e00 Revert "[Intl] Ship Intl.Locale"
This reverts commit f1b21a1066.

Reason for revert: breaks https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/24373

Original change's description:
> [Intl] Ship Intl.Locale
> 
> Bug: v8:7684
> Change-Id: I5994c3fc4b97c4322c4e0cf20305da75e66efd5a
> Reviewed-on: https://chromium-review.googlesource.com/c/1478220
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59780}

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

Change-Id: I7ae570d3cd0dd62f2b1a37c43b7f8b9ca51d7a5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7684
Reviewed-on: https://chromium-review.googlesource.com/c/1481901
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59782}
2019-02-21 22:12:47 +00:00
Tobias Tebbi
a55608d81c Reland "[csa] disable selected bounds checks for remaining regressions"
This is a reland of c3148664bf

Original change's description:
> [csa] disable selected bounds checks for remaining regressions
>
> Bug: chromium:932919
> TBR: jarin@chromium.org
> Change-Id: Id1125dcd2978f790af4cf00125bcbb94741d0bf8
> Reviewed-on: https://chromium-review.googlesource.com/c/1480387
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59773}

Bug: chromium:932919
Change-Id: Ifb115ded2ff272abae4fba557ef669eee8e3c687
TBR: tebbi@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/1481746
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59781}
2019-02-21 21:26:38 +00:00
Frank Tang
f1b21a1066 [Intl] Ship Intl.Locale
Bug: v8:7684
Change-Id: I5994c3fc4b97c4322c4e0cf20305da75e66efd5a
Reviewed-on: https://chromium-review.googlesource.com/c/1478220
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59780}
2019-02-21 21:04:18 +00:00
Sathya Gunasekaran
8f3410c9a5 [class] Ship private fields
Bug: v8:5368
Change-Id: I0d33076f8e9d31e07535b28f783e33cd24b946ad
Reviewed-on: https://chromium-review.googlesource.com/c/1481024
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59779}
2019-02-21 20:38:38 +00:00
Tom Tan
8dea08e856 [Win][ARM64] Fix shift mask constant for LLP64
Windows ARM64 does cross build for V8 and runs snapshot tool on build host
under simulator. Simulator is built with LLP64 data model so 0xFFFFL is 32-bit
long by default. It causes problem for the expression "0xFFFFL << shift" when
shift is 32, which actually does nothing on x64 because 0xFFFFL is only 32-bit.
The issue happens for instruction "movk rd, NUM lsl 32" which is simulated in

Simulator::VisitMoveWideImmediate. "0xFFFL << shift" acts as mask to clear bits
32-47 of the orignal value in rd. Under LLP64, the mask happens unexpectedly to
the lowest 16 bits of rd register and corrupts the result of rd. Specify 0xFFFFL
as 64 bit as 0xFFFFLL fixes this problem.

Bug: chromium:893460
Change-Id: Ibd911ce595e83637432a3e1f79a9bf28fcbe09f6
Reviewed-on: https://chromium-review.googlesource.com/c/1475330
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59778}
2019-02-21 20:30:30 +00:00
Sathya Gunasekaran
948c171865 Revert "[csa] disable selected bounds checks for remaining regressions"
This reverts commit c3148664bf.

Reason for revert: speculative revert for MSAN failure https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/25398

Original change's description:
> [csa] disable selected bounds checks for remaining regressions
> 
> Bug: chromium:932919
> TBR: jarin@chromium.org
> Change-Id: Id1125dcd2978f790af4cf00125bcbb94741d0bf8
> Reviewed-on: https://chromium-review.googlesource.com/c/1480387
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59773}

TBR=jarin@chromium.org,jgruber@chromium.org,leszeks@chromium.org,tebbi@chromium.org

Change-Id: Ib6cb825375725773db73f40ad3b65e084645b568
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:932919
Reviewed-on: https://chromium-review.googlesource.com/c/1480914
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59777}
2019-02-21 20:25:53 +00:00
Sathya Gunasekaran
d439296eb5 Revert "[cleanup] Cleanup handling of padding field in Map"
This reverts commit 6f76328085.

Reason for revert: speculative revert for MSAN failure:
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/25398

Original change's description:
> [cleanup] Cleanup handling of padding field in Map
> 
> Bug: v8:8834
> Change-Id: Iae9cbcccb8747298c5680ac1e865efebee85acec
> Reviewed-on: https://chromium-review.googlesource.com/c/1480385
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Igor Sheludko <ishell@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59774}

TBR=ulan@chromium.org,ishell@chromium.org,verwaest@chromium.org

Change-Id: Icf42e4566382c8539c8d7fb709a91bf0c6353858
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8834
Reviewed-on: https://chromium-review.googlesource.com/c/1481025
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59776}
2019-02-21 18:38:37 +00:00
Jaroslav Sevcik
6c22ae69da Stub cache: use more bits of map address for hashing.
This should recover the regression from constant field tracking
in Speedometer/angular.

Bug: chromium:930680
Change-Id: I9ccbcbdaf11556596ed5df5c08829b7ae329cab7
Reviewed-on: https://chromium-review.googlesource.com/c/1480383
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59775}
2019-02-21 17:24:56 +00:00
Igor Sheludko
6f76328085 [cleanup] Cleanup handling of padding field in Map
Bug: v8:8834
Change-Id: Iae9cbcccb8747298c5680ac1e865efebee85acec
Reviewed-on: https://chromium-review.googlesource.com/c/1480385
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59774}
2019-02-21 16:56:46 +00:00
Tobias Tebbi
c3148664bf [csa] disable selected bounds checks for remaining regressions
Bug: chromium:932919
TBR: jarin@chromium.org
Change-Id: Id1125dcd2978f790af4cf00125bcbb94741d0bf8
Reviewed-on: https://chromium-review.googlesource.com/c/1480387
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59773}
2019-02-21 16:53:07 +00:00
Igor Sheludko
7909a5f5bb [ptr-compr] Fix alignment issues in FastAsciiConvert()
With 32-bit kTaggedSize string data address may not be kSystemPointerSize
aligned.

Bug: v8:7703
Change-Id: I243e6844bed62d96f8b07328fffe23e83512e8e5
Reviewed-on: https://chromium-review.googlesource.com/c/1481217
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59772}
2019-02-21 16:41:46 +00:00
Stephan Herhut
08d5f432df [regalloc] Support spilling modes in range overview
This adds special prining for the different spill kinds.

Change-Id: Ib03da8e46b98c62b83c686ee90ae24c9052ddb39
Reviewed-on: https://chromium-review.googlesource.com/c/1477743
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59771}
2019-02-21 15:23:24 +00:00
Igor Sheludko
69e7ded547 [ptr-compr] Fix string externalization
With 32-bit kTaggedSize small strings may be not externalizable.

Bug: v8:7703
Change-Id: I34002568214742dadb2358fca97dfb4b92a5342a
Reviewed-on: https://chromium-review.googlesource.com/c/1480373
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59770}
2019-02-21 15:03:33 +00:00
Nico Weber
e0fd36b78c v8: Prep for removing TRACE_EVENT_SCOPED_CONTEXT.
It's only used in tests, and for some reason v8 refers to a macro defined
in src.git, so I need to remove this in v8 first before I can remove it
in Chromium.

Bug: chromium:934255
Change-Id: I31ea32aa43cf7a5f518def7b91dce99dcb268709
Reviewed-on: https://chromium-review.googlesource.com/c/1480911
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59769}
2019-02-21 14:59:43 +00:00
Leszek Swirski
16de69bd07 Revert "Update MicrotaskQueue ring buffer for pointer compression"
This reverts commit 8a1e927fdb.

Reason for revert: Seems to break chromium build (https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20-%20pointer%20compression/1987)

Original change's description:
> Update MicrotaskQueue ring buffer for pointer compression
> 
> This updates MicrotaskQueue to use pointer-compression style object
> reference.
> 
> Bug: v8:8124
> Change-Id: I7bef92a8760609f3045d2025b145b9a0ec880424
> Reviewed-on: https://chromium-review.googlesource.com/c/1478320
> Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59762}

TBR=bmeurer@chromium.org,tzik@chromium.org

Change-Id: Id09e98271e3f301985a4312ecec27b2c292f9644
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8124
Reviewed-on: https://chromium-review.googlesource.com/c/1480381
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59768}
2019-02-21 14:44:09 +00:00
Farazmand
f8696d4e4c PPC/s390: [cleanup] Remove obsolete representations.
Port adb7e37b28

Original Commit Message:

    In the Crankshaft days we (mis)used the Representation to also express
    the various internal representations that the compiler understands. But
    with TurboFan we now have proper MachineRepresentation and MachineType,
    which do that independently. So there's no need to have this in the
    Representation class anymore, and instead the Representation class only
    needs to deal with the field representations.

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

Change-Id: Ie3c8062786d5fd42872e22be01cea45d719ea0a4
Reviewed-on: https://chromium-review.googlesource.com/c/1479972
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59767}
2019-02-21 14:39:47 +00:00
Michael Starzinger
cc787e174e [asm.js] Fix handling of bogus code after export statement.
This makes the asm.js validator reject source with trailing expressions
after the module exporting return statement. Most of the time trailing
statements would not affect semantics, since they are unreachable. In
some cases we might hide an expected ReferenceError tough.

R=leszeks@chromium.org
TEST=mjsunit/regress/regress-crbug-934138
BUG=chromium:934138

Change-Id: I790366204f5e9c943715a065b5229f2442e2c86e
Reviewed-on: https://chromium-review.googlesource.com/c/1481216
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59766}
2019-02-21 14:37:37 +00:00
Jakob Gruber
285519582b Extend error messages for blob or isolate verification failures
Bug: v8:7777
Change-Id: I781ac51ba740655c644e19388c6cadad7267b18c
Reviewed-on: https://chromium-review.googlesource.com/c/1478209
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59765}
2019-02-21 14:33:37 +00:00
Igor Sheludko
85b80cb7bf [ptr-compr][wasm] Prepare wasm for 32-bit kTaggedSize
Bug: v8:7703
Change-Id: I06d4195597f0ac8ee771da49c9a402be48e91f15
Reviewed-on: https://chromium-review.googlesource.com/c/1480377
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59764}
2019-02-21 14:27:17 +00:00
Igor Sheludko
eac097c549 [cleanup] Don't crash when printing context->previous()
Bug: v8:8834
Change-Id: I5730e550f1b19e651d1fa7cb8b5694c9d839ff84
Reviewed-on: https://chromium-review.googlesource.com/c/1480374
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59763}
2019-02-21 14:24:37 +00:00
tzik
8a1e927fdb Update MicrotaskQueue ring buffer for pointer compression
This updates MicrotaskQueue to use pointer-compression style object
reference.

Bug: v8:8124
Change-Id: I7bef92a8760609f3045d2025b145b9a0ec880424
Reviewed-on: https://chromium-review.googlesource.com/c/1478320
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59762}
2019-02-21 14:16:27 +00:00
Jakob Gruber
9b5fe7b26d DCHECK_IMPLIES(FLAG_jitless, FLAG_embedded_builtins);
Bug: v8:7777
Change-Id: I0227ee37018e718014b8a8fbdba93e82a2209ae0
Reviewed-on: https://chromium-review.googlesource.com/c/1480372
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59761}
2019-02-21 13:26:47 +00:00
Toon Verwaest
0b9426ee39 [cleanup] Tiny simplification in Representation
- Remove unused IsSpecialization
- Simplify IsCompatibleForLoad

Change-Id: I555adf9869322b600072c5006ff71f6b846d4241
Reviewed-on: https://chromium-review.googlesource.com/c/1479958
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59760}
2019-02-21 13:04:57 +00:00
Stephan Herhut
9b1ab6f8b1 [regalloc] Add two spill modes.
This change adds two spilling modes: SpillAtDefinition and SpillDeferred.
The former is the known spilling mode where we spill at definition. The
latter spills only in deferred code regions. This is implemented based on
control flow aware allocation and its invariants.

The effect is mostly the same as splintering with the exception of
forward looking allocation decisions still being impacted by register
constraints in deferred code.

Change-Id: Ia708e5765dd095196a8127deb2d8bec950d37e04
Reviewed-on: https://chromium-review.googlesource.com/c/1437118
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59759}
2019-02-21 12:33:01 +00:00
Ulan Degenbaev
ff8f4144db [heap] Simplify idle notification handler
This merges the "do-nothing" case with the "done" case as the former
is no longer useful. This also fixes a bug where the idle time handler
would not make progress by always returning "do-nothing".

Change-Id: Ibdd3189e4fd35acc5405aa82a13ea8ee2fd74cc6
Reviewed-on: https://chromium-review.googlesource.com/c/1478695
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59758}
2019-02-21 12:25:52 +00:00
Ulan Degenbaev
511400cad3 Reland "[heap] Perform more embedder tracing in incremental marking step"
This is a reland of 49de587506

Original change's description:
> [heap] Perform more embedder tracing in incremental marking step
> 
> This should fix GC latency regressions introduced in 4c6598.
> 
> Bug: chromium:926189, chromium:930844, chromium:930693,chromium:931629
> Change-Id: I81c91829badbeea82d6e44670d07794632869424
> Reviewed-on: https://chromium-review.googlesource.com/c/1477216
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59668}

Bug: chromium:926189, chromium:930844, chromium:930693, chromium:931629
Change-Id: Ifa77647668bb052bb102b643182baf406cb9e059
Reviewed-on: https://chromium-review.googlesource.com/c/1477279
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59757}
2019-02-21 12:24:47 +00:00
Sven Sauleau
6f8bd2eb2f [wasm] change test name
Change-Id: Ib45690bb03b9c76502afed89a71e1dc9a545893b
Reviewed-on: https://chromium-review.googlesource.com/c/1481213
Commit-Queue: Sven Sauleau <ssauleau@igalia.com>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59756}
2019-02-21 12:02:47 +00:00
Mythri
90e5e24489 [ic] Update LoadIC builtins to handle no feedback cases
This cl moves the valid feeback vector checks to the builtins and uses
fast paths runtime when possible even whithout a valid feedback vector.
For LoadNamedProperty it calls LoadIC_Uninitialized which does not need
any type feedback and for LoadKeyedProperty it follows the megamorphic path
but doesnot use the stub cache.

Bug: v8:8293
Change-Id: I6ef9653e3f43c15cb882cbf82c3c2f63fb705a81
Reviewed-on: https://chromium-review.googlesource.com/c/1475393
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59755}
2019-02-21 11:20:20 +00:00