Commit Graph

47790 Commits

Author SHA1 Message Date
Peter Marshall
ecae80cdb3 [cpu-profiler] Add a new profiling mode with a more detailed call tree.
The current profiling mode (called kLeafNodeLineNumbers in this CL)
produces a tree, with each node representing a stack frame that is seen
in one or more samples taken during profiling. These nodes refer to a
particular function in a stack trace, but not to a particular line or
callsite within that function.

This CL adds a new more (called kCallerLineNumbers) which produces a
different profile tree, where each stack trace seen during profiling,
including the line number, has a unique path in the tree.

The profile tree was previously keyed on CodeEntry*. Now it is keyed on
the pair of CodeEntry* and line_number, meaning it has distinct nodes
for those combinations which exist, and each distinct stack trace that
was sampled is represented in the tree.

For optimized code where we have inline frames, there are no line
numbers for the inline frames in the stack trace, causing duplicate
branches in the tree with kNoLineNumberInfo as the reported line number.
This will be addressed in follow-ups.

Bug: v8:7018
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I512e221508f5b50ec028306d212263b514a9fb24
Reviewed-on: https://chromium-review.googlesource.com/1013493
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53298}
2018-05-23 09:23:40 +00:00
Michael Achenbach
2ecd52ffa4 [test] Skip slow tests
TBR=jgruber@chromium.org
NOTRY=true

Bug: v8:7783
Change-Id: I4887d520fe97a03189977e39d5db944175c759d0
Reviewed-on: https://chromium-review.googlesource.com/1068673
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53297}
2018-05-23 08:20:10 +00:00
Marja Hölttä
85f7663a24 [reland] [in-place weak refs] Replace WeakCells in FeedbackVector.
Previous version: https://chromium-review.googlesource.com/1049606

This version is exactly the same as the previous; a bugfix
( https://chromium-review.googlesource.com/c/v8/v8/+/1069127 ) makes
relanding possible.

BUG=v8:7308
TBR=ishell@chromium.org, tebbi@chromium.org, leszeks@chromium.org, ulan@chromium.org

Change-Id: If7d455ceb6af0505a44b4fc52c52143e51cd115a
Reviewed-on: https://chromium-review.googlesource.com/1070027
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53296}
2018-05-23 07:43:27 +00:00
v8-autoroll
90f6ce1243 Update V8 DEPS.
Rolling v8/build: b5df251..4389c9c

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/49edbd3..12f7d6b

Rolling v8/third_party/depot_tools: 083eb25..ebdd0db

Rolling v8/third_party/googletest/src: 08d5b1f..145d057

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

Change-Id: Ic1022e9d81d7e90559693648b6fc85af53937240
Reviewed-on: https://chromium-review.googlesource.com/1069470
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53295}
2018-05-23 03:47:44 +00:00
Mathias Bynens
72f1abfbec [esnext] Rename Array#flatten to flat
The TC39 committee reached consensus to rename `flatten` to `flat`
during the May 22nd meeting. The corresponding patch to the proposal
is here:

093eacc7fe

Bug: v8:7220
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ie8049ae4d4589a4ae7fe3d203053cef798c135e4
Reviewed-on: https://chromium-review.googlesource.com/1069467
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53294}
2018-05-23 02:13:05 +00:00
Tobias Tebbi
6b2c305c18 [torque] allow templates without body
Change-Id: Ie61c8fa51c7c13ab74c4c97ed6803be7f879a549
Reviewed-on: https://chromium-review.googlesource.com/1069088
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53293}
2018-05-22 22:42:42 +00:00
Tobias Tebbi
6e91806b09 [torque] add type alias declarations
Change-Id: I80dd313ac3a5809d363adff9cf11ac31b04648dd
Reviewed-on: https://chromium-review.googlesource.com/1068876
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53292}
2018-05-22 21:56:13 +00:00
Vasili Skurydzin
1c3b3e992a s390: Implement Word32 atomic binary operations using LAA/LAN/LAO/LAX
Change-Id: I97cdf61a15c2141d3c552a792ac08c9865f272ff
Reviewed-on: https://chromium-review.googlesource.com/1066307
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#53291}
2018-05-22 20:43:12 +00:00
Junliang Yan
f46c60372f s390: Remove experiment for restricting constructor return values
Port 813094ac8c

Original Commit Message:

    This is not web compatible, so let's delete the code.

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

Change-Id: I8cbe561b176c25900d4e40eb8912e5c0b4c44410
Reviewed-on: https://chromium-review.googlesource.com/1069170
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#53290}
2018-05-22 19:49:32 +00:00
Sigurd Schneider
3cd0a367aa [turbolizer] Refactor view management
Change-Id: I6d84e7ef500aecd83a77ed2ce3fed4e15b29b7ac
Reviewed-on: https://chromium-review.googlesource.com/1065881
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53289}
2018-05-22 18:19:52 +00:00
Hannes Payer
91c12223fb [heap] Remove anchor page from Space.
Replaces the anchor page circular doubly linked list
with a doubly linked list pointing to nullptr on its ends.

Fixes a memory leak when rewinding pages.

The large pages list will move to the new list implementation
in a follow-up CL.

Change-Id: I2933a5e222d4ca768f4b555c47ed0d7a7027aa73
Reviewed-on: https://chromium-review.googlesource.com/1060973
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53288}
2018-05-22 17:48:02 +00:00
Marja Hölttä
131866fb70 [in-place weak refs] Fix weak_objects_in_code handling.
If it points to a new space object which doesn't get scavenged, we need to drop
the reference.

BUG=v8:7308, v8:7768

Change-Id: I4485a7abcac3a26781811cc9bf134fd80e5f35b5
Reviewed-on: https://chromium-review.googlesource.com/1069127
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53287}
2018-05-22 16:46:22 +00:00
Sergiy Byelozyorov
5754f66f75 [tools] Use TBR by default for uploaded branch CLs
R=machenbach@chromium.org

Bug: v8:7766
Change-Id: If96c5b278ef25f2b8729a4abc81defb598b444ee
Reviewed-on: https://chromium-review.googlesource.com/1066558
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53286}
2018-05-22 16:11:52 +00:00
Deepti Gandluri
a88f7a94ee [wasm] Int64 lowering for I64SExtend operations
Change-Id: I488b47a51ef79c97545576fcc7d58e9147deb664
Reviewed-on: https://chromium-review.googlesource.com/1067677
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53285}
2018-05-22 15:49:52 +00:00
Simon Zünd
b07d55f5cb [torque] Allow function pointers to generic builtins.
This CL adds grammar support for function pointers to generic builtins.
It also instantiates generic specializations when they are only used
in an assignment to a function pointer.

Example:

builtin GenericBuiltinTest<T: type>(c: Context, param: T): Object {
  return Null;
}

let fnptr: builtin(Context, Smi) => Object = GenericBuiltinTest<Smi>;

Change-Id: Ib7e5f47ffc05f14eb5d0b789936587263dfb961d
Reviewed-on: https://chromium-review.googlesource.com/1068731
Commit-Queue: Simon Zünd <szuend@google.com>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53284}
2018-05-22 15:21:42 +00:00
Simon Zünd
ccee44e161 [array] Add megamorphic Array.p.sort benchmark
This CL adds a benchmark where the array to sort undergoes
multiple element kind transitions before it is sorted.

R=jgruber@chromium.org

Bug: v8:7382
Change-Id: I5196a33139a5f3b833719c2a111dc9a521bdb37c
Reviewed-on: https://chromium-review.googlesource.com/1066012
Commit-Queue: Simon Zünd <szuend@google.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53283}
2018-05-22 14:26:36 +00:00
Tobias Tebbi
38da15ea91 [torque] refactor types to not be declarables
We already had to introduce TypeAlias to allow types to be const.
With TypeAlias, there is no need for types to be declarable themselves.

Change-Id: Ia718482f6c121b5316aca819368e6d048283e5e8
Reviewed-on: https://chromium-review.googlesource.com/1068734
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53282}
2018-05-22 14:25:31 +00:00
Sigurd Schneider
74c341bea9 [js-perf-test] Add micro-benchmark with constant regexps
Bug: v8:7779
Change-Id: Iabe5b74900885d489309fdfe25674a29e8690965
Reviewed-on: https://chromium-review.googlesource.com/1068745
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53281}
2018-05-22 13:47:21 +00:00
Ben L. Titzer
27ad0c8495 [wasm] Do not log imported function code
The wrappers for imports are not accessible through the code() accessor,
so avoid tracing them for now.

BUG=chromium:844745
R=ahaas@chromium.org

Change-Id: I63fe447091ba3c202e3ffcfddfa645049a0b83cf
Reviewed-on: https://chromium-review.googlesource.com/1068739
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53280}
2018-05-22 13:36:31 +00:00
Sigurd Schneider
2cd48c74e0 [turbolizer] Add reducer phase to node origin
Bug: v8:7327
Change-Id: Ic1c4a10a251a8243fc337dc149eb057a29cace2b
Reviewed-on: https://chromium-review.googlesource.com/1065670
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53279}
2018-05-22 12:13:41 +00:00
Peter Marshall
1cb19f0e0a [cpu-profiler] Save space in the SourcePositionTable by using a vector.
This map is often quite small and holds small items (ints) so wastes
quite a bit of overhead in the backing tree representation.

This CL changes the std::map to a sorted vector of pairs. This reduces
the size significantly (2.13 MiB -> 598 KiB on the node server example).

Bug: v8:7719
Change-Id: Ic829693f007732ae145fae02850a1ed913cd941e
Reviewed-on: https://chromium-review.googlesource.com/1064233
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53278}
2018-05-22 09:48:45 +00:00
Andreas Haas
3fb356bb5b [wasm] Update spec tests
R=titzer@chromium.org

Change-Id: Ifffa4ddb671ab337d75952515b6f5e55033bbd7d
Reviewed-on: https://chromium-review.googlesource.com/1068040
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53277}
2018-05-22 09:47:41 +00:00
Sigurd Schneider
0698fb835b [turbofan] Make naming of pipeline phases consistent
This CL re-uses pipeline naming for --trace-turbo phase naming.

Bug: v8:7327
Change-Id: I87efb01170ed5d3add7a79c9f38542e9cba6c493
Reviewed-on: https://chromium-review.googlesource.com/1064237
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53276}
2018-05-22 08:54:41 +00:00
Michael Achenbach
ef320c6603 [test] Migrate more test configs from infra to V8
This migrates test configs for all remaining trybots.

All migrated builders are not on CQ, hence, they don't run regularly.
Therefore, some shard configs are too low by now and are also upgraded
in this CL to match their CI counterparts.

This also sets the --gc-stress flag for all tests on gc stress builders
explicitly, since the infra-side configuration (which sets it per
builder) will be deleted soon.

NOTRY=true

Bug: chromium:830557
Change-Id: Id8a9505fcd2c848ec659c7401cbbe9224feaf5d2
Reviewed-on: https://chromium-review.googlesource.com/1065674
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53275}
2018-05-22 07:20:30 +00:00
Michael Lippautz
020d387f6a [testing] Add gc_stats variant
This is to allow testing object stats collection.

No-try: true
Bug: v8:7760
Change-Id: I1e5318f18bfb3799b90c0ee0aec6df87a794b32c
Reviewed-on: https://chromium-review.googlesource.com/1065478
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53274}
2018-05-22 07:19:20 +00:00
v8-autoroll
e0cd8f57e0 Update V8 DEPS.
Rolling v8/build: d28bd70..b5df251

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1d08c64..49edbd3

Rolling v8/tools/clang: 679372d..c893c7e

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

Change-Id: I37f185f145ee138d152758376da38fd12d322673
Reviewed-on: https://chromium-review.googlesource.com/1067992
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53273}
2018-05-22 03:53:50 +00:00
Jakob Kummerow
590a71551b [string] Fix stale pointer crash in String.p.split
ToDirectStringAssembler::PointerToData returns a raw pointer, which
is invalidated when GC moves the original string and hence must not
be accessed after any allocations. This fixes the bug introduced in
b4ebbc57a9 / r53260.

Bug: chromium:845060
Tbr: jgruber@chromium.org
Change-Id: I248d0dd2a275bf9308269b3f65d00c4c4c3d4292
Reviewed-on: https://chromium-review.googlesource.com/1068213
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53272}
2018-05-22 02:54:19 +00:00
Mathias Bynens
cfc82ad3c2 Remove always-true --harmony-subsume-json flag
The ECMAScript ⊃ JSON proposal shipped in V8 v6.6 and Chrome 66.

Bug: v8:7418
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Id8979d0cec6d61ef4a7e9982142a3f3dcf7c326b
Reviewed-on: https://chromium-review.googlesource.com/1067857
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53271}
2018-05-21 21:38:49 +00:00
Mathias Bynens
b09b236992 [test] Improve LineContinuation test coverage
The ECMAScript ⊃ JSON proposal doesn’t affect LineContinuation
grammar. These tests verify that the behavior remains the same when
the --harmony-subsume-json feature flag is enabled.

Bug: v8:7418
Change-Id: Iec5cb1bc112f278481ba1202f0c2b8693917843a
Reviewed-on: https://chromium-review.googlesource.com/1067463
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53270}
2018-05-21 20:15:59 +00:00
Peter Marshall
7f67bea468 [tools] Update gm.py to re-run mksnapshot in gdb
It seems that the output on snapshot failure has changed, so failed
snapshots were no longer being automatically re-run in gdb.

Change-Id: I321a6055b5683db31d215b9c30827f4badca3df7
Reviewed-on: https://chromium-review.googlesource.com/1066058
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53269}
2018-05-21 11:15:39 +00:00
v8-autoroll
13ba885609 Update V8 DEPS.
Rolling v8/build: a071784..d28bd70

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/669dcb1..1d08c64

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

Change-Id: I270b86ba6f048eeaa8e77658c0b1a14b7fd1621a
Reviewed-on: https://chromium-review.googlesource.com/1067123
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53268}
2018-05-20 03:35:41 +00:00
v8-autoroll
c865704af7 Update V8 DEPS.
Rolling v8/build: 0676f76..a071784

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/78fd930..669dcb1

Rolling v8/third_party/depot_tools: 3f0591d..083eb25

Rolling v8/third_party/icu: b0e0b84..f61e46d

Rolling v8/tools/clang: a67a084..679372d

Rolling v8/tools/swarming_client: 8822987..833f5eb

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

Change-Id: I46b469b09b81ad3106ae4526d2996d2babec080a
Reviewed-on: https://chromium-review.googlesource.com/1066895
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53267}
2018-05-19 03:55:40 +00:00
Aseem Garg
eff265415a [wasm] Add simd splat to wasm interpreter
R=gdeepti@chromium.org,bbudge@chromium.org,clemensh@chromium.org,titzer@chromium.org
BUG=v8:6020

Change-Id: I25676d4f8a7ea7b1e02a54abe009faec0eb2c6db
Reviewed-on: https://chromium-review.googlesource.com/1018840
Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53266}
2018-05-18 22:30:10 +00:00
Vincent Belliard
518dbb9cfb [arm64][Liftoff] implement modulo
Bug: v8:6600
Change-Id: I64ab212badf1b54d3e50466b74b30eb2866fbc9e
Reviewed-on: https://chromium-review.googlesource.com/1060345
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Vincent Belliard <vincent.belliard@arm.com>
Cr-Commit-Position: refs/heads/master@{#53265}
2018-05-18 20:51:30 +00:00
Sathya Gunasekaran
813094ac8c Remove experiment for restricting constructor return values
This is not web compatible, so let's delete the code.

Bug: v8:5536
Change-Id: I50506d37dcdff1f7f95577c47adcec653cc1f06e
Reviewed-on: https://chromium-review.googlesource.com/1064740
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53264}
2018-05-18 19:59:49 +00:00
Vincent Belliard
0300caa502 [Liftoff] add LiftoffAssembler::AbortCompilation
For AArch64, clean correctly the pools when the compilation is aborted

Bug: v8:6600
Change-Id: I4bacdbeae49290ece0ce1bf47319bf7076fec37c
Reviewed-on: https://chromium-review.googlesource.com/1066151
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53263}
2018-05-18 19:41:49 +00:00
Georgia Kouveli
c4179d7caa [arm64] Use direct calls for WebAssembly
This requires changing the way stubs and builtins are encoded in tags, as for
arm64 we only have 26 bits to encode a PC-relative offset. With the previous
encoding scheme the builtin ids were shifted by 16 bits and ended up exceeding
this range.

Change-Id: I0f396390a622ea67b890d2dd47ca12e00092e204
Reviewed-on: https://chromium-review.googlesource.com/1059209
Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53262}
2018-05-18 16:51:19 +00:00
Georg Neis
5330111d91 [flags] Print flags that were ignored.
Command-line flags can be parsed in two modes. In the mode used by
Chrome, an unrecognized flag causes the remaining arguments to be
ignored. This is different from how d8 parses flags.

Example:

1) d8 --enable-slow-asserts --trace-ic
2) content_shell --js-flags='--enable-slow-asserts --trace-ic'

Assuming we compiled without ENABLE_SLOW_DCHECKS, in (1) we get a
warning that --enable-slow-asserts is unknown. Nevertheless,
--trace-ic will be enabled. In (2), we get an error that
--enable-slow-asserts is unknown but --trace-ic will NOT be enabled
(and neither does content_shell abort).

This inconsistency is obviously very confusing. With this CL, we
will at least print any flags that got ignored.

Change-Id: I22bdb06d2b0accc234b3f5d596458809de364bce
Reviewed-on: https://chromium-review.googlesource.com/1066010
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53261}
2018-05-18 16:40:09 +00:00
Choongwoo Han
b4ebbc57a9 [string] Add a fast path for empty separator in String.p.split
Optimize String.p.split for the case when the separator is empty and
the subject is a direct one-byte string.

Bug: v8:7103
Change-Id: Ica277d2c426679a1f77a1ef8ecb523bd596f65fb
Reviewed-on: https://chromium-review.googlesource.com/1045950
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53260}
2018-05-18 16:09:49 +00:00
Sigurd Schneider
0154be8cd7 [turbolizer] Improve effect/control chain exploration
Shortcuts e and c select (and make visible) the next effect/control
node downwards in the chain; ALT+e/c moves upward.

Additionally, the graph bounding box is redetermined every time the
graph is redrawn (instead of only when relayouted).

Bug: v8:7327
Change-Id: If01b16fc25273703e25e429bdc36753a2fa87f7c
Reviewed-on: https://chromium-review.googlesource.com/1064210
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53259}
2018-05-18 15:45:39 +00:00
Sigurd Schneider
d97d095a31 [turbolizer] Show for each node from which node it was created from
This also includes the precise reducer name. Currently the information
is available in the node tooltip in turbolizer. The new shortcut 's' in
the graph view selects the nodes the currently selected nodes were created
from.

Bug: v8:7327
Change-Id: I7ca7327d0cfa112972e3567df6e4a223c8eff3c0
Reviewed-on: https://chromium-review.googlesource.com/1064059
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53258}
2018-05-18 14:57:46 +00:00
Georg Neis
cf00b353d8 [cleanup] Give better name to a variable and remove bogus comment.
R=sigurds@chromium.org

Change-Id: Ieb73e6b573f2721e62b1c2bc216c26f8b9d38837
Reviewed-on: https://chromium-review.googlesource.com/1065970
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53257}
2018-05-18 14:12:56 +00:00
Clemens Hammacher
6d87fbc756 [wasm] Don't store imported WasmCode pointers in code table
When processing imports of an instance, we were storing pointers to
exported (and re-imported) wasm functions in the code table of the
importing module. This is dangerous since imports are instance specific.
Avoid ever storing call targets for imports in the NativeModule.
Instead, read the call targets from the imports table of the instance.

R=mstarzinger@chromium.org

Bug: chromium:843563

Change-Id: Id9f43a6c127025a5feaa81b2be75c001bc0bea81
Reviewed-on: https://chromium-review.googlesource.com/1065774
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53256}
2018-05-18 13:00:36 +00:00
Ivica Bogosavljevic
ea472336c7 MIPS[64]: Add branch poisoning for FP compare operations
Change-Id: Ie52c6793736f38d1ab1f323b856f36587c46e7f9
Reviewed-on: https://chromium-review.googlesource.com/1059773
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#53255}
2018-05-18 12:59:27 +00:00
Clemens Hammacher
71c05457e2 [wasm] Call imports via import table in js-to-wasm wrappers
The js-to-wasm wrappers are shared across instances, so we cannot
directly call the instance-specific wasm-to-js wrappers. Instead, we
need to call via the import table.

R=titzer@chromium.org

Bug: chromium:843563
Change-Id: Ia882604f6769472fe2eb69176cbed728215ced29
Reviewed-on: https://chromium-review.googlesource.com/1064610
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53254}
2018-05-18 12:56:26 +00:00
Michael Achenbach
f601f8582c Update V8 DEPS.
Rolling v8/build: 03f39fd..0676f76

Rolling v8/buildtools: e754647..94288c2

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/d8600cc..78fd930

Rolling v8/third_party/depot_tools: 8de3800..ed1bb34

Rolling v8/third_party/googletest/src: 045e7f9..08d5b1f

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

Change-Id: I2d370b3e6c8601d104e7a34d6a68d489092fa2db
Reviewed-on: https://chromium-review.googlesource.com/1062816
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53253}
2018-05-18 12:54:46 +00:00
Daniel Clifford
d4c812d899 [torque]: Ensure specializations match generic signature
Fixes known issue that specialization doesn't rigorously checked to
verify that specialization signature precisely matches generic
declaration.

Change-Id: I884f7f16a467ab716d2b0c553485f4b1c55ed806
Reviewed-on: https://chromium-review.googlesource.com/1063613
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53252}
2018-05-18 12:06:30 +00:00
Jungshik Shin
e15a3fad38 Update ICU to 61.1
ICU 61.1 was released in late March with CLDR 33.
Arabic number format change in CLDR 33 requires
a small adjustment in the test result.

See https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1041578
for details on ICU 61.1.

NOTREECHECKS=true


Bug: chromium:838383, chromium:843073
Test: test262/intl402/*, intl/*
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I3778423b7dc67891767c95ea503e003013ae5b69
Reviewed-on: https://chromium-review.googlesource.com/1038230
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53251}
2018-05-18 11:52:19 +00:00
Clemens Hammacher
29ed5807b2 [wasm] Implement Print and Verify for WasmInstanceObject
Drive-by: Fix some accessor definitions.

R=mstarzinger@chromium.org

Change-Id: I2457ac76c376d1e6ffcc19255e669cc7a9732883
Reviewed-on: https://chromium-review.googlesource.com/1063972
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53250}
2018-05-18 11:12:33 +00:00
Igor Sheludko
b53d077206 [csa] Fix improperly used SmiEqual.
Bug: v8:6949, v8:7754, chromium:844200
Change-Id: I0d0d0d7931ac2d560c219ab22ff3df93007f6dad
Reviewed-on: https://chromium-review.googlesource.com/1065876
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53249}
2018-05-18 11:11:28 +00:00