Commit Graph

53295 Commits

Author SHA1 Message Date
Adam Klein
db1739b63f Add ulan as a base/platform OWNER
This way we're not down to a single OWNER while hpayer is unavailable.

Change-Id: Ic6a2b86a684b159d6349b39bf2ba0719672a5aaf
Reviewed-on: https://chromium-review.googlesource.com/c/1407238
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58803}
2019-01-14 17:57:20 +00:00
Deepti Gandluri
0f57319ebb [wasm] Reorder SIMD Select parameters to match the Spec
Change-Id: Icad57d5cdae273c0e2cd6c1e441c36908436b704
Bug: v8:8646
Reviewed-on: https://chromium-review.googlesource.com/c/1407179
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Reviewed-by: Aseem Garg <aseemgarg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58802}
2019-01-14 17:56:15 +00:00
milad
43c74957c5 owners file cleanup and adding myself to the list
Change-Id: Ibd2d9919ce47638debde8e59c10714c4836b9292
Reviewed-on: https://chromium-review.googlesource.com/c/1408388
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Joran Siu <joransiu@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58801}
2019-01-14 17:53:55 +00:00
Michael Achenbach
43f2a3d654 Revert "[cpu-profiler] Add more logging to find flaky failure"
This reverts commit 138bcfc396.

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

Original change's description:
> [cpu-profiler] Add more logging to find flaky failure
> 
> There is a flaky 5x failure in the tree which I can't reproduce locally.
> This extra logging will help flush out what the problem is.
> 
> Bug: v8:8649
> 
> Change-Id: If36d2ce0f4feb398d7d746d69b417bb55a714422
> Reviewed-on: https://chromium-review.googlesource.com/c/1402787
> Commit-Queue: Peter Marshall <petermarshall@chromium.org>
> Reviewed-by: Camillo Bruni <cbruni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58796}

TBR=cbruni@chromium.org,petermarshall@chromium.org

Change-Id: Iea4a950ddbbbbc753cffc605f0c0da049cdad03d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8649
Reviewed-on: https://chromium-review.googlesource.com/c/1409433
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58800}
2019-01-14 17:41:26 +00:00
Sigurd Schneider
65a034b2da [turbolizer] Fix info-view fetching url
The URL must not have a leading slash, and the file needs to be included
in the deployment script.

TBR=neis@chromium.org

Change-Id: Idd3fc25c052cb720d4956f630a8ddca7e5d36a1a
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1409432
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58799}
2019-01-14 17:31:25 +00:00
Deepti Gandluri
7a7902e494 Restore wasm-* OWNERS in src/compiler access for bbudge, gdeepti
Change-Id: I450e199b041750c3d5e5428b673e4223c63639d3
Reviewed-on: https://chromium-review.googlesource.com/c/1407233
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58798}
2019-01-14 17:04:10 +00:00
Ben L. Titzer
27272ab5fb [wasm] Factor out instantiation code into own file
This refactoring CL moves all instantiation logic in its own file,
separating it from the module compiler.

R=ahaas@chromium.org

Change-Id: I5a721c7357022dd7bf32f776b2ab0153f7dd68fc
Reviewed-on: https://chromium-review.googlesource.com/c/1409429
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58797}
2019-01-14 16:41:09 +00:00
Peter Marshall
138bcfc396 [cpu-profiler] Add more logging to find flaky failure
There is a flaky 5x failure in the tree which I can't reproduce locally.
This extra logging will help flush out what the problem is.

Bug: v8:8649

Change-Id: If36d2ce0f4feb398d7d746d69b417bb55a714422
Reviewed-on: https://chromium-review.googlesource.com/c/1402787
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58796}
2019-01-14 16:39:49 +00:00
Leszek Swirski
b4a3af9157 [ignition] Move for-of desugaring to bytecode
This removes the iteration protocol from the parser entirely, and opens
up future possibilities for more bytecodes implementing the various
functions of the protocol.

Change-Id: I316b8a92434d3b5f47927408a235ddaecd65d5bb
Reviewed-on: https://chromium-review.googlesource.com/c/1403125
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58795}
2019-01-14 16:37:41 +00:00
Ross McIlroy
09576a81b1 [Test] Unskip array-multiple-receiver-maps with added tracing.
BUG=v8:8653

Change-Id: I7cb6ef7046ca37474f46a04ae75110f0fa998d8a
Reviewed-on: https://chromium-review.googlesource.com/c/1409425
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58794}
2019-01-14 16:08:45 +00:00
Clemens Hammacher
94958319d9 [wasm] Store enabled features in compilation env
The background compile tasks should not access the NativeModule during
the main compile phase.
This CL moves on of the accessed fields into the {CompilationEnv}. It
is initialized from the existing field on the {NativeModule}.

R=titzer@chromium.org

Bug: v8:8689
Change-Id: I9738e2fb4681a035cbacf3c9e00b9e5cc9419416
Reviewed-on: https://chromium-review.googlesource.com/c/1409423
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58793}
2019-01-14 15:57:41 +00:00
Andreas Haas
75a780920a [v8][api] Add API function CallLowPriorityTaskOnWorkerThread
When we run TurboFan compilation for WebAssembly on worker threads with
default priority, we see in bug reports (https://crbug.com/914757) and
in experiments that TurboFan compilation can block other, higher
priority tasks. Therefore we want to post TurboFan compilation tasks
with lower priority.

A quick prototype showed that if we run all WebAssembly compilation with
low priority, the problem described in https://crbug.com/914757 is
fixed.

R=adamk@chromium.org
CC=rmcilroy@chromium.org

Bug: chromium:920181
Change-Id: I85e2c0c6a96ff9ef165a23ef8eb531944b20f2b0
Reviewed-on: https://chromium-review.googlesource.com/c/1402790
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58792}
2019-01-14 15:45:01 +00:00
Ben L. Titzer
f726d7f0c4 [mjsunit] Dont generate dumps from regression test
The --perf-prof flag generates unwanted .dump files, while the
--perf-prof-unwinding-info flag enables the functionality under test here.

R=jgruber@chromium.org
BUG=chromium:913844

Change-Id: Ie5ee374977d6105854f42065600dac1bc5ba6df7
Reviewed-on: https://chromium-review.googlesource.com/c/1409363
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58791}
2019-01-14 15:26:16 +00:00
Sigurd Schneider
d7a989e3b8 [turbolizer] Keep tabs and info tab between loads
This is a first step towards support for opening more than one
turbolizer json file at once.

Change-Id: Id51ce47c59492ba63de03eceb0163fa1701ea500
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1407057
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58790}
2019-01-14 15:09:30 +00:00
Sigurd Schneider
5b490eb2ee [turbolizer] Add CTRL+L as load shortcut
..as mentioned in the info tab.

Change-Id: I9ddbe1ad7eb3242ad7839650aecc7305a902fb0d
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1407056
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58789}
2019-01-14 15:07:30 +00:00
Sigurd Schneider
ad6c02afbd [turbolizer] View whole graph after phase change
..instead of wrongly keeping the location from the previous view if
the selection became empty after attaching it.

Change-Id: I606010ad86034c2ec06e00c82143a22ca2d88274
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1407055
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58788}
2019-01-14 15:05:30 +00:00
Ulan Degenbaev
13e07389ff Revert "[heap] Remove bailout marking worklist."
This reverts commit 68a8bdd829.

Reason for revert: memory regression: crbug.com/921239

Original change's description:
> [heap] Remove bailout marking worklist.
> 
> The concurrent marker can now process all objects.
> This patch also eagerly visits the objects that undergo layout
> changes. This is because previously such objects were pushed
> onto the bailout worklist, which is gone now.
> To preserve the incremental step accounting, the patch introduces
> a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
> 
> Bug: v8:8486
> Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
> Reviewed-on: https://chromium-review.googlesource.com/c/1386486
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58712}

TBR=ulan@chromium.org,mlippautz@chromium.org

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

Bug: v8:8486, chromium:921239
Change-Id: I1f851b948f4ce403316e469999f0b16e8dfdb62d
Reviewed-on: https://chromium-review.googlesource.com/c/1408990
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58787}
2019-01-14 15:00:11 +00:00
Ben L. Titzer
6d3d8f7be6 [wasm] Add runtime call plumbing for Table operations.
This CL adds two new runtime calls for table operations:
  - Runtime_WasmTableInit
  - Runtime_WasmTableCopy

These runtime calls (will) implement the semantics for the corresponding
bytecodes from the bulk memory proposal. The actual implementation
of these runtime calls will be done in further CLs.

The third table operation, table.drop, will be implemented with inline
code, similar to memory.drop. This is also be done in a further CL.

R=mstarzinger@chromium.org
CC=​binji@chromium.org
BUG=v8:7747

Change-Id: I498aa054329baf9f72ae55d245b12c3ccd4157b7
Reviewed-on: https://chromium-review.googlesource.com/c/1408994
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58786}
2019-01-14 14:33:08 +00:00
Camillo Bruni
a6f4462987 Reland "[parser] Inline byte scope data into PreparseData object"
This is a reland of e2d44ede95

Original change's description:
> [parser] Inline byte scope data into PreparseData object
> 
> Each PreparseData object had at least one pointer to a PodArray for its
> serialized scope data. These objects usually have only tens of bytes of
> payload. By inlining the byte data we save 3 words per PreparseData object.
> This optimization saves 140KB of data on cnn.com.
> 
> 
> - Store data_length and inner_length as int32 saving a words on 64bit
> - Inline store byte data into PreparseData
> - OnHeapConsumedPreparseData directly uses the PreparseData object
> - get_inner, set_inner no longer allow Null sentinels
> 
> Change-Id: I1f62154d05ea2f98a6574efa738b32a8a84319d5
> Reviewed-on: https://chromium-review.googlesource.com/c/1406673
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Camillo Bruni <cbruni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58751}

Change-Id: I1f0a22c641d0d67f435b01c82daf8da7f144bff4
Reviewed-on: https://chromium-review.googlesource.com/c/1407066
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58785}
2019-01-14 14:17:05 +00:00
Yang Guo
c8567109f5 [bootstrapper] consistently skip transferring existing property.
R=jgruber@chromium.org

Bug: v8:8669
Change-Id: I3c3995fa2e5661fa267a11649bdef1991b87c722
Reviewed-on: https://chromium-review.googlesource.com/c/1407064
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58784}
2019-01-14 14:03:32 +00:00
Sigurd Schneider
574939c6de [turbolizer] Detect in-place updates of nodes
..and display them in the extended node title (on hover).

Notry: true
Bug: v8:7327
Change-Id: Ic9cd6207269686edb42ecf1bee8f7ef7b6caa035
Reviewed-on: https://chromium-review.googlesource.com/c/1407054
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58783}
2019-01-14 14:00:54 +00:00
Sigurd Schneider
3113fa4fad [turbolizer] Add checkbox to search only visible nodes
Drive-by: Make label of checkboxes in disassembly view clickable.

Notry: true
Bug: v8:7327
Change-Id: I29478c5cb2bd4152df7943f9dfbba487f3b8bddb
Reviewed-on: https://chromium-review.googlesource.com/c/1407053
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58782}
2019-01-14 13:58:34 +00:00
Sigurd Schneider
78baec66ba [turbolizer] Fix bugs in 'select origin' graph command
Notry: true
Bug: v8:7327
Change-Id: I440578b6b790f7f5f4cb41147572f32459fb59e5
Reviewed-on: https://chromium-review.googlesource.com/c/1407052
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58781}
2019-01-14 13:54:43 +00:00
Sigurd Schneider
84dc3c2234 [turbolizer] Add info tab with keyboard shortcuts
Notry: true
Bug: v8:7327
Change-Id: I2592d921905ad361f09ff6d99c0b0d64617543c4
Reviewed-on: https://chromium-review.googlesource.com/c/1407051
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58780}
2019-01-14 13:52:23 +00:00
Georg Neis
344db1ab60 [turbofan] Restrict a keyed access optimization to unique names.
Restrict the special handling of constant keys in ReduceKeyedAccess
to unique names. This eliminates two hurdles for concurrent optimization,
namely the need for ToName conversion and for string internalization.

Bug: v8:7790
Change-Id: Ifa2ff6ab1d5f3da1d27cca4dae3567733564801c
Reviewed-on: https://chromium-review.googlesource.com/c/1409168
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58779}
2019-01-14 13:25:07 +00:00
Clemens Hammacher
78f0d3279b Revert "[GC] Ensure JSFunctions with flushed bytecode are flushed during GC."
This reverts commit f5729f1cda.

Reason for revert: GC Stress failures, e.g. https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/23549

Original change's description:
> [GC] Ensure JSFunctions with flushed bytecode are flushed during GC.
> 
> When bytecode is flushed from a SFI, the JSFunctions still retain their
> FeedbackVector's and point to the interpreter entry trampoline. They are
> reset if re-executed, however if not they could hold onto the feedback
> vector indefinetly. This CL adds a pass the GC to detect JSFunctions that
> need to be reset, and performs the reset at the end of GC.
> 
> BUG=v8:8395
> 
> Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519
> Reviewed-on: https://chromium-review.googlesource.com/c/1393292
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58775}

TBR=ulan@chromium.org,rmcilroy@chromium.org

Change-Id: I1ba0a190e54bb84b9e2c52ae73d19eb5afc02a4b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8395
Reviewed-on: https://chromium-review.googlesource.com/c/1408993
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58778}
2019-01-14 12:55:29 +00:00
Ben L. Titzer
d53fd7b0ed [wasm] Simplify CheckUnorderedSection by splitting and inlining
R=ahaas@chromium.org

Change-Id: Ib6c69345f6c00580ba444ec885c46057dc8a3d48
Reviewed-on: https://chromium-review.googlesource.com/c/1408992
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58777}
2019-01-14 12:42:35 +00:00
Clemens Hammacher
bd502b2bdd [wasm] Do not store the NativeModule in compilation units
Instead, pass it as a parameter to the compilation.
This makes compilation units slimmer with the end goal of them being
just the function index and execution tier.
It also makes ownership handling of the NativeModule easier.

R=titzer@chromium.org

Bug: v8:8343, v8:7921
Change-Id: I0522c894569c71d8b7245f5ed5612ab2a249e1ad
Reviewed-on: https://chromium-review.googlesource.com/c/1406668
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58776}
2019-01-14 12:28:38 +00:00
Ross McIlroy
f5729f1cda [GC] Ensure JSFunctions with flushed bytecode are flushed during GC.
When bytecode is flushed from a SFI, the JSFunctions still retain their
FeedbackVector's and point to the interpreter entry trampoline. They are
reset if re-executed, however if not they could hold onto the feedback
vector indefinetly. This CL adds a pass the GC to detect JSFunctions that
need to be reset, and performs the reset at the end of GC.

BUG=v8:8395

Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519
Reviewed-on: https://chromium-review.googlesource.com/c/1393292
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58775}
2019-01-14 12:06:28 +00:00
Ben L. Titzer
ca4c236fd3 [wasm] Rename WasmTableInit to WasmElemSegment
This matches the terminology that is used throughout the spec.

R=clemensh@chromium.org

Change-Id: I62445e750415e6048b805110c7306f3bdbf9da60
Reviewed-on: https://chromium-review.googlesource.com/c/1408988
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58774}
2019-01-14 12:01:18 +00:00
Georg Neis
514033ab09 [turbofan] Drop unnecessary InternalizeName call.
Bug: v8:7790
Change-Id: Iad9a3087ea7915bade6c70c56f6d8f6f640f26cb
Reviewed-on: https://chromium-review.googlesource.com/c/1408889
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58773}
2019-01-14 11:53:46 +00:00
Clemens Hammacher
5e87da67d1 [wasm] Merge ScheduleCodeLogging into OnFinishedUnit
They happen right after each other anyway. Merging them saves one mutex
scope.

R=ahaas@chromium.org

Change-Id: Id3ed564e6f7d8dce78022e6ded238d41c6beb333
Reviewed-on: https://chromium-review.googlesource.com/c/1405858
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58772}
2019-01-14 11:52:26 +00:00
tzik
9034437b1b Update JSEntry for PPC for new parameter ordering
As a follow-up of https://crrev.com/c/1372857 that repordered
the parameters of JSEntry, this CL updates JSEntry for PPC for new
ordering.

Bug: v8:8124

Change-Id: I9daa23dc66209e435a729c2e8464c54d098dcf1f
Reviewed-on: https://chromium-review.googlesource.com/c/1406530
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58771}
2019-01-14 11:48:07 +00:00
Jakob Gruber
c0f5a3a08c [arm] Remove cpu-feature-dependent MemCopy/MemMove
This code must move into builtins since --jitless disallows executable
memory allocation at runtime. Removing CPU-dependent code will make that
step easier.

The hope is that processors have gotten better in the last couple of
years and this code is unnecessary by now.

Bug: v8:8675
Change-Id: I1f2f104befc5f65f1dd69e9643cc51290d2465b8
Reviewed-on: https://chromium-review.googlesource.com/c/1407061
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58770}
2019-01-14 11:32:46 +00:00
Georg Neis
8683116e64 Reland^3 "[turbofan] Use feedback when reducing global loads/stores."
This is a reland of 2d2c137492 without
changes. Offending chromium tests have been modified.

Original change's description:
> Reland^2 "[turbofan] Use feedback when reducing global loads/stores."
>
> This reverts commit ac85ab0a3d. A
> chromium test caused trouble and was taken care of in
> https://chromium-review.googlesource.com/c/1384064.
>
> Original change's description:
> > [turbofan] Use feedback when reducing global loads/stores.
> >
> > We already record the script context location or the property cell
> > as feedback of the global load/store IC, so Turbofan doesn't need
> > to do the lookups again.
>
> TBR=sigurds@chromium.org
>
> Change-Id: I58bcd9bceec2f9cf401f7b0fc4460a6da6cd0abc
> Reviewed-on: https://chromium-review.googlesource.com/c/1386404
> Commit-Queue: Georg Neis <neis@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58393}

Change-Id: Ic6734201a6c45f2752488ab44b16859776802f51
Reviewed-on: https://chromium-review.googlesource.com/c/1408252
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58769}
2019-01-14 10:41:55 +00:00
Predrag Rudic
ff7ced5102 MIPS[64] Fix floating point register allocation
Failure to make snapshot in debug mode on MIPS was caused by bad
floating point register allocation for function parameters. According to
MIPS convention, floating point parameters  cannot be stored on odd
numbered floating point register. Which was the case (f7 was allocated).
This patch ensures that f12 and f14 are used for storing fp parameters.

To be able to determine types of parameters in InitializePlatformSpecific
method, InitializePlatformIndependent has to be executed first.
InitializePlatformIndependent requires number of parameters in arguments.
That is the reason for changing definitions of CompareDescriptor and
BinaryDescriptor classes.

Change-Id: I7d723e03385f756114df60e33798400e97d99d8f
Reviewed-on: https://chromium-review.googlesource.com/c/1400415
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Predrag Rudic <prudic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#58768}
2019-01-14 10:33:45 +00:00
Sven Sauleau
ae5c2ea8f9 [wasm] support calling an imported func that returns a i64
It removes the assertion that caused the bug report by introducing a new
trampoline (WasmBigIntToI64) for the conversion code stub between a Bigint
object and a Wasm i64 BigIntToI64).

The tests were updated to cover calling the stub from a Wasm callsite.

Bug: v8:8625
Change-Id: I55891001cfa72f6f2849792293b43bbb54147f1a
Reviewed-on: https://chromium-review.googlesource.com/c/1405028
Commit-Queue: Sven Sauleau <ssauleau@igalia.com>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58767}
2019-01-14 10:28:45 +00:00
Jakob Gruber
9eb278b829 Revert "[ia32] Remove custom MemMove function"
This reverts commit 4a9f186bde.

Reason for revert: Regresses microbenchmarks. https://crbug.com/v8/8675#c5

Original change's description:
> [ia32] Remove custom MemMove function
> 
> It isn't clear whether our custom generated MemMove function provides
> any benefits over std::memmove. This is an attempt to remove it. If
> bots seem unhappy we can revert.
> 
> Bug: v8:7777,v8:8675
> Change-Id: I7f1a6e3050b6e635618593c04f7d51e448426ee2
> Reviewed-on: https://chromium-review.googlesource.com/c/1405854
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58748}

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

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

Bug: v8:7777, v8:8675
Change-Id: Ia4ad37070f433f76b1158e90835162aefe38abdd
Reviewed-on: https://chromium-review.googlesource.com/c/1407063
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58766}
2019-01-14 09:07:51 +00:00
Benedikt Meurer
55decb637e [dx] Turn on zero cost async stack traces by default.
Bug: v8:7522, v8:8673
Change-Id: Iee2d6fda9291fbdd346d25d2c535874dba13fdc9
Ref: nodejs/node#11865
Design-Document: http://bit.ly/v8-zero-cost-async-stack-traces
Reviewed-on: https://chromium-review.googlesource.com/c/1396425
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58765}
2019-01-14 09:06:46 +00:00
Tom Tan
485136287e Use .rdata as section name for asm targeting COFF
.rdata is the default section which hosts read-only data for COFF. Use this
default section name avoids creating a new .rodata section with explicit
read-only property.

Bug: chromium:919180
Change-Id: I7325cbcfdb142b3ee15de93b7881f755c365d6e6
Reviewed-on: https://chromium-review.googlesource.com/c/1407240
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58764}
2019-01-14 08:15:11 +00:00
v8-ci-autoroll-builder
3d47306487 Update V8 DEPS.
Rolling v8/build: 4fb577f..d419229

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

Change-Id: I0d2a9672ca8ea92128f3ce5515cfdc95c6116a49
Reviewed-on: https://chromium-review.googlesource.com/c/1408397
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@{#58763}
2019-01-14 03:30:27 +00:00
v8-ci-autoroll-builder
f6ca5bb395 Update V8 DEPS.
Rolling v8/build: 1fd7544..4fb577f

Rolling v8/tools/clang: 8a781d8..a9c5056

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

Change-Id: I5da862435a82ae938106f5ea0d8a97a1dd4780c0
Reviewed-on: https://chromium-review.googlesource.com/c/1408389
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@{#58762}
2019-01-13 03:46:31 +00:00
Sigurd Schneider
994dc1f249 [turbolizer] Enable even more tslint checks
- 'let' instead of 'var', and prefer 'const'
 - Prefer for-of over indexed interation
 - Variable names should be 'camel-case' or
   all-caps snake-case.
 - Only one variable declaration per line

Change-Id: I645dd2333d6d9a993f24c29121f5f156249f1b71
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1405320
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58761}
2019-01-12 15:47:35 +00:00
Sigurd Schneider
45669e9bf1 [turbolizer] Add semicolons consistently after statements
Change-Id: I8e147bcb5d1e0b8e16874f0593a8ce4338dfc201
Notry: true
Bug: v8:7327
Reviewed-on: https://chromium-review.googlesource.com/c/1405319
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58760}
2019-01-12 15:43:35 +00:00
Sigurd Schneider
a6356ac65b [turbolizer] Enable more tslint checks
- Ban T[] array syntax
 - Format arrow function arguments consistently

Bug: v8:7327
Notry: true
Change-Id: I072a352ec9009948392a6bb5dd4381d4993af7be
Reviewed-on: https://chromium-review.googlesource.com/c/1405317
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58759}
2019-01-12 15:40:15 +00:00
v8-ci-autoroll-builder
843535b893 Update V8 DEPS.
Rolling v8/base/trace_event/common: 211b3ed..889afc2

Rolling v8/build: 26535fd..1fd7544

Rolling v8/buildtools: 7d88270..0e1cbc4

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/0cc5823..96320b5

Rolling v8/third_party/depot_tools: 80a1cf6..8432ec2

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

Change-Id: I8cd4d39fa2e6b8340b8137af4294e8dbf80b31a6
Reviewed-on: https://chromium-review.googlesource.com/c/1407241
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@{#58758}
2019-01-12 03:49:49 +00:00
Sergiy Belozorov
1b5b360eb7 [tools] Whitespace CL
TBR=sergiyb@chromium.org

No-Try: true
Bug: chromium:920561
Change-Id: Ice88e78100d8c87d11e30c8c5fa42c54206c2967
Reviewed-on: https://chromium-review.googlesource.com/c/1363132
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58757}
2019-01-11 18:49:37 +00:00
Sergiy Belozorov
454e7e1248 [tools] Trigger Nexus5/7 trybots on LUCI builders
R=machenbach@chromium.org

No-Try: true
Bug: chromium:920561
Change-Id: Iaf80de577ba2c6b2d22938240aba6b9e432b7427
Reviewed-on: https://chromium-review.googlesource.com/c/1404441
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58756}
2019-01-11 17:52:40 +00:00
Adam Klein
469754d01c [parser] Allow same-named labelled blocks in if/else statements
Bug: chromium:917215
Change-Id: Ie2127953a8ce3d6da4feb3478039ba318774e21d
Reviewed-on: https://chromium-review.googlesource.com/c/1404176
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58755}
2019-01-11 17:40:18 +00:00
Maya Lekova
7ebbe03e08 [test] Update inspector test expectations for await optimization
Bug: v8:8672
Change-Id: I3cd7319f81280447486b713b1b321f6e8ee099f6
Reviewed-on: https://chromium-review.googlesource.com/c/1405855
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58754}
2019-01-11 16:04:42 +00:00