Commit Graph

44385 Commits

Author SHA1 Message Date
Bill Budge
0c2faa0633 [D8] Clean up ArrayBuffer Allocators in shell.
- Reworks the class hierarchy in d8.cc to conform to the allocator API.
  In particular, allocators should malloc/free or equivalent unless
  v8::ArrayBuffer::Allocator::Reserve is called.
- Modifies ExternalizedContents to remember the allocation mode.
- ArrayAllocatorBase now tracks its allocations to make sure it doesn't
  call Free on externalized array buffers it didn't allocate.

Bug: chromium:756050
Change-Id: Ic2d07d36358f1b4fa542bea27f93d1d51a1757e1
Reviewed-on: https://chromium-review.googlesource.com/807355
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49893}
2017-12-06 13:26:34 +00:00
Ali Ijaz Sheikh
369e88655b Revert "[heap] introduce SpaceWithLinearArea class"
This reverts commit 8dd405e39a.

Reason for revert: MSAN errors: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/18598

Original change's description:
> [heap] introduce SpaceWithLinearArea class
> 
> NewSpace and OldSpace have linear allocation areas, but presently the
> implementation doesn't share any code and there are subtle differences.
> This CL introduces a superclass 'SpaceWithLinearArea' that will be used
> to refactor and share code.
> 
> Change-Id: I741e6a6ebb9e75c111287214fd1f555fba62c452
> Reviewed-on: https://chromium-review.googlesource.com/809504
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
> Cr-Commit-Position: refs/heads/master@{#49890}

TBR=ulan@chromium.org,ofrobots@google.com

Change-Id: Ibd325c2965b7b8dea36b34a8c4a3ee06ea24e515
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/810664
Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com>
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Cr-Commit-Position: refs/heads/master@{#49892}
2017-12-06 12:56:36 +00:00
Peter Marshall
133ebca476 [cleanup] Add CSA types to various TypedArray helpers.
Bug: v8:7109
Change-Id: I8d1525734019656b7575636deac8828623a2f8df
Reviewed-on: https://chromium-review.googlesource.com/803215
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49891}
2017-12-06 12:43:00 +00:00
Ali Ijaz Sheikh
8dd405e39a [heap] introduce SpaceWithLinearArea class
NewSpace and OldSpace have linear allocation areas, but presently the
implementation doesn't share any code and there are subtle differences.
This CL introduces a superclass 'SpaceWithLinearArea' that will be used
to refactor and share code.

Change-Id: I741e6a6ebb9e75c111287214fd1f555fba62c452
Reviewed-on: https://chromium-review.googlesource.com/809504
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Cr-Commit-Position: refs/heads/master@{#49890}
2017-12-06 12:34:00 +00:00
Sergiy Byelozyorov
f9aacf1584 Whitespace CL
R=machenbach@chromium.org

Bug: chromium:791583
Change-Id: I84e2949b4b6eb79308218bd1fa073abbb58eaf84
Reviewed-on: https://chromium-review.googlesource.com/809109
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49889}
2017-12-06 11:30:18 +00:00
Ulan Degenbaev
35870e79b0 [heap] Add tracing scope to parallel scavenger.
Bug: chromium:758183
Change-Id: I5bfbff77562fdfd30587fdea475fb1b532e67b40
Reviewed-on: https://chromium-review.googlesource.com/809136
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49888}
2017-12-06 11:07:48 +00:00
Ulan Degenbaev
fc5b2ff106 [heap] Add tracing scope for concurrent marking.
Bug: chromium:758183
Change-Id: I00966a8831ff3d62c962573955e235538e4bf4bb
Reviewed-on: https://chromium-review.googlesource.com/809108
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49887}
2017-12-06 10:33:48 +00:00
Michael Starzinger
02d201bfdd Enable --write-protect-code-memory by default.
R=hablich@chromium.org
BUG=v8:6792

Change-Id: Ib3bb3f84f9acec37a37803f460f5c8cdc3669867
Reviewed-on: https://chromium-review.googlesource.com/792937
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Michael Hablich <hablich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49886}
2017-12-06 10:14:58 +00:00
Peter Marshall
c09b66b84f [cleanup] Add types to CSA SmiMul.
Bug: v8:7109
Change-Id: Ib5a6040ad2f651761d1d59dfe7bffcfe1b5ce062
Reviewed-on: https://chromium-review.googlesource.com/803350
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49885}
2017-12-06 09:52:29 +00:00
Michael Lippautz
3c778f559c [heap] Minor MC: Allow modifying code
Similar to the Scavenger, the Minor MC updates typed pointers into the
young generation and thus requires priviliges to write to code space.

Bug: chromium:651354
Change-Id: If5ce600f651ccb04b6ac3d82e6c2e311bfd7dc4d
Reviewed-on: https://chromium-review.googlesource.com/809013
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49884}
2017-12-06 09:35:18 +00:00
Georg Neis
654bf3cde4 [compiler] Simplify node matching in loop variable analyzer.
This removes a condition that seems to have become always true in the
cases we care about.

R=jarin@chromium.org

Bug: 
Change-Id: I3684db93ab7e498b7b7ac0b42945625c30fd1afa
Reviewed-on: https://chromium-review.googlesource.com/806225
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49883}
2017-12-06 09:20:08 +00:00
Tobias Tebbi
2290ad8b55 [turbofan] do not remove speculative Number operations when they can deopt
We cannot remove a speculative operation when it's type relies on it to deopt.
Fix this by only relying on the lowering to remove operations.

Bug: chromium:786521
Change-Id: I2cf45e8d45b76cfeb06e6329f323cade74719124
Reviewed-on: https://chromium-review.googlesource.com/793043
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49882}
2017-12-06 09:16:58 +00:00
Sergiy Byelozyorov
a6790e0d64 Whitespace CL
TBR=machenbach@chromium.org

Bug: chromium:791583
Change-Id: I66e5ae2f5d0c8d26bf2a9dbe0a2cc6022a4c2b36
Reviewed-on: https://chromium-review.googlesource.com/808973
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49881}
2017-12-06 09:06:39 +00:00
jing.bao
3cc75409ce [ia32][wasm] Add F32x4 Splat/ExtractLane/ReplaceLane.
Add vshufps, vmovaps, insertps/vinsertps

Bug: 
Change-Id: I178cde529b5309a5221086ab916e5485a8b67d5a
Reviewed-on: https://chromium-review.googlesource.com/802999
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Jing Bao <jing.bao@intel.com>
Cr-Commit-Position: refs/heads/master@{#49880}
2017-12-06 02:55:26 +00:00
Deepti Gandluri
663b55aa70 [wasm] Cleanup Ifdefs for SIMD ops
Bug: V8:6020
Change-Id: I4a244dce01a3f85d6e85d3c890c0da3d1f39ef16
Reviewed-on: https://chromium-review.googlesource.com/807350
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49879}
2017-12-05 19:24:45 +00:00
Michael Lippautz
8fba2d4a25 [heap] Avoid checking whether FreeListCategories are linked in NewSpace
The space does not have a FreeList and the cast to PagedSpace is UB.

Bug: chromium:792105
Change-Id: If566374ab87374302a209a9ba4a15ce7c198a4e0
Reviewed-on: https://chromium-review.googlesource.com/809145
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49878}
2017-12-05 17:33:18 +00:00
Jakob Kummerow
b4470ea4cf Reland "[bigint] Fix early-return in asIntN"
For "top digit" (of the result) comparison to be applicable, we must
also check that there are no further digits in the source.

The included regression test flushes out another bug in "TruncateToNBits",
so that gets fixed here too (in contrast to the first landing attempt).

This reverts commit cb9e7af4e5.

Bug: v8:7150
Change-Id: Id631b1ae79e60b8e85ed4667e246a64c46765f2b
Reviewed-on: https://chromium-review.googlesource.com/807348
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49877}
2017-12-05 17:31:58 +00:00
Michael Lippautz
4d95c4b0c9 [heap] Lower limit for maximum number of unmapper tasks
Bug: chromium:791043
Change-Id: Ica59510f9ee611d62bc65775977df7c7f99fb8ca
Reviewed-on: https://chromium-review.googlesource.com/807929
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49876}
2017-12-05 16:56:35 +00:00
Mircea Trofin
355e2f0888 [wasm] s/wasm-heap/wasm-code-manager
Rename to better capture what the files contain.

Removed includes of wasm-code-manager.h from .h files to improve
build time.

Bug: 
Change-Id: I0f0108cfb00b061c4433b6ff9670e9c4cae9c699
Reviewed-on: https://chromium-review.googlesource.com/807368
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49875}
2017-12-05 16:30:06 +00:00
Sergiy Byelozyorov
c91e707bee Whitespace CL
TBR=machebach@chromium.org

Bug: chromium:747960
Change-Id: I1da31b55cb1c5bffbe3c6221a31876cafedc85bb
Reviewed-on: https://chromium-review.googlesource.com/808965
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49874}
2017-12-05 16:11:43 +00:00
Ali Ijaz Sheikh
00a77a9f4a [heap] Fix top_on_previous_step_ check in NewSpace::AllocateRaw.
See also: https://chromium-review.googlesource.com/c/v8/v8/+/738204

BUG=chromium:791582

Change-Id: Ife3acf35eeaa6fdebd5ea2fabc1678ec762b3ed3
Reviewed-on: https://chromium-review.googlesource.com/806516
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Cr-Commit-Position: refs/heads/master@{#49873}
2017-12-05 16:08:23 +00:00
Ivica Bogosavljevic
3c9a2a8fe3 Fix compilation failure due to -Wunneeded-internal-declaration
Bug: 
Change-Id: I9a98cdb032821d7155bf536da1b66bbce90389cf
Reviewed-on: https://chromium-review.googlesource.com/807926
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#49872}
2017-12-05 14:52:31 +00:00
Daniel Clifford
6f6ca7301a Fix OOB access in Array.prototype.slice
Bug: chromium:791345
Change-Id: I81e5e23e2ddfc5e78a4ca922ceffda28516277c3
Reviewed-on: https://chromium-review.googlesource.com/806097
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49871}
2017-12-05 14:34:17 +00:00
Jaroslav Sevcik
f8834852a9 [turbofan] Temporarily disable write barrier elimination for stores of small integers.
The proper fix would be to make TruncatingUseInfoFromRepresentation
respect tagged signed use representation, but requires extra work
to refine typing for all values that are stored into Smi fields.

Bug: chromium:791245
Change-Id: I83965bcc18a836d2c758a6a8b1477a4aa2c6133d
Reviewed-on: https://chromium-review.googlesource.com/808866
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49870}
2017-12-05 14:26:46 +00:00
Sergiy Byelozyorov
23276bd250 Add non-CQ builders as CQ experiments to validate them via luci-migration app
R=machenbach@chromium.org

No-Try: true
Bug: chromium:747960
Change-Id: I01f6c7e074e7a69f33d1d989460c36a9077a887d
Reviewed-on: https://chromium-review.googlesource.com/806154
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49869}
2017-12-05 14:25:41 +00:00
Georgia Kouveli
b28af35c50 [arm64] Pair some pushes and don't use jssp as scratch
Also remove some unused code.

Bug: v8:6644
Change-Id: Id0021b397f366d2f26e990750c4b8c33f0c1cd81
Reviewed-on: https://chromium-review.googlesource.com/806836
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
Cr-Commit-Position: refs/heads/master@{#49868}
2017-12-05 14:20:01 +00:00
Georg Neis
7ffc331d64 [compiler] Add regression test exhibiting int64 deopt literals.
R=jarin@chromium.org

Bug: chromium:791958
Change-Id: I483558270f4dfa845dff4ff88076be27bb15cc8e
Reviewed-on: https://chromium-review.googlesource.com/808804
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49867}
2017-12-05 14:04:41 +00:00
Martyn Capewell
b6c334d568 [arm64] Fix cctests that require unaligned sp
Fix cctests to maintain an aligned stack pointer, and delete a couple
that don't make sense if only an aligned stack pointer is allowed.

Bug: v8:6644
Change-Id: Ib825df0f93515ec408169018eb97ab587f1f14b6
Reviewed-on: https://chromium-review.googlesource.com/808386
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#49866}
2017-12-05 14:00:51 +00:00
Michal Majewski
453a9f1b95 [test] Create commands after sharding.
Bug: v8:6917
Change-Id: I3a79a7f273df566035cee6a0e22be2e02d67d946
Reviewed-on: https://chromium-review.googlesource.com/808505
Commit-Queue: Michał Majewski <majeski@google.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49865}
2017-12-05 13:48:42 +00:00
peterwmwong
e0e1a5e564 [js-perf-test] Add Array.p.find microbenchmarks
Bug: chromium:791045, v8:1956, v8:7165
Change-Id: I5c5cf74376f61f71591a8c67fbc9d1584a2b9128
Reviewed-on: https://chromium-review.googlesource.com/807748
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49864}
2017-12-05 13:43:51 +00:00
Michael Achenbach
19d040eaa7 [test] Add more documentation about test-specifications
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Bug: chromium:788104
Change-Id: I1918d4ba69b2c00151ac51ee9426d980e24ab871
Reviewed-on: https://chromium-review.googlesource.com/808389
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49863}
2017-12-05 13:41:33 +00:00
Sergiy Byelozyorov
2520c33642 Whitespace CL
TBR=machenbach@chromium.org

Bug: 
Change-Id: I89a2be9f7e74172d355e5c773cf47e71d4bea460
Reviewed-on: https://chromium-review.googlesource.com/806194
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49862}
2017-12-05 13:26:21 +00:00
Franziska Hinkelmann
c999da3292 [profiler] Log code-source-info for each function
We were returning too early. Don't double-log the script, but log all
source-code-infos within it.

Bug: v8:7018
Change-Id: Icd29905ee1ae3444e30760cae0b0a18b55440335
Reviewed-on: https://chromium-review.googlesource.com/808165
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49861}
2017-12-05 10:39:55 +00:00
Ross McIlroy
4048f5ffe5 [Flags] Enable background_compiler on --future.
Also remove preparser_scope_analysis from future implications since it
is already enabled by default.

BUG=v8:5203

Change-Id: I70eb392d6ec1ff904eae8b5ddb238774b75005f3
Reviewed-on: https://chromium-review.googlesource.com/806164
Reviewed-by: Michael Hablich <hablich@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49860}
2017-12-05 10:38:30 +00:00
Martyn Capewell
7dfd8c6c8f [arm64] Use Neon for float construct/extract
Use Neon for floating point number insertion and extraction in
TurboFan code generator.

Bug: 
Change-Id: Ic955ff0bc5ddaadfe560ea9cfdd82f6b40815be3
Reviewed-on: https://chromium-review.googlesource.com/806172
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#49859}
2017-12-05 10:37:25 +00:00
Sergiy Byelozyorov
2d347a1a99 [tools] Migrate v8_node_linux64_rel to LUCI
9 additional bots has been added to the LUCI pool, which should be sufficient to
handle the additional load from this builder.

R=machenbach@chromium.org

No-Try: true
Bug: chromium:748124
Change-Id: I1aba2be502298ce9e3d76adb25addfe7cfe2ff9f
Reviewed-on: https://chromium-review.googlesource.com/806163
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49858}
2017-12-05 10:36:05 +00:00
Marja Hölttä
85230f7b8a [ic] Prototype-only dictionaries, step 0.
- When a dictionary mode prototype changes, invalidate the validity cell.
- The dictionary mode prototypes don't need to be gathered into an array in InitPrototypeChecks.

Bug: v8:7159
Change-Id: I1c7bbaf4b20556f44df18be1463d38fa4fbabe05
Reviewed-on: https://chromium-review.googlesource.com/793732
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49857}
2017-12-05 10:20:25 +00:00
Benedikt Meurer
3ef6e45ee3 [turbofan] Properly type the OrderedHashTableHealIndex builtin result.
This unblocks the checks in the SimplifiedLowering that whenever we
store something as TaggedSigned, the input type should at least be
Type::SignedSmall.

Bug: chromium:791245
Change-Id: Ice6e55c2c6584c0ff60c1e033ba755c8863af32a
Reviewed-on: https://chromium-review.googlesource.com/808104
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49856}
2017-12-05 09:51:15 +00:00
Michael Lippautz
e5a1993bff [heap] Remove delayed chunks in Unmapper
The dependency between restoring iterability and the Scavenger is
explicit. Delayed chunks are thus not needed anymore.

Bug: chromium:791043
Change-Id: I9f2c95c1856f53299af2737f922a3cb4cc578aa5
Reviewed-on: https://chromium-review.googlesource.com/805816
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49855}
2017-12-05 09:45:55 +00:00
v8-autoroll
faad1c19d9 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/218a522..3337fb6

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

Change-Id: Ie243a01a3a1571f3dff1a07b5f31dddd20271fe2
Reviewed-on: https://chromium-review.googlesource.com/808066
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49854}
2017-12-05 09:11:43 +00:00
Michael Achenbach
897416af7f Revert "[turbofan] Make sure TruncatingUseInfoFromRepresentation respects Smi representation."
This reverts commit cc07ac73a4.

Reason for revert: Breaks benchmarks:
http://shortn/_POjH6zA7tp

Original change's description:
> [turbofan] Make sure TruncatingUseInfoFromRepresentation respects Smi representation.
> 
> Eventually, we want to fix this also for tagged pointers (tracking bug: https://crbug.com/v8/7162).
> 
> Bug: chromium:791245
> Change-Id: I93d6deff36cedcc9a4665fab0abe6fffdae9b61b
> Reviewed-on: https://chromium-review.googlesource.com/806457
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49850}

TBR=jarin@chromium.org,bmeurer@chromium.org

Change-Id: I0ff571b161ec40ba1f32ee048f8255c42414d8d2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:791245
Reviewed-on: https://chromium-review.googlesource.com/807985
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49853}
2017-12-05 08:27:35 +00:00
Michael Achenbach
b501bf936e Revert "[compiler] Remove dead code in CodeGenerator::BuildTranslation."
This reverts commit 8d9de7ffeb.

Reason for revert: Breaks roll:
https://chromium-review.googlesource.com/c/chromium/src/+/806714

  # Fatal error in ../../v8/src/compiler/code-generator.cc, line 1032
  # unreachable code

  #3 v8::internal::compiler::CodeGenerator::AddTranslationForOperand()
  #4 v8::internal::compiler::CodeGenerator::TranslateFrameStateDescriptorOperands()
  #5 v8::internal::compiler::CodeGenerator::BuildTranslation()
  #6 v8::internal::compiler::CodeGenerator::AssembleInstruction()
  #7 v8::internal::compiler::CodeGenerator::AssembleCode()
  #8 v8::internal::compiler::PipelineImpl::AssembleCode()

Original change's description:
> [compiler] Remove dead code in CodeGenerator::BuildTranslation.
> 
> R=​jarin@chromium.org
> 
> Bug: 
> Change-Id: Id219fb91c4c4f40677edea6f9c04763284e14373
> Reviewed-on: https://chromium-review.googlesource.com/800934
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Commit-Queue: Georg Neis <neis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49831}

TBR=jarin@chromium.org,neis@chromium.org

Change-Id: I6f5e13e70dc816a4e0c4a362bd3a30091c14c637
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/807944
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49852}
2017-12-05 07:28:25 +00:00
peterwmwong
99b5f699ab [builtins] Port Array.p.{find,findIndex} to CSA
- Removes JS implementation and InnerArrayFind/InnerArrayFindIndex
- Adds TFJ, with TFS for slow continuation path

Some quick benchmarks show ~2x improvement for unoptimized code
and up to 16% improvement against optimized code (diminishes with
larger arrays as iterating dominates).

https://github.com/peterwmwong/v8-perf/blob/master/array-find-findIndex/README.md

Bug: chromium:791045, v8:1956, v8:5049, v8:7165
Change-Id: Ie16252ed495bbd91fe548b16d5ef6764de791a50
Reviewed-on: https://chromium-review.googlesource.com/804704
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49851}
2017-12-05 07:23:13 +00:00
Jaroslav Sevcik
cc07ac73a4 [turbofan] Make sure TruncatingUseInfoFromRepresentation respects Smi representation.
Eventually, we want to fix this also for tagged pointers (tracking bug: https://crbug.com/v8/7162).

Bug: chromium:791245
Change-Id: I93d6deff36cedcc9a4665fab0abe6fffdae9b61b
Reviewed-on: https://chromium-review.googlesource.com/806457
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49850}
2017-12-05 06:00:57 +00:00
v8-autoroll
c865f3ed7d Update V8 DEPS.
Rolling v8/build: 19d97ed..3320fde

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c796cbc..218a522

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

Change-Id: Ifec197d4158ca8c05e32954656fff4da17864ff9
Reviewed-on: https://chromium-review.googlesource.com/807705
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49849}
2017-12-05 04:49:40 +00:00
Eric Holk
5fb4b176fa [wasm] Move wasm objects from Isolate to new WasmEngine object
This is a small refactoring that moves the WasmCodeManager and
CompilationManager from being a part of the Isolate directly to living in a new
WasmEngine object. This makes it easier to change Wasm components without
rebuilding so much of V8, and also enables future changes to Wasm without
affecting unrelated parts of V8.

Bug: v8:7109
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ic89bfc3974483aa909d12556d1386e18785a1d71
Reviewed-on: https://chromium-review.googlesource.com/804824
Commit-Queue: Eric Holk <eholk@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49848}
2017-12-05 01:32:21 +00:00
Michael Achenbach
cb9e7af4e5 Revert "[bigint] Fix early-return in asIntN"
This reverts commit e110b59cc7.

Reason for revert: Breaks arm debug on chromebook hardware:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5335

Original change's description:
> [bigint] Fix early-return in asIntN
> 
> For "top digit" (of the result) comparison to be applicable, we must
> also check that there are no further digits in the source.
> 
> Bug: v8:7150
> Change-Id: I6ad317f6f600e11fef59b9907da1055e5586a3a8
> Reviewed-on: https://chromium-review.googlesource.com/804639
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49846}

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

Change-Id: I5dae82696d3ecb9602f73a2ff4760ed7bbcef1c5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7150
Reviewed-on: https://chromium-review.googlesource.com/806838
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49847}
2017-12-04 22:07:17 +00:00
Jakob Kummerow
e110b59cc7 [bigint] Fix early-return in asIntN
For "top digit" (of the result) comparison to be applicable, we must
also check that there are no further digits in the source.

Bug: v8:7150
Change-Id: I6ad317f6f600e11fef59b9907da1055e5586a3a8
Reviewed-on: https://chromium-review.googlesource.com/804639
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49846}
2017-12-04 20:31:19 +00:00
Junliang Yan
aaa7c4c9fa PPC/s390: remove dead code and fix compilation
R=joransiu@ca.ibm.com

Bug: 
Change-Id: I50f5ad99dc8bdd80c3fd9cce27db7bb728c24497
Reviewed-on: https://chromium-review.googlesource.com/806934
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#49845}
2017-12-04 19:47:19 +00:00
Jakob Kummerow
faf8aae9f8 [bigint] Flatten strings in StringToBigInt
Turns out that all callers might need this, so instead of burdening them
with checking, make the helper more robust.

Bug: v8:7151
Change-Id: I54270e2b1f5c03b503e2cf202bcbc09fe91aef14
Reviewed-on: https://chromium-review.googlesource.com/804956
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49844}
2017-12-04 19:30:09 +00:00