Commit Graph

49651 Commits

Author SHA1 Message Date
Mathias Bynens
620410a1f0 Implement global proposal
The proposal is currently at Stage 3 of the TC39 process.
Repository: https://github.com/tc39/proposal-global

Bug: v8:5537
Change-Id: I36c39fdab049497f50685c6672655b67ec4d8ce9
Reviewed-on: https://chromium-review.googlesource.com/1174113
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55159}
2018-08-16 11:07:21 +00:00
Georg Neis
8d7fb5143c Turn base::optional's DCHECKs into CHECKs.
We really want to catch such errors. (std::optional throws an
exception in some of these cases.)

Change-Id: I7f8c3aff38aed1b3cbe52bcfb92062268fd3b201
Reviewed-on: https://chromium-review.googlesource.com/1177387
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55158}
2018-08-16 10:55:00 +00:00
Toon Verwaest
4aa3ad271b [scanner] Replace PushBack2 with Peek() after PushBack
Change-Id: Ic70a83335c60ba2f1f656398fc6b19db7af99348
Reviewed-on: https://chromium-review.googlesource.com/1175915
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55157}
2018-08-16 10:29:56 +00:00
Peter Marshall
84894ce6d2 Reland "[cpu-profiler] Turn on detailed line info for optimized code"
This is a reland of 898f880aa7

Original change's description:
> [cpu-profiler] Turn on detailed line info for optimized code
> 
> Cautiously turn on this flag by default to check the impact on
> performance bots. Could show minor regressions in old space and/or
> code_and_metadata memory buckets.
> 
> Bug: v8:7983
> Change-Id: Ic4369cdb0231f4f88eada699da948e8bb48a25fd
> Reviewed-on: https://chromium-review.googlesource.com/1162234
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54908}

Bug: v8:7983
Change-Id: Iff53bc19c92f26f386948bd4a58e8dcf0493cf0d
Reviewed-on: https://chromium-review.googlesource.com/1177481
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55156}
2018-08-16 10:28:41 +00:00
Sergiy Byelozyorov
0c85d810b4 [tools] Add scipy into callstats.py deps
TBR=machenbach@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: I283e7ae6b867b03f11aed2facc275fe4767ab26c
Reviewed-on: https://chromium-review.googlesource.com/1177388
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55155}
2018-08-16 10:09:55 +00:00
Hai Dang
bf0913b2a7 [turbofan] Add JSCallReducer for Array#slice in case of cloning.
Direct call to CloneFastJSArray is used to improve performance in that
case. Tests are also added.

Bug: v8:7980
Change-Id: Ifca34f3e182b776cd9862da8bf529fc13f6be9ed
Reviewed-on: https://chromium-review.googlesource.com/1172782
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Hai Dang <dhai@google.com>
Cr-Commit-Position: refs/heads/master@{#55154}
2018-08-16 10:02:43 +00:00
Michael Starzinger
d732d35ade [wasm] Stage --wasm-shared-code behind the --future flag.
R=titzer@chromium.org
BUG=v8:7424

Change-Id: Ic43f81b51c651fa826ec4d13a7eb508a27489f97
Reviewed-on: https://chromium-review.googlesource.com/1160305
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55153}
2018-08-16 10:01:23 +00:00
Sigurd Schneider
520e489037 [arm] Remove FLAG_vldr_imm
It looks like we are not putting doubles into the constant pool
on arm any time soon, so lets remove this feature.

A follow-up CL will remove the 64bit support from the constant pool.

Bug: v8:8054
Change-Id: I87865a9c252c8967b5ac71b4db5d8c3b93a0e705
Reviewed-on: https://chromium-review.googlesource.com/1174531
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55152}
2018-08-16 09:47:50 +00:00
Sigurd Schneider
2a3b6df515 Revert "[arm] Use constant pool for off-heap targets"
This reverts commit cd28595110.

Reason for revert: No size improvements, but 5% regression on octane/NavierStrokes:
https://chromeperf.appspot.com/report?sid=ebcd213df609b4ff31b0b25b5c8aab9d0738ff46f623161bdcdbb6f594112761&start_rev=579365&end_rev=582538

Original change's description:
> [arm] Use constant pool for off-heap targets
>
> This CL puts off-heap targets (i.e. code addresses for embedded builtins)
> in the constant pool on ARM.
>
> We are landing this CL to evaluate impact on benchmarks and code size,
> and expect to revert it once we have gathered that data.
>
> Bug: v8:6666
>
> Change-Id: If4935a6fb162cd1ffb34489c6fa9630f10ca2c9f
> Reviewed-on: https://chromium-review.googlesource.com/1154924
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54914}

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

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

Bug: v8:6666, chromium:872176
Change-Id: Icd0019c7f0c890d0eb09ddc2a74745c6b68db263
Reviewed-on: https://chromium-review.googlesource.com/1172482
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55151}
2018-08-16 09:36:03 +00:00
Shiyu Zhang
ad5b736500 [x64] Apply rip-relative call/jump for OFF_HEAP_TARGET
Merge rip-relative loading and call/jump into one instruction for
OFF_HEAP_TARGET call/jump. For example,

  REX.W movq r10,[rip+#disp]
  call r10

turns into:

  call [rip+#disp]

Change-Id: I17e115d054b4b352bdaf8eba2e6ac4054bbedaca
Reviewed-on: https://chromium-review.googlesource.com/1172152
Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55150}
2018-08-16 09:27:17 +00:00
Hai Dang
3a606b91ef [turbofan] Add additional checks for the JSCallReducer of Array#indexOf/includes.
This fixes the bug where the reducer ignores a prototype that is not
initial. Tests are also added.

Bug: v8:8056
Change-Id: I428eed2d2790fffa22f67a051f7d1f1e4d3ce947
Reviewed-on: https://chromium-review.googlesource.com/1174542
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Hai Dang <dhai@google.com>
Cr-Commit-Position: refs/heads/master@{#55149}
2018-08-16 09:18:01 +00:00
Pierre Langlois
086d0c49d6 [cctest][arm64] Fix debug disassembler test with no simulator.
This test would fail when running natively on arm64. If USE_SIMULATOR isn't
defined, then the assembler always generates a brk instruction, regarless of the
`enable_simulator_code` Assembler option.

Change-Id: Id56788ba60ab4a13857825ebf09bf55375250c9d
Reviewed-on: https://chromium-review.googlesource.com/1174712
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#55148}
2018-08-16 08:38:57 +00:00
Georg Neis
db145a41f0 [turbofan] Add JSHeapBroker::Trace helper function for logging.
Bug: v8:7790
Change-Id: I1da64ab7f2385be9d62542166a2577cc135b2154
Reviewed-on: https://chromium-review.googlesource.com/1175912
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55147}
2018-08-16 08:13:47 +00:00
v8-ci-autoroll-builder
64117a74b1 Update V8 DEPS.
Rolling v8/build: 3ae3c03..7679962

Rolling v8/buildtools: 9a90d9a..2dff9c9

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/fc13545..f5981fb

Rolling v8/third_party/depot_tools: 1164342..421bc3f

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

Change-Id: I0636df62ea612b1efd6818e77d922052b744514e
Reviewed-on: https://chromium-review.googlesource.com/1176972
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#55146}
2018-08-16 03:48:45 +00:00
Sathya Gunasekaran
2d0e599385 [Intl] Use std::string to copy char buffers
Bug: v8:5751
Change-Id: I2abb23199c5bf3bc5df76fee77ac7d263197fd79
Reviewed-on: https://chromium-review.googlesource.com/1176289
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55145}
2018-08-15 23:47:10 +00:00
Frank Tang
6950ba614d [Intl] move the logic of formatDate into C++
Spin off cl from +/1155271

Bug: v8:7961
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ibf4bfdcea5ba391281a7d57ffa23d6a96c6ce6a1
Reviewed-on: https://chromium-review.googlesource.com/1164528
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55144}
2018-08-15 23:27:43 +00:00
Junliang Yan
9040405eb9 s390x: fix high 32-bit word corruption issue
R=joransiu@ca.ibm.com

Change-Id: I9a2cf0f3e4a33dc4b86c83acfefcd27968bbcdb4
Reviewed-on: https://chromium-review.googlesource.com/1176424
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55143}
2018-08-15 22:23:29 +00:00
Camillo Bruni
e1a76995ef [api][runtime] Support all-in ctors of {Named,Indexed}PropertyHandlerConfiguration
- Explicitly allows construction of
{Named,Indexed}PropertyHandlerConfiguration with all the members filled.

Bug: v8:7612
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I426ea33846b5dbf2b3482c722c963a6e4b0abded
Reviewed-on: https://chromium-review.googlesource.com/1163882
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55142}
2018-08-15 21:28:09 +00:00
Andrii Shyshkalov
660e7aee2f cq: remove no longer necessary cq_name.
R=sergiyb@chromium.org

Bug: chromium:866476
Change-Id: I1bc5477e4c51ae7e94e06718a8037ed65726fd47
No-Try: True
Reviewed-on: https://chromium-review.googlesource.com/1176229
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55141}
2018-08-15 21:00:06 +00:00
Sathya Gunasekaran
8cfa78f530 [Intl] Use strcmp to be spec compatible
Tests will be added in a follow on CL.

Bug: v8:5751
Change-Id: Ie327239a0ad1526f06c2a71fdc821f57e3aa41df
Reviewed-on: https://chromium-review.googlesource.com/1176283
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55140}
2018-08-15 20:22:15 +00:00
Ulan Degenbaev
4d474c51d8 [heap] Reuse freed CodeRange addresses.
This patch adds a singleton that tracks recently freed code range
regions and provides hints for newly created code ranges such that
the freed addresses are reused.

This is a workaround for the CFG leak described in the linked bug.

Bug: chromium:870054

Change-Id: Ice237a056268379f0fef40abdb1accad125a56b3
Reviewed-on: https://chromium-review.googlesource.com/1174837
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55139}
2018-08-15 18:53:11 +00:00
Camillo Bruni
0027c83440 [callbacks] Properly support RCS for ApiAccessors and Callbacks.
Bug: chromium:782550

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I4426415b55772d82bd16b638c3c533320efa3b72
Reviewed-on: https://chromium-review.googlesource.com/771752
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55138}
2018-08-15 15:25:14 +00:00
Ivica Bogosavljevic
546ca37b92 MIPS[64]: Fix [turbofan] Further optimize DataView accesses.
Fix 5fecd146bf

Word32ReverseBytes and Word64ReverseBytes are mandatory
so their definition is removed from list of optional operators
in InstructionSelector::SupportedMachineOperatorFlags

Change-Id: I997fca1da6fcb69d1d6190a5ff68f3ff1f201b45
Reviewed-on: https://chromium-review.googlesource.com/1175129
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Commit-Queue: Sreten Kovacevic <skovacevic@wavecomp.com>
Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#55137}
2018-08-15 12:16:39 +00:00
Dan Elphick
957854dd60 Reland "[cleanup] Reland: Remove deprecated functions"
This reverts commit 717b93852b.

Reason for revert: Cast build is now fixed

Original change's description:
> Revert "[cleanup] Reland: Remove deprecated functions"
> 
> This reverts commit c8376b0069.
> 
> Reason for revert: Still borked: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/cast_shell_linux/114796
> 
> Original change's description:
> > [cleanup] Reland: Remove deprecated functions
> > 
> > This is reland of https://chromium-review.googlesource.com/c/v8/v8/+/1154915
> > with no changes since the break in chromium for ChromeOS is now fixed.
> > 
> > Removes all V8_DEPRECATED functions that weren't recently marked as well
> > any V8_DEPRECATE_SOON function that relied on using using the address of
> > an object to get hold of the Isolate.
> > 
> > Bug: v8:7786
> > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
> > Change-Id: Ib62d38b9201fd0dab719948cb5ae5a0a164f7013
> > Reviewed-on: https://chromium-review.googlesource.com/1172350
> > Reviewed-by: Yang Guo <yangguo@chromium.org>
> > Commit-Queue: Dan Elphick <delphick@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#55119}
> 
> TBR=yangguo@chromium.org,delphick@chromium.org
> 
> Change-Id: Id1308a694092acfc90a3e7183d66c002feb63999
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:7786
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
> Reviewed-on: https://chromium-review.googlesource.com/1174751
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55127}

TBR=yangguo@chromium.org,leszeks@chromium.org,delphick@chromium.org

Change-Id: Id65dae1abdad6f854afec9eb59ed2bddd9246f79
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7786
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
Reviewed-on: https://chromium-review.googlesource.com/1175721
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55136}
2018-08-15 09:10:56 +00:00
v8-ci-autoroll-builder
77e0043380 Update V8 DEPS.
Rolling v8/build: 016397a..3ae3c03

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/501bed8..fc13545

Rolling v8/third_party/depot_tools: 6a4e31b..1164342

Rolling v8/tools/clang: d299f06..45de59d

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

Change-Id: Ic025445fd38a217fc6b12cbf80b8113102228a44
Reviewed-on: https://chromium-review.googlesource.com/1175460
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@{#55135}
2018-08-15 03:51:54 +00:00
Alexey Kozyatinskiy
71805cab16 [inspector] added kozyatinskiy to v8-inspector.h OWNERS
R=pfeldman@chromium.org

Change-Id: I6ffa0aa357bc296a5b6fc2b20fb10e2e806dae56
Reviewed-on: https://chromium-review.googlesource.com/1175080
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55134}
2018-08-14 21:51:13 +00:00
Andrey Lushnikov
22cb8d45c3 inspector: teach v8Inspector to return default context
This is a follow-up to https://chromium-review.googlesource.com/c/v8/v8/+/1173718

R=kozy, pfeldman
TBR=pfeldman

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I48b4ca5589505d03773477623654fa54703f0714
Reviewed-on: https://chromium-review.googlesource.com/1175061
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55133}
2018-08-14 21:00:17 +00:00
Junliang Yan
14170c67b3 PPC/s390: [turbofan] Further optimize DataView accesses.
Port 5fecd146bf

Original Commit Message:

    This adds support for unaligned load/store access to the DataView
    backing store and uses byteswap operations to fix up the endianess
    when necessary. This changes the Word32ReverseBytes operator to be
    a required operator and adds the missing support on the Intel and
    ARM platforms (on 64-bit platforms the Word64ReverseBytes operator
    is also mandatory now).

    This further improves the performance on the dataviewperf.js test
    mentioned in the tracking bug by up to 40%, and at the same time
    reduces the code complexity in the EffectControlLinearizer.

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

Change-Id: Ia9aad21713a2ad76ce3ef2b816fc20e9a27fe4c9
Reviewed-on: https://chromium-review.googlesource.com/1174936
Reviewed-by: John Barboza <jbarboza@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#55132}
2018-08-14 19:29:49 +00:00
Andrey Lushnikov
fba8c5ecc2 inspector: introduce V8Inspector::contextById(contextId)
This is a pre-requisite for https://chromium-review.googlesource.com/c/chromium/src/+/1134430

R=kozy

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ic437eaffd0870e1ce6b16e4992e9232515e091ec
Reviewed-on: https://chromium-review.googlesource.com/1173718
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55131}
2018-08-14 18:21:47 +00:00
Ujjwal Sharma
521e846496 [intl] Port Collator.prototype.compare and bound compare function to C++
This increases the size of a Collator instance by a word to store
the bound compare function.

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

Bug: v8:7800
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ie7581ab59fdfe4efff6d960e07ed2164fa6d9959
Reviewed-on: https://chromium-review.googlesource.com/1171967
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55130}
2018-08-14 17:23:28 +00:00
Sathya Gunasekaran
7eded3003a Revert "[heap] Attempt to incorporate backing store counters into heap sizing and GC trigger stragery."
This reverts commit ba735dde20.

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

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

TBR=ulan@chromium.org,mlippautz@chromium.org,rfbpb@google.com

Change-Id: Iaf65227c65c11effa11662ac7d7bd7736f4d7846
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:845409
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1174858
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55129}
2018-08-14 17:17:17 +00:00
Rodrigo Bruno
ba735dde20 [heap] Attempt to incorporate backing store counters into heap sizing and GC trigger stragery.
Bug: chromium:845409
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ic62a4339110e3dd2a6b1961a246e2bee0c07c03b
Reviewed-on: https://chromium-review.googlesource.com/1160162
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55128}
2018-08-14 16:31:32 +00:00
Leszek Swirski
717b93852b Revert "[cleanup] Reland: Remove deprecated functions"
This reverts commit c8376b0069.

Reason for revert: Still borked: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/cast_shell_linux/114796

Original change's description:
> [cleanup] Reland: Remove deprecated functions
> 
> This is reland of https://chromium-review.googlesource.com/c/v8/v8/+/1154915
> with no changes since the break in chromium for ChromeOS is now fixed.
> 
> Removes all V8_DEPRECATED functions that weren't recently marked as well
> any V8_DEPRECATE_SOON function that relied on using using the address of
> an object to get hold of the Isolate.
> 
> Bug: v8:7786
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
> Change-Id: Ib62d38b9201fd0dab719948cb5ae5a0a164f7013
> Reviewed-on: https://chromium-review.googlesource.com/1172350
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Dan Elphick <delphick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55119}

TBR=yangguo@chromium.org,delphick@chromium.org

Change-Id: Id1308a694092acfc90a3e7183d66c002feb63999
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7786
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
Reviewed-on: https://chromium-review.googlesource.com/1174751
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55127}
2018-08-14 15:19:20 +00:00
Dan Elphick
d59deab5c7 [cleanup] Fix incorrect comment
Remove part of comment about returning a boolean from ReadData since the
function doesn't return anything (and hasn't for more than 8 years).

R=yangguo

Change-Id: Ie38d68ef36077d08faecc8540c5de050472142ba
Reviewed-on: https://chromium-review.googlesource.com/1174535
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55126}
2018-08-14 14:49:20 +00:00
Bret Sepulveda
6fcf0a0e3d profview: Improve behavior when given a log with few ticks.
Previously, when given a log with few ticks, the timeline would lump
them all into one or two buckets. This patch allows ticks to be assigned
to buckets more sparsely.

This patch also fixes a bug where there was a gap on the right side of
the timeline, which also caused the function tick marks to be slightly
misaligned. This was more noticable with fewer buckets.

Bug: v8:6240
Change-Id: Ib7353c0420caec8591590815271d329ea1a030fb
Reviewed-on: https://chromium-review.googlesource.com/1174440
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55125}
2018-08-14 13:34:51 +00:00
Stephan Herhut
87eedbc132 [profiling] Fix BasicBlockProfiler implementation
Data object for tick collection are now created in a thread save way
and the block ids for counters use the same numbers as the printed
schedule.

Change-Id: I7a35088cb2fcd94a81067b16ad12b01d380fefa5
Reviewed-on: https://chromium-review.googlesource.com/1152923
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55124}
2018-08-14 13:12:41 +00:00
Marja Hölttä
7cc1d19b9d [in-place weak refs] Mark suitable MaybeObject funcs const
BUG=v8:7308

Change-Id: Id05fe2480d7cda8038740aaae949cc707686171f
Reviewed-on: https://chromium-review.googlesource.com/1174439
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55123}
2018-08-14 12:57:24 +00:00
Georg Neis
84fe928207 [turbofan] Prepare MapRef::AsElementsKind for impartial information.
R=jarin@chromium.org

Bug: v8:7790
Change-Id: If46556bde7fdc49023425d90fb1b68634d9b1ad9
Reviewed-on: https://chromium-review.googlesource.com/1174434
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55122}
2018-08-14 12:37:33 +00:00
Georgia Kouveli
de3f3cf0ee [arm64] Clean up of move operations.
* Perform the lookups into the builtins constant table and external reference
  table in the generic version of Mov that accepts an Operand source. This
  makes sure we do not miss looking up constants and external references when
  the generic Mov is called.
* Remove Mov(ExternalReference) as ExternalReference can be implicitly converted
  to an Operand.
* Remove two Move functions that are unused in architecture-independent code.
  Replace their uses in arm64-specific code with the generic Mov, which does all
  the necessary work now.

Change-Id: Ibbcee6ba22f661984cd830717e14c9b35a1fba0a
Reviewed-on: https://chromium-review.googlesource.com/1172351
Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55121}
2018-08-14 12:26:43 +00:00
Benedikt Meurer
ae09fa8354 [turbofan] Optimize redundant JSToObject operations.
We don't need to keep JSToObject operations in the graph if there's some
preceeding map check that already provides information that the input is
indeed already a receiver.

Change-Id: I2d04895831ff561624fbe91a2fe03bb6e5d918a5
Reviewed-on: https://chromium-review.googlesource.com/1174259
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55120}
2018-08-14 11:53:38 +00:00
Dan Elphick
c8376b0069 [cleanup] Reland: Remove deprecated functions
This is reland of https://chromium-review.googlesource.com/c/v8/v8/+/1154915
with no changes since the break in chromium for ChromeOS is now fixed.

Removes all V8_DEPRECATED functions that weren't recently marked as well
any V8_DEPRECATE_SOON function that relied on using using the address of
an object to get hold of the Isolate.

Bug: v8:7786
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
Change-Id: Ib62d38b9201fd0dab719948cb5ae5a0a164f7013
Reviewed-on: https://chromium-review.googlesource.com/1172350
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55119}
2018-08-14 11:23:03 +00:00
Georg Neis
79657da1f8 [turbofan] Serialize more Map data.
Bug: v8:7790
Change-Id: I6792bbbf015c7ba43ddaf373803c0afdf140eb76
Reviewed-on: https://chromium-review.googlesource.com/1174269
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55118}
2018-08-14 11:07:33 +00:00
Sergiy Byelozyorov
127661ce9c [tools] Add VPython config for callstats.py
TBR=machenbach@chromium.org

Bug: chromium:861668
Change-Id: I099b2ff007bed8b35e13d7f52eb5d0ae390a230e
Reviewed-on: https://chromium-review.googlesource.com/1174267
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55117}
2018-08-14 10:15:46 +00:00
Sigurd Schneider
6f578738ce [cleanup] Replace ifdef'd includes with assembler-arch.h
Bug: v8:8015
Change-Id: I8099c66108d5cc1596cb9b0a00c0ecd30765cf24
Reviewed-on: https://chromium-review.googlesource.com/1174266
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55116}
2018-08-14 10:13:56 +00:00
Jaroslav Sevcik
8ffbce5ffe Stop profiler thread before heap tear down
Bug: v8:8042
Change-Id: If667f1aba335d8e296052ff94e99900d446c3b29
Reviewed-on: https://chromium-review.googlesource.com/1172772
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55115}
2018-08-14 10:06:53 +00:00
Leszek Swirski
adac1c2ac0 Revert "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"
This reverts commit 5a3893958a.

Reason for revert: Breaks some chromium tests. Not your fault, but it's blocking the roll so we have to fix those first -- then you can reland without changes: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21727

Original change's description:
> [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
> 
> This CL changes the sorting algorithm used in Array.p.sort from
> QuickSort to TimSort (implemented in Torque).
> 
> Detailed performance results can be found here: https://goo.gl/4E733J
> 
> To save on code space, fast-paths are implemented as sets of
> function pointers instead of specializing generics.
> 
> R=​cbruni@chromium.org, jgruber@chromium.org
> 
> Bug: v8:7382, v8:7624
> Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
> Reviewed-on: https://chromium-review.googlesource.com/1151199
> 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@{#55003}

TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com

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

Bug: v8:7382, v8:7624
Change-Id: Id4002d8080648c418639d35e7b82487fa43f463d
Reviewed-on: https://chromium-review.googlesource.com/1174231
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55114}
2018-08-14 10:05:48 +00:00
Andreas Haas
666c8b87f3 [wasm] Remove global HandleScope in streaming compilation tests
The streaming compilation cctests test streaming compilation over the
public API, as far as possible. It is not required that a HandleScope
is open when the API is used. Therefore the cctest should also not open
a global HandleScope for a whole test but as fine-grained as possible.

R=clemensh@chromium.org

Bug: v8:8055 v8:8015
Change-Id: Id5e2145f2a8ba66e8d5d9021c47806aa80fc463f
Reviewed-on: https://chromium-review.googlesource.com/1174258
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55113}
2018-08-14 10:01:38 +00:00
Dan Elphick
421571953f [gdb] Select frame above the DCHECK function
Rather than having GDB always stop on the line containing
V8_IMMEDIATE_CRASH(), walk up the stack looking for V8_Dcheck and select
the frame above it. This will be the frame containing DCHECK (including
related macros like DCHECK_EQ).

Change-Id: I9760e7a4dd78b567dfa77ff12569d287d80ca873
Reviewed-on: https://chromium-review.googlesource.com/1172780
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55112}
2018-08-14 09:43:00 +00:00
Benedikt Meurer
5fecd146bf [turbofan] Further optimize DataView accesses.
This adds support for unaligned load/store access to the DataView
backing store and uses byteswap operations to fix up the endianess
when necessary. This changes the Word32ReverseBytes operator to be
a required operator and adds the missing support on the Intel and
ARM platforms (on 64-bit platforms the Word64ReverseBytes operator
is also mandatory now).

This further improves the performance on the dataviewperf.js test
mentioned in the tracking bug by up to 40%, and at the same time
reduces the code complexity in the EffectControlLinearizer.

Bug: chromium:225811
Change-Id: I7c1ec826faf46a144a5a9068f8f815a5fd040997
Reviewed-on: https://chromium-review.googlesource.com/1174252
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55111}
2018-08-14 09:20:47 +00:00
Georg Neis
260af115c2 [parsing] Fix detection of invalid continue targets.
In order to know which labels are valid continue targets, we must
track the labels that immediately prefix an iteration statement.

Also document some things that I had to figure out.

Bug: v8:8033
Change-Id: Ia8288fd0e553a547aa0f9d1b4381bb103325bc3a
Reviewed-on: https://chromium-review.googlesource.com/1172292
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55110}
2018-08-14 08:30:47 +00:00