Commit Graph

60106 Commits

Author SHA1 Message Date
Z Nguyen-Huu
5eb4fada8e Reland: [wasm] Add support to tier down/up Wasm NativeModule
This is reland of 6ce3046e2b

Skip the test in multi-isolates config.

Bug: v8:9654
Change-Id: I035c867c99219bbf8d4fa25b58c734306e25fa63

Original change's description:
> [wasm] Add support to tier down/up Wasm NativeModule
>
> This is the first part of switching between Liftoff and Turbofan in
> debugging Wasm. In this CL, we implemented the logic to tier down/up all
> functions in module.
>
> Bug: v8:9654
> Change-Id: Ia25103ca29963afa103c124ff5f159f197c2b2b0
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1970470
> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65529}

Change-Id: I035c867c99219bbf8d4fa25b58c734306e25fa63
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985032
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65614}
2020-01-07 18:37:46 +00:00
Joshua Litt
766aeb9966 Reland "[promises] Port Promise.race to Torque."
Fixes clusterfuzz bug.

This is a reland of 15ec4a09d3

Original change's description:
> [promises] Port Promise.race to Torque.
>
> Bug: v8:9838
> Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919
> Commit-Queue: Joshua Litt <joshualitt@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65562}

Bug: v8:9838
Change-Id: Id295a12023195511289d92517936733ab22cdf4b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65613}
2020-01-07 17:46:15 +00:00
Leszek Swirski
c4b1774942 [runtime] Fix raw objects around side-effect check
PerformSideEffectCheckAtBytecode calls Isolate::TerminateExecution on
failure, which can allocate. We can avoid Handles by only accessing the
frame's function object after the side effect check.

Bug: v8:9991
Change-Id: Iac74f8cf5ff0840a18c59faab4c256a3fa9d5b25
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1989825
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65612}
2020-01-07 17:39:47 +00:00
Clemens Backes
ec803eee4b [arm64] Remove duplicated register logic
Instead of having both a templatized and a parameter-based method, just
have the parameter-based one, but make it constexpr. DCHECKs in these
constexpr methods need to be guarded because GCC 5 does not support them
yet.

R=thibaudm@chromium.org

Bug: v8:10021
Change-Id: If362de42f1a4c2cda4435fce63beb9244795d008
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986001
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65611}
2020-01-07 17:11:46 +00:00
Seth Brenith
ae8eb6c290 [torque] Generate postmortem data about bitfields
This change updates GetObjectProperties to list all of the bitfields
within a class field, if that class field's type is a bitfield struct.
The representation of bitfields in the GetObjectProperties response is
very similar to the representation of struct fields, but with two extra
bytes of data specifying the shift and size of the bitfield.

Bug: v8:9376
Change-Id: I40a22169f3d01652a7f2db8cface43c2a1e30cfe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1960835
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#65610}
2020-01-07 16:53:36 +00:00
Michael Lippautz
ab723525b2 api: Forward TracedReference deprecation
Change-Id: Ifc3100595c88a374ac41cb0d90825c23c1cae756
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980704
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65609}
2020-01-07 16:40:46 +00:00
Tobias Tebbi
06d09abb5a Revert "[regalloc] temporarily disable control-flow aware allocation"
This reverts commit a3039123f2.

Reason for revert: https://crrev.com/c/1985990 should fix the root-cause now.

Original change's description:
> [regalloc] temporarily disable control-flow aware allocation
> 
> Bug: v8:10077
> 
> Change-Id: I4b76d62462658dfa54f351ba10e52e57f63f3493
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977857
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65536}

TBR=tebbi@chromium.org,thibaudm@chromium.org

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

Bug: v8:10077
Change-Id: I356f1cc8d70f1f9efdbc72e3398cc830c51b664d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986002
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65608}
2020-01-07 16:26:05 +00:00
Joshua Litt
2d48f00cc2 [torque] Change Call(...) macros to take JSAny instead of callable.
Currently, the implementation of Call throws if the property is
non-callable. This CL just updates the torque type signature to reflect
this.

Change-Id: I3f8626ba96f41e6d52564df8d481fba52b05a3fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1989572
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65607}
2020-01-07 16:18:46 +00:00
Thibaud Michaud
0645b9e28c [codegen] Register conflict in arm macro assembler
{LoadFromConstantsTable} uses r7 as a temporary register. This can
conflict with the load destination register, so use another register in
this case.

R=jgruber@chromium.org
CC=tebbi@chromium.org

Bug: v8:10077
Change-Id: I3359f31ab4b17838464ee9bf0828308161fb9c0d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985990
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65606}
2020-01-07 15:11:15 +00:00
Dan Elphick
3f675bbde2 [cleanup] TNodify CSA::Store methods
Converts StoreObjectField, StoreMapNoWriteBarrier and
StoreObjectFieldRoot to use TNode parameters and convert all of their
uses.

Bug: v8:10021
Change-Id: Ic0511e43677f6aaaeac20df58a69be74156d390f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980581
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65605}
2020-01-07 15:02:02 +00:00
Dan Elphick
6951b5c63d [cleanup] Tnodify all uses of LoadBufferObject/LoadObjectField
Makes the Node* versions private so they can still be called from the
inlined TNode versions.

Also changes to LoadFromParentFrame to return TNode<Object> since its
uses don't require anything looser.

Bug: v8:10021
Change-Id: I84e3831d444a7787e0b03ff2f9e665181a9caa06
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980578
Commit-Queue: Dan Elphick <delphick@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65604}
2020-01-07 14:52:15 +00:00
Leszek Swirski
c2c5885678 [log] Use handles for LogRecordedBuffer
LogWriteDebugInfo can allocate when calculating line ends for source
positions, so make its called, LogRecordedBuffer, take Handles rather
than raw Objects. This also improves its API, as we can change the
maybe-null SharedFunctionInfo argument into a MaybeHandle.

Bug: chromium:1037872
Change-Id: Ifa3e2d9be7aa7de3b05e5c1e107406004b8963c7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985995
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65603}
2020-01-07 13:44:45 +00:00
Leszek Swirski
2a6c0f4acf [parser] Fix conflict detection loop early exit
During conflict detection, we want to early exit the scope loop when we
find a non-conflict, but continue looking at the other declarations in
the scope.

Bug: chromium:1038588
Change-Id: Ia2a19b02222fbd13cec70d3a60d2f5bae4ce245b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985991
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65602}
2020-01-07 13:15:05 +00:00
Anna Henningsen
bfd16238ea [api] Improve CheckCast error messages
The error messages previously gave the impression that a cast in the
sense of a JS type conversion may have been attempted.

Clarify the error messages to a) indicate that the type mismatched
(rather than using the term “conversion”) and b) always use the
C++ class name to clarify that the check refers to the actual
class hierarchy, rather than conceptual types.

Change-Id: I28c1b8a265f3d96f344bc2e00ac24bd9b9b6d269
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987247
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65601}
2020-01-07 12:49:35 +00:00
Huáng Jùnliàng
14a79f6335 [parser]: reset expression scope stack to nullptr when parsing class member initializer
When "await" is referenced in a part of an async arrow function head, we will walk up the active ambiguous expression stack and mark the ambiguous arrow head scope. However the class member initializer is always non-ambiguous so we should reset the stack and stop walking up.

Bug: v8:10094
Change-Id: Iac35889158ef46c851888993b6081f8ff8610c43
Fixed: v8:10094
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987620
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65600}
2020-01-07 12:39:10 +00:00
Tobias Tebbi
3f7e99ac46 [turbofan] fix type widening bug in RedundancyElimination
Bug: chromium:1031909
Change-Id: Ibf120d722a8cb6eb9b9eaa15163cb7846dab64ea
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981507
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65599}
2020-01-07 12:38:05 +00:00
Maya Lekova
338475d1db [turbofan] Fix the serialized function limit
The current value of 200 is fine with the TypeScript run time (less than
8s) as long as the limit is checked at an earlier stage, which was
overlooked in the initial implementation.

Fixed: chromium:1038292
Change-Id: Ia512e709a79450eed631f03129ddbbff65fd81b1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985992
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65598}
2020-01-07 12:34:55 +00:00
Zhao Jiazhong
f21aeb631b [mips][builtins] Reordered optimised code path in InterpreterEntryTrampoline
port 9dfe635 https://crrev.com/c/1829220

[mips][builtins] Tweak optimized check in InterpreterEntryTrampoline

port 7177d87 https://crrev.com/c/1833683

Bug: v8:9771
Change-Id: I1d5214fd6d6b5bf3f6c30003c616054ce4e4ee15
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1892471
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65597}
2020-01-07 12:18:25 +00:00
Clemens Backes
cee4a51dad [git] Ignore jit-*.dump files
They are generated by running d8 with the '--perf-prof' flag. We never
want to commit them.

R=machenbach@chromium.org

No-Try: true
Change-Id: I1e249142b893b4f4a9c09cc75eb6623680be12f7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985994
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65596}
2020-01-07 12:14:15 +00:00
Thibaud Michaud
c624261e76 [wasm] Access CodeTracer through the wasm engine
Set the wasm engine in the {PipelineData} constructor used for JS to
Wasm wrapper compilation, so that the code tracer can be accessed
independently from the isolate.

R=mvstanton@chromium.org

Bug: chromium:1032677
Change-Id: Id26d1695446251e310fe7dbd9cc7b04f8f1ad175
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973738
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65595}
2020-01-07 11:22:17 +00:00
Dan Elphick
26653c940c [cleanup] TNodify SelectImpl and NodeGenerator
Converts NodeGenerator and SelectImpl to return TNode<T>.

Also removes redundant
PromiseBuiltinsAssembler::SetForwardingHandlerIfTrue overload.

Bug: v8:10021
Change-Id: I65e23fb208e4d9bf041e0f9c9b2ea113aeac58a5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980576
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65594}
2020-01-07 10:37:14 +00:00
Sigurd Schneider
b9d33036e9 [coverage] Improve whitespace precision of coverage reporting
This CL improves whitespace precision of coverage around try blocks;
previously a small portion of whitespace could be reported as uncovered
between try blocks and catch and/or finally blocks.

Change-Id: I763ae3d15106c88f2278cf8893c12b0869a62528
Fixed: v8:10030
Bug: v8:10030
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1962265
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65593}
2020-01-07 10:29:45 +00:00
Simon Zünd
b8438c1c09 CHECK that all frames in a stack trace are present
This CL introduces a CHECK to narrow down the cause for a crash
happening in the wild, but that currently has no reproduction case.

Bug: chromium:1035651
Change-Id: I61c0658d4b753f2c7d12aa8e20d5a2ff69594d1d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985989
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65592}
2020-01-07 10:21:15 +00:00
Pierre Langlois
601bddc232 [codegen] Remove unused argument in AssemblerOptions::Default().
Change-Id: I1cdd6e7f761d7fa75fd4ca5331ca2475a4384c30
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985988
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65591}
2020-01-07 09:40:57 +00:00
v8-ci-autoroll-builder
7e459b0fac Update V8 DEPS.
Rolling v8/base/trace_event/common: 5e4fce1..81c050f

Rolling v8/build: 9e12430..8ddd521

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d3a10a0..3543506

Rolling v8/third_party/depot_tools: cf50f77..a814502

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

Change-Id: Ia9999ac71e4d89673216ed63ae8f0353563c1076
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988074
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@{#65590}
2020-01-07 03:54:57 +00:00
Ng Zhi An
4dbbee3d89 [wasm-simd] Add AVX codegen for load extends
Bug: v8:9886
Change-Id: I711bc0c8d1a9625eb3b2ecd38a44fb201aef153e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985031
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65589}
2020-01-06 22:03:51 +00:00
Ng Zhi An
7cfbcefb5c Fix assembler for packed move instructions
The AVX version should only take one argument, so these instructions have
to be split from the main list of SSE4 instructions, whose AVX version
have two arguments.

Bug: v8:9886
Change-Id: Ie37e060711babd7760547e2aa01c9c0fb0c728b5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986215
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65588}
2020-01-06 19:42:13 +00:00
Joshua Litt
dbb33df9b2 Revert "[promises] Port Promise.race to Torque."
This reverts commit 15ec4a09d3.

Reason for revert: Clusterfuzz
Bug:chromium:1038140

Original change's description:
> [promises] Port Promise.race to Torque.
> 
> Bug: v8:9838
> Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919
> Commit-Queue: Joshua Litt <joshualitt@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65562}

TBR=tebbi@chromium.org,joshualitt@chromium.org

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

Bug: v8:9838
Change-Id: Ic9aa558425f106b0c1c7f5b87dfb6064605ee657
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988539
Reviewed-by: Joshua Litt <joshualitt@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65587}
2020-01-06 19:27:05 +00:00
Milad Farazmand
b06075dfdc s390: [wasm-simd] Implement simd Splat, ExtractLane and ReplaceLane
Change-Id: I2b75df9c6189007d8b3aace631a8b403663500a3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1970251
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#65586}
2020-01-06 16:12:53 +00:00
Mythri Alle
338799cd18 Revert "Reland "[TurboFan] Don't serialize read-only heap objects""
This reverts commit a4db68d462.

Reason for revert: Speculatively reverting: failure on win32 bot
https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/23495
Not sure if the test is flaky or this cl is actually making it flaky. Reverting while I investigate this issue.

Original change's description:
> Reland "[TurboFan] Don't serialize read-only heap objects"
> 
> Reland the cl with fixes to TSAN failures.
> 
> This reverts commit 03c9de7348.
> 
> 
> Original change's description:
> > Revert "[TurboFan] Don't serialize read-only heap objects"
> >
> > This reverts commit 9f18e55ff0.
> >
> > Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660
> >
> > Original change's description:
> > > [TurboFan] Don't serialize read-only heap objects
> > >
> > > Read-only heap objects are immutable and immovable. It is safe to access
> > > these objects directly from the heap. Not having to serialize them
> > > reduces the time we spend on main thread especially for TurboProp.
> > >
> > > Bug: v8:9684
> > > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596
> > > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> > > Reviewed-by: Maya Lekova <mslekova@chromium.org>
> > > Commit-Queue: Mythri Alle <mythria@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#65490}
> >
> > TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org
> >
> > Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: v8:9684
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732
> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#65492}
> 
> TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: v8:9684
> Change-Id: I54c9973d0f4d88504b2fb920feb3480fe1f1e1fc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980573
> Reviewed-by: Mythri Alle <mythria@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Commit-Queue: Mythri Alle <mythria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65584}

TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org

Change-Id: Ic28774a2530bb7b6688a974f2af4a23ec04ef236
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9684
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987250
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65585}
2020-01-06 12:40:12 +00:00
Mythri A
a4db68d462 Reland "[TurboFan] Don't serialize read-only heap objects"
Reland the cl with fixes to TSAN failures.

This reverts commit 03c9de7348.


Original change's description:
> Revert "[TurboFan] Don't serialize read-only heap objects"
>
> This reverts commit 9f18e55ff0.
>
> Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660
>
> Original change's description:
> > [TurboFan] Don't serialize read-only heap objects
> >
> > Read-only heap objects are immutable and immovable. It is safe to access
> > these objects directly from the heap. Not having to serialize them
> > reduces the time we spend on main thread especially for TurboProp.
> >
> > Bug: v8:9684
> > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596
> > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> > Reviewed-by: Maya Lekova <mslekova@chromium.org>
> > Commit-Queue: Mythri Alle <mythria@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#65490}
>
> TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org
>
> Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:9684
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732
> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65492}

TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org

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

Bug: v8:9684
Change-Id: I54c9973d0f4d88504b2fb920feb3480fe1f1e1fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980573
Reviewed-by: Mythri Alle <mythria@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65584}
2020-01-06 10:43:23 +00:00
Ng Zhi An
87ff1a4d06 Fix presubmit copyright regex to allow the year 2020
Change-Id: I4258a218e9b2bbba5b9d14eccc9c6779e701e793
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986248
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65583}
2020-01-05 16:07:52 +00:00
v8-ci-autoroll-builder
8e2f174f3e Update V8 DEPS.
Rolling v8/build: 41f432e..9e12430

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5f98f04..d3a10a0

Rolling v8/third_party/depot_tools: 4413434..cf50f77

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

Change-Id: I56744193cc1cbcb5a511b448d066864f90e6ad63
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1984856
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@{#65582}
2020-01-05 13:02:31 +00:00
v8-ci-autoroll-builder
ae6a4ed2a3 Update V8 DEPS.
Rolling v8/build: 19d4aa5..41f432e

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/7c4300c..5f98f04

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

Change-Id: Iddb93c75f9b6ad4b9cb444ce149231020e82f328
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1984852
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@{#65581}
2020-01-03 03:33:26 +00:00
Shu-yu Guo
4c2379e582 Generate correct bytecode for calls of optional chains
The receiver may be undefined when calling optionally chained
properties, so CallAnyReceiver should be used instead of CallProperty.

TBR=rmcilroy@chromium.org

Bug: chromium:1038178
Change-Id: Id91f2ecda1a5b38f6d1c9a6b6f90c0ae7dcbe638
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986205
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65580}
2020-01-02 23:12:45 +00:00
Joshua Litt
eb2d9591b8 [promises] Drop unnecessary 'deferred' label in torque.
I accidentally made a block deferred:
https://chromium-review.googlesource.com/c/v8/v8/+/1955756

Bug: chromium:1038283
Change-Id: I1603365c68ccf9c8d3040a59afeb8963f4332705
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986185
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65579}
2020-01-02 20:56:14 +00:00
Milad Farazmand
c8c49f1cc9 [torque] Adding the missing algorithm header
Compilation fails on certain versions of gcc with
"'find_if' is not a member of 'std'"

Change-Id: Ifd0046e0838e5476515b646b35400d0973e80a01
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980501
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65578}
2020-01-02 17:10:14 +00:00
Joshua Litt
643ae467e0 [protectors] Remove invalid DCHECK in protectors.
The native context can differ from the current isolates
raw_native_context, so this DCHECK was never valid.

Bug: chromium:1033966
Change-Id: Iecbbdf33a8645ffd6e8768f4ba0eb0292eca269f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1982582
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65577}
2020-01-02 15:49:54 +00:00
Peter Marshall
37f15b89eb [cleanup] Remove unused RunsTasksOnCurrentThread on task runner
This was needed for Perfetto at one point but now this is all handled
internally by the Perfetto Client API. The implementation was
potentially wrong as on some platforms we truncate the the thread ID
https://chromium-review.googlesource.com/c/v8/v8/+/1720821/1/src/base/platform/platform-posix.cc#528

Change-Id: I5124f4fb0df4d29ff78ab6c7a2c2b0c9a66a2af3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981508
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65576}
2020-01-02 15:14:34 +00:00
Peter Marshall
234da71967 [cpu-profiler] Use a min num of samples in CPU profiler tests
This improves runtime and guarantees a number of samples, reducing
the chance of flakes and simplfying the code as well.

Change-Id: Ife559475240670e40e194285ba73853d18672e97
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981506
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65575}
2020-01-02 14:48:14 +00:00
Peter Marshall
10be5423f6 [cpu-profiler] Speed up Inlining2 test by using a min num of samples
This test tried to get enough samples by varying the amount of work
done based on simulator vs. non-simulator builds. This didn't take
into account other things like release vs. debug, and some bots took
a very long time to run this test.

This CL uses the existing ProfilerHelper and sets a minimum number of
samples so that we can actually run the minimum amount of work for
any platform without manual tweaking.

This decreases runtime on x64.optdebug from 18.5 to 1.08s, and from
10+ min on x64.debug to 1.8s. arm.debug is ~4s now.

Bug: v8:10013
Change-Id: Ibdbdec00a300683554e3c67013e56d27dc7e6257
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981504
Auto-Submit: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65574}
2020-01-02 14:10:44 +00:00
Peter Marshall
ac0c63319f Revert "[wasm] Add support to tier down/up Wasm NativeModule"
This reverts commit 6ce3046e2b.

Reason for revert: Flaky test failures, see flako run: https://ci.chromium.org/p/v8/builders/try.triggered/v8_flako/b8893085619399726256

Original change's description:
> [wasm] Add support to tier down/up Wasm NativeModule
>
> This is the first part of switching between Liftoff and Turbofan in
> debugging Wasm. In this CL, we implemented the logic to tier down/up all
> functions in module.
>
> Bug: v8:9654
> Change-Id: Ia25103ca29963afa103c124ff5f159f197c2b2b0
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1970470
> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#65529}

TBR=clemensb@chromium.org,bmeurer@chromium.org,duongn@microsoft.com

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

Bug: v8:9654, v8:10086
Change-Id: I44a4c2bde87ba5e4e83859e3e3c96103249b585f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981501
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65573}
2020-01-02 12:16:04 +00:00
Michael Achenbach
2cb12937b2 [test] Bump shards for slow steps
Also mark a slow test for better throughput.

No-Try: true
Change-Id: Ib8520ba3d00328cc27f330aff594b57d33ebe88d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981502
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65572}
2020-01-02 10:54:44 +00:00
Peter Marshall
1560bbb9ef [cleanup] Refactor CodeEventListener to use handles
Just a cleanup, should not change behavior, although we will allocate
more handles in some cases.

Also re-orders some of the implementations of the interface to try
and keep things consistent.

Included cleanup: Change CodeEventDispatcher so that it now implements
CodeEventListener, given that it had that exact interface already.
Also remove the macro dispatch to try and make things a bit easier to
read.

Bug: chromium:1033407
Change-Id: Id943b10c49f102d9783d8f4cf3a8c43e04364c77
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1976390
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65571}
2020-01-02 09:13:34 +00:00
v8-ci-autoroll-builder
450736bf14 Update V8 DEPS.
Rolling v8/build: 1255ede..19d4aa5

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/b3788f2..7c4300c

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

Change-Id: I47bac7d2b1a6856fbb1fdc46b4e1cc63f24cd49d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1984842
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@{#65570}
2020-01-02 03:48:33 +00:00
v8-ci-autoroll-builder
e02e58206d Update V8 DEPS.
Rolling v8/build: cac0fb4..1255ede

Rolling v8/buildtools: fa02977..8d21328

Rolling v8/buildtools/linux64: git_revision:6feb55993083dfd27b93da195c8a82a3a9529848..git_revision:a5bcbd726ac7bd342ca6ee3e3a006478fd1f00b5

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c9e75ab..b3788f2

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

Change-Id: I0ea7db7fbc1c79303a7524c432f8464dfe75391e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1984841
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@{#65569}
2020-01-01 04:02:02 +00:00
Mike Stanton
e78ebe447b [TurboFan] Remove serialized function limit
This limit hangs TypeScript and needs further investigation.

Bug: chromium:1038292
Change-Id: I5270052cb2b357f9f872d6de42a8122cee81b13e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981499
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65568}
2019-12-31 14:53:12 +00:00
v8-ci-autoroll-builder
5e4532ac9a Update V8 DEPS.
Rolling v8/build: 54b7873..cac0fb4

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f77838c..c9e75ab

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

Change-Id: I4eed13bc79f1f2a80f5d3050e24a1c1c011a669a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1984839
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@{#65567}
2019-12-31 03:41:51 +00:00
Jakob Gruber
7f6736f2e9 [gasm] Port the Array.p.{includes,indexOf} reduction
Bug: v8:9972
Change-Id: Ieed4ba6648a20a9b372888d75e8eb7617acdf562
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981490
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65566}
2019-12-30 15:40:20 +00:00
v8-ci-autoroll-builder
06313e39a6 Update V8 DEPS.
Rolling v8/build: 69e421a..54b7873

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1890745..f77838c

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

Change-Id: Ic07b7b0b1ca3de37e18e39775d0f233ada3731ab
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1983482
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@{#65565}
2019-12-28 04:02:27 +00:00