Commit Graph

59010 Commits

Author SHA1 Message Date
Suraj Sharma
939e18feac [ic] Rename PatchCache to SetCache and remove unused methods.
Bug: v8:9779
Change-Id: I8603942e91b7e03fc9feaa69a8716ffffcf969b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1851504
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Suraj Sharma <surshar@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#64218}
2019-10-10 15:08:54 +00:00
Tobias Tebbi
0a3331d330 [torque-ls] supress lint messages after error
An error can easily cause a lot of false positive lint messages, due to
unused variables, macros, etc. Thus we suppress subsequent lint messages
when there are errors.

Bug: v8:8880
Change-Id: I5c8ba89312b8eacb7ab22523677854bf9fe45da6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1789160
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64217}
2019-10-10 14:41:39 +00:00
Dan Elphick
364bcdf26b [csa] Make CallJS return TNode<Object>
Bug: v8:6949
Change-Id: I7f41d72a4726cff0e61ff9cbe3fc3f18930f0da1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852128
Auto-Submit: Dan Elphick <delphick@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64216}
2019-10-10 13:40:50 +00:00
Clemens Backes
d53eddb5e4 Split CPU features by platform
The total number of CPU features in use is 32, and is thus hitting the
integer-size limit.
This CL splits the CPU features by platform such that we have some
space again for adding more features.

R=neis@chromium.org

Change-Id: I5cdbe10808e10d143c1e92510dd275d8c5542535
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850371
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64215}
2019-10-10 13:37:01 +00:00
v8-ci-autoroll-builder
099f80ae78 Update V8 DEPS.
Rolling v8/build: b93b922..42a7475

Rolling v8/third_party/depot_tools: 71681bf..3481902

TBR=machenbach@chromium.org,tmrts@chromium.org

Change-Id: Ia00d2079baa6b379770e3e710a5614c28d2191de
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852744
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#64214}
2019-10-10 13:02:30 +00:00
Michael Starzinger
7d43d533bb [wasm] Move break point info list from module to Script.
This moves the list of {BreakPointInfo} objects from {WasmModuleObject}
to the corresponding {Script} object. Breakpoints are expected to affect
all modules/instances for a given script, hence the new placement of the
list is a preparation to fully support per-script breakpoints.

R=clemensb@chromium.org
BUG=v8:6847,chromium:893069

Change-Id: Id97058be5ed79cfdba2cecac5733ba161a6021d5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852127
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64213}
2019-10-10 11:26:43 +00:00
Dan Elphick
c4063276e7 [csa] Tnodify builtins-date-gen.cc
Bug: v8:6949

Change-Id: I119d270cddf931125be6884f671e2f0499ff4118
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849517
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64212}
2019-10-10 09:32:35 +00:00
Santiago Aboy Solanes
280e7c8eab [ptr-compr] Move decompression_elimination definition to not be out of scope
When using if, the decompression_elimination goes out of scope and we need
it alive. We were using #if guards before but it was changed in
https://chromium-review.googlesource.com/c/v8/v8/+/1815134 to use
FLAG_turbo_decompression_elimination as well.

It was breaking a clusterfuzz builder before this CL:
https://ci.chromium.org/p/v8/builders/ci/V8%20Clusterfuzz%20Linux64%20ASAN%20arm64%20-%20debug%20builder/11562

We can pull the variable out of the if, and then have an USE for the case that it
doesn't get added (i.e non pointer compression).

Bug: v8:7703
Change-Id: Ia0a9f50ebf2cbb41b60e3fd1110d7c7e7eca365d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849528
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64211}
2019-10-10 09:26:35 +00:00
Jakob Gruber
d0aed76451 [regexp] Move the tier-up check into C++
The tier-up check is only needed for instances that currently go
through the interpreter. It is simpler to move the check into the
interpreter's C++ entry point. At that point, when we see a JSRegExp
that should tier-up, we simply return RETRY which will automatically
send us back into runtime where the actual recompilation happens.

Bug: v8:9566
Change-Id: Ib7bb5d21a30bae45d6e14846edd2a47469989b35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852125
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64210}
2019-10-10 09:10:55 +00:00
Clemens Backes
6f8381958c [wasm] Remove obsolete --no-wasm-shared-code flag
The flag is enabled since M-70, and we do not use the previous
behaviour anywhere. Hence, remove the flag and clean up some API code.
In particular, the concept of {TransferrableModule} is not needed any
more, we can just use {CompiledWasmModule}.

R=mstarzinger@chromium.org, adamk@chromium.org

Bug: v8:9810
Change-Id: I9b3aa4972277a9262b58da70b141e90d1de31f35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847366
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64209}
2019-10-10 09:01:45 +00:00
Frank Tang
991a000fb2 Roll test262
8688c4a..d49777de

Bug: v8:7834
Change-Id: Ide064cc2f1f2cf10c6aff345d8a5ad7e37ef21a5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848851
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64208}
2019-10-10 04:55:19 +00:00
v8-ci-autoroll-builder
a3decdc71b Update V8 DEPS.
Rolling v8/build: 0cb6209..b93b922

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c6dbc23..df24b8a

Rolling v8/third_party/depot_tools: be83c31..71681bf

TBR=machenbach@chromium.org,tmrts@chromium.org

Change-Id: I6f3c0b9441b9f74927f61285a48c1da91df6f735
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850950
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#64207}
2019-10-10 03:34:20 +00:00
Shu-yu Guo
a04659f1d0 Add syg@ as an owner of test262 for rolls
Bug: v8:7834
Change-Id: If61eb09a2a78890fce68553e532212ab5f11bbc9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850317
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64206}
2019-10-10 00:49:33 +00:00
Suraj Sharma
fa06390424 [ic] Migrate slow_stub() for LoadICs to use regular data-driven handler.
Bug: v8:9779
Change-Id: Id0d7a214766f91ed8e65f3e24c08e987ba27aff8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1838923
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Suraj Sharma <surshar@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#64205}
2019-10-10 00:14:38 +00:00
Joshua Litt
fe7b8b8003 [regexp] Stage regexp match indices.
Bug: v8:9548
Change-Id: I75fdb71154a728f34c5a5b02ae9d75f607b20c69
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849838
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64204}
2019-10-10 00:01:58 +00:00
Ng Zhi An
9c17b66281 [cleanup] Change scratch to temp simd register
This requires a change to instruction selector to UseUnique so that it
does not shadow the temporary register.

Bug: v8:9810
Change-Id: I3da3e18fbbcc1dd8d40821a6c2453fd2d975ad15
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849981
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64203}
2019-10-10 00:00:53 +00:00
Ng Zhi An
c75b543ddb [wasm-simd] Implement v8x16.swizzle for ia32
Bug: v8:8460
Change-Id: I9ac358eabd508d31034e11f28f583c5acbb0b0e2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849205
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64202}
2019-10-09 23:26:59 +00:00
Ng Zhi An
3fdc88defb [wasm-simd] Implement v8x16.swizzle for x64
Bug: v8:8460
Change-Id: I79ae753f15aaa91a2154bd7078a1cdb9f3e049f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822497
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64201}
2019-10-09 19:37:52 +00:00
Ng Zhi An
c4d90a74e4 [wasm-simd] Implement f64x2 comparisons for ia32
Bug: v8:9728
Change-Id: If1572283d464d7d9c33a6ba6a9b9b8cf42efc31a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834768
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64200}
2019-10-09 18:14:52 +00:00
Seth Brenith
61815a22bd Use consistent capitalization rules for instance types
In preparation for allowing Torque to generate the list of instance
types, I'd like to make the rules a bit more consistent for how instance
types are spelled. This CL is my proposal for a system where every
non-String instance type name is exactly equal to calling
CapifyStringWithUnderscores on the corresponding class name and
appending "_TYPE".

This change is almost all find&replace; the only manual changes are in:
- src/objects/instance-type.h
- src/torque/utils.cc
- tools/gen-postmortem-metadata.py

This change is in response to the review comment
https://chromium-review.googlesource.com/c/v8/v8/+/1757094/25/src/builtins/base.tq#132

Change-Id: Ife3857292669f54931708e934398b2684e60bea5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1814888
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64199}
2019-10-09 17:44:42 +00:00
Mythri A
566ba7928c [perf-test] Add a performance test for LdaGlobal bytecodes
Bug: v8:8394
Change-Id: Idd8f3a4a096c94b355ff0ef491281da31a1c960b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849529
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64198}
2019-10-09 16:34:33 +00:00
Dominik Inführ
84ec511b10 [heap] Do not calculate SlotSet in RecordWrite
Since SlotSet is just an array of Buckets, RecordWrite doesn't need
to calculate the SlotSet-address in the SlotSet-array. bucket_index is
now directly calculated from the offset of the slot from the start of
the page. bucket_index may therefore now also exceed SlotSet::kBuckets,
for large objects.

Also calculate cell_offset and bit_index from page_start_offset, it is
not necessary to truncate page_start_offset to MemoryChunk::kPageSize.

Bug: v8:9454
Change-Id: I17edeafa4681a6348482c64dd0616065ce3121c5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849525
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64197}
2019-10-09 16:13:13 +00:00
Georg Neis
ea6ef27ceb [turbofan] Be more precise about arguments hints
When simulating how standard higher-order builtins call their function
argument, we were inconsistent and imprecise in what hints we used for
the arguments.

Bug: v8:7790
Change-Id: I9a76225f0f036f3e7ce1a62644204790e4eba74d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849519
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64196}
2019-10-09 16:03:23 +00:00
Clemens Backes
807a70587b [base] Refactor {RelativePath} method
The method allocates, so it should return the buffer in a {unique_ptr}.
Also, the internals can be simplified by using {size_t} instead of
{int} and removing a redundant special case.

R=mlippautz@chromium.org

Bug: v8:9810
Change-Id: I94ac5814c284bf6ab075841ddbfb768d31dfff4c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849514
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64195}
2019-10-09 15:35:03 +00:00
Frank Tang
98e2568413 [regexp] Better optimize the loop inside GetCaseIndependentLetters
Move the "if (!((start >= 128) && (character < 128))) {" check
 outside while (start <= end) loop.

Bug: v8:9731
Change-Id: I1f7e2fea189f0eba0b52100ac8d4063e7d79a306
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832911
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64194}
2019-10-09 15:18:21 +00:00
Joshua Litt
0243ada1a8 [top-level-await] Support top level for-await.
Trivial changes to the parser to allow parsing for-await. Unfortunately,
these tests uncovered a stress bug related to using await in for
loops(see v8:9825).

Bug: v8:9817, v8:9825
Change-Id: Ie699c85389e94b834a22dc1fb2f9970fc37fcdd3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848434
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64193}
2019-10-09 14:31:31 +00:00
Igor Sheludko
db5afff86e [ptr-compr] Fix build issues on win64 and mac64
Bug: v8:7703
Change-Id: If8605f4dc4ab50fb5a95b43994262c8f3edd92a7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849524
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64192}
2019-10-09 13:02:01 +00:00
Michael Starzinger
9bed3d6f15 [wasm] Move weak list of instances from module to Script.
This moves the weak list of instances from {WasmModuleObject} to the
corresponding {Script} object. The list is used solely for breakpoints
which are intended to affect all instances belonging to a given script,
hence the new placement of the list is a preparation to fully support
per-script breakpoints.

R=clemensb@chromium.org
BUG=v8:6847,chromium:893069

Change-Id: I52315e0ba1e5e5021f55bf05d8cb0f01bf9f0fbb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847359
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64191}
2019-10-09 12:54:06 +00:00
Leszek Swirski
5ee115fe23 [uma] Add histogram for streaming compile finalization
Measure finalization time for streaming JS compilation (to measure impact
of off-thread streaming finalization).

Bug: chromium:865098
Bug: chromium:1011762
Change-Id: Idc89ea18e55fec87ac7e8cca28925820e0c56b84
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844783
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64190}
2019-10-09 12:53:01 +00:00
Michael Achenbach
151fd02b34 [build] Switch off goma on msvs builders
TBR=tmrts@chromium.org

Bug: v8:9823
Change-Id: Ic22439a8a6536d65b736b73b48029f6dc208084c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849511
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64189}
2019-10-09 12:30:37 +00:00
Clemens Backes
ebe753234a [api] Remove deprecated method
The method was deprecated in https://crrev.com/c/1581640 (part of M-76).

R=ulan@chromium.org

Bug: v8:9810
Change-Id: I08db459356273239f1d340b8792e2b57857d1076
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849518
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64188}
2019-10-09 12:28:02 +00:00
Georg Neis
6c70ba5db6 [turbofan] Fix bug in call serializer
Due to https://chromium-review.googlesource.com/c/v8/v8/+/1835541 it's
now possible that we reach ProcessApiCall without any arguments hints.

I don't know how to test this in d8.

Bug: chromium:1011727, v8:7790
Change-Id: I556f562515548c6355ff2358e635a2e1fc3974a8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847157
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64187}
2019-10-09 12:26:56 +00:00
Dan Elphick
3709a0d91e [csa] Tnodify builtins-async-generator-gen.cc
Remove TaggedIsAsyncGenerator since all but one use is to generate
asserts that are handled automatically by TNodes. The remaining use is
then just inlined.

Also removes unused IsFastJSIterResult function.

Bug: v8:6949
Change-Id: Id5631586b7e4d4f43d352493a3e2638cf449665f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849516
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64186}
2019-10-09 12:25:52 +00:00
Santiago Aboy Solanes
31ec4d4456 [ptr-compr] Add a flag to to enable/disable the old system
The plan is to eliminate the DecompressionElimination reducer
as well as the Compressed representation. We are adding a flag to
easily swap between the old system and the new one.

Bug: v8:7703, v8:9206
Change-Id: I083fc7a835962eddfd60e9c403131587489f4632
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815134
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64185}
2019-10-09 12:18:47 +00:00
Santiago Aboy Solanes
1302c93593 [ia32][builtins] Hoist up common load bytecode code
There is some code common to both wide and extra wide that we are
able to hoist up since they do not affect the flags after testing
to see which version to use.

Port of https://chromium-review.googlesource.com/c/v8/v8/+/1826725

Bug: v8:9771
Change-Id: I2e40a16b784a9666df4cc5ac3ec7e8c8df5fd146
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847358
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64184}
2019-10-09 11:49:46 +00:00
Santiago Aboy Solanes
73dbe9ac09 [codegen] Defer debug hook in InvokeFunctionCode
If we do the check in InvokeFunctionCode instead of doing it in
CheckDebugHook (now aptly named 'DebugHook'), we can defer the
debug hook to the end of InvokeFunctionCode and is to make the
common case stay in straight-line code.

Bug: v8:9771
Change-Id: Icff84e8ced9d120ae2fe293a391aaadd53441644
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829219
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64183}
2019-10-09 11:36:47 +00:00
Pierre Langlois
f1c5be441e [gdb] Do not set disassembly-flavor on non-x86 platforms.
The `set disassembly-flavor` command is only available when debugging a x86
target. On other targets, sourcing `tools/gdbinit` fails as a result.

Sadly, we have to resort to using python's exception to ignore errors and carry
on.

NOTRY=true

Change-Id: If37450ee5bca43d5edb02fa9a5b218d7992f8885
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847353
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64182}
2019-10-09 11:25:21 +00:00
Santiago Aboy Solanes
a6f6381fbe [ptr-compr] Loading a Tagged value decompresses too
This CL changes the Tagged loads when pointer compression is enabled.
It shouldn't affect anything for the time being since if we have pointer
compression enabled, we are going to be storing Compressed values. Later,
we will eliminate the Compressed representation and that it's where it
will come into effect.

Bug: v8:7703
Change-Id: I3dc774a0d6bada2955240e3fa318ff1f7ade6808
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822637
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64181}
2019-10-09 11:24:16 +00:00
Yang Guo
fa067a6f76 [debug] re-add feature tracking for LiveEdit
R=bmeurer@chromium.org

Change-Id: I45d41d6074cdf117cdef6128f8544e1a882615c0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849513
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64180}
2019-10-09 10:48:06 +00:00
Santiago Aboy Solanes
6396199878 [ia32][builtins] Defer throw in InterpreterEntryTrampoline
Port of https://chromium-review.googlesource.com/c/v8/v8/+/1825222

Bug: v8:9771
Change-Id: I5915cc3001350bde0ee5f4f935dbd849048803b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847357
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64179}
2019-10-09 10:27:49 +00:00
Santiago Aboy Solanes
fabfa417b4 [ptr-compr] Remove ChangeTaggedSignedToCompressedSigned optimization
CheckedInt32ToTaggedSigned -> ChangeTaggedSignedToCompressedSigned was
being simplified to CheckedInt32ToCompressedSigned. However, sometimes
the effect chain is not propagated correctly. Since we have plans to
remove the Compressed MachineRepresentation, we can remove this
optimization now.

Bug: v8:7703, chromium:1011980
Change-Id: I9198c73666848f89db96928259af68400d442229
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847363
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64178}
2019-10-09 09:58:01 +00:00
Santiago Aboy Solanes
06d0bcbeb3 Load parent_frame_type as an IntPtr in LowerArgumentsFrame
It was recently changed to Tagged in
https://chromium-review.googlesource.com/c/v8/v8/+/1832174,
but IntPtr is a better choice since we are doing an IntPtr
equality check below.

AnyTagged loads will decompress in the near future. Then,
https://chromium-review.googlesource.com/c/v8/v8/+/1822637 needs
this CL before submission since otherwise we will be decompressing a
value that we don't need to decompress.

Change-Id: Ifb44faaf84fd68e168c5f99b72c316aa1e5b9f13
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847360
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64177}
2019-10-09 09:56:56 +00:00
Michael Achenbach
ec87f7fd92 Whitespace change to trigger builders
Change-Id: I3efd292e61e65a1db200f473046b75ba81739e74
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849515
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64176}
2019-10-09 09:16:46 +00:00
Clemens Backes
be346c6a5c Remove unused macro
The V8_HAS_DECLSPEC_NORETURN macro is unused since
https://crrev.com/c/529072, where we switched to the standard
[[noreturn]] attribute.

R=ulan@chromium.org

Bug: v8:9810
Change-Id: Ifd76c967df1da7bb71369e61cd0adc1807b62d44
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847365
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64175}
2019-10-09 07:51:18 +00:00
Clemens Backes
739bee71fa [api] Use C++14 [[deprecated]] attribute
Since C++14, there is a spec'ed attribute for deprecation of methods,
functions, types, aliases or anything else.
This CL switches from the GCC __attribute__ to this standard attribute.
This allows to use the V8_DEPRECATED and V8_DEPRECATE_SOON macros on
anything where the standard attribute can be used (including {using}
statements that were not working before). It also avoids the need to
nest the whole declaration in the macro, making the code more readable.

R=adamk@chromium.org

Bug: v8:9810
Change-Id: I7adab7694af75423fb31ade2fc982dbf9c9bc699
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847361
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64174}
2019-10-09 07:31:28 +00:00
v8-ci-autoroll-builder
1c917ed364 Update V8 DEPS.
Rolling v8/build: 5c36051..0cb6209

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/cd2fb1e..c6dbc23

Rolling v8/third_party/depot_tools: e7ae514..be83c31

TBR=machenbach@chromium.org,tmrts@chromium.org

Change-Id: Iedda8eae838b26c606b0e9a64b9b602267073a17
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848512
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#64173}
2019-10-09 03:45:38 +00:00
Deepti Gandluri
df546bd15f [wasm-simd] Add ExtractLaneU operations
This CL implements i8x16.extract_lane_u, i16x8.extract_lane_u operations by
changing the default narrow extract operations to be unsigned. The
sign-extended extracts are implemented on top of the unsigned extracts
with an additional extend compiler node.
For IA32/X64, the codegen effectively remains the same -

0x389332bc32a3    63  660f3a14c900   pextrb rcx,xmm1,0
0x389332bc32a9    69  0fbec9         movsxbl rcx,rcx

0x389332bc32a3    63  660f3a14c900   pextrb rcx,xmm1,0
0x389332bc32a9    69  0fbec9         movsxbl rcx,rcx

On ARM, this adds an additional sxt instruction for the signed extracts.

Bug: v8:8460
Change-Id: I67f14b2b860ff8cc86ffbb2f65c7ef7de32da83f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846711
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64172}
2019-10-09 00:58:04 +00:00
Santiago Aboy Solanes
5df672a648 Fix typo in PendingOptimizationTable::MarkedForOptimization
PrepareFunctionForOptimize should read PrepareFunctionForOptimization

Change-Id: Ia8402d10c28fb714cc0ab2705ae0f995e604825d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848231
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64171}
2019-10-08 20:46:11 +00:00
Z Nguyen-Huu
25e551eff9 [builtins] Port RegExp StringIteratorNext to Torque
Bug: v8:8976
Change-Id: I3f13980ce49e1ca0f5caf5712c5181908054d649
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834882
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64170}
2019-10-08 17:45:45 +00:00
Matheus Marchini
cc5016e1b7 [postmortem] add metadata for the new DescriptorArray layout
R=yangguo@chromium.org

Ref: https://github.com/nodejs/llnode/issues/255
Change-Id: Icda271123375db5c381fe1d1bba13dcc26f26d7c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832311
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64169}
2019-10-08 17:43:55 +00:00