Commit Graph

49694 Commits

Author SHA1 Message Date
Michael Starzinger
932246f1b6 Reland "[wasm] Publish new code from the background threads."
This is a reland of f991465b42

Original change's description:
> [wasm] Publish new code from the background threads.
> 
> R=clemensh@chromium.org
> BUG=v8:7921
> 
> Change-Id: Ib86cb5f742907b6e54365827facfc765867ca22e
> Reviewed-on: https://chromium-review.googlesource.com/1156384
> Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54985}

Bug: v8:7921
Change-Id: Ic99f59410b6f26593f4bd4b47209e9cce56481fc
Reviewed-on: https://chromium-review.googlesource.com/1179861
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55202}
2018-08-20 08:30:15 +00:00
v8-ci-autoroll-builder
d3e1a9b305 Update V8 DEPS.
Rolling v8/build: 78faf69..cbc08db

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/3d85a23..f62079a

Rolling v8/third_party/depot_tools: ed0d273..dd765da

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

Change-Id: Ibb59904423a115f82a07b4e1b1eda6badf2b511b
Reviewed-on: https://chromium-review.googlesource.com/1180602
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#55201}
2018-08-18 10:41:43 +00:00
Frank Tang
2dc505a418 [Intl] remove unused js
Bug: v8:8066
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I9d86577540cf227e038354d9661c60fcdc644b3f
Reviewed-on: https://chromium-review.googlesource.com/1179467
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55200}
2018-08-18 01:21:06 +00:00
Frank Tang
cabcfb3a5d [Intl] Move ToDateTimeOptions/ToLocaleDateTime to C++
Bug: v8:7961
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ic414a51a64040f253da1d7ccf03c558ea70ad2bf
Reviewed-on: https://chromium-review.googlesource.com/1155271
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55199}
2018-08-17 21:24:15 +00:00
Alexei Filippov
8c6415471b [profiler] Remove deprecated TracingCpuProfiler from API.
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I99b98fc131e90788902662e6cb837d93168c93fc
Reviewed-on: https://chromium-review.googlesource.com/1169921
Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55198}
2018-08-17 19:46:56 +00:00
Sergiy Byelozyorov
e82f793e68 [tools] Fix platform specification for scipi
TBR=machenbach@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: Icdd2489b64a4b29beb6d561eee8cb2f9c22a96ba
Reviewed-on: https://chromium-review.googlesource.com/1180201
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55197}
2018-08-17 18:49:49 +00:00
Ben L. Titzer
b11cbbc6d5 [typedarray] Move JSArrayBuffer functionality to js-array-buffer.cc
This is a cleanup CL that is preparation for making the byte length
and offsets of typed arrays into unboxed size_t fields.

R=mstarzinger@chromium.org
BUG=v8:7881

Change-Id: Iee8bb2142124c88c71cec7343149ae3f08b40c6c
Reviewed-on: https://chromium-review.googlesource.com/1179829
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55196}
2018-08-17 14:29:37 +00:00
Michael Starzinger
2b89727539 [wasm] Preserve interpreter entry even on tier-up.
This makes sure that a tier-up from Ignition to TurboFan (or any other
code publishing) preserves redirections to the Interpreter. Currently an
interpreted function never switches back to compiled.

R=titzer@chromium.org
TEST=mjsunit/wasm/interpreter-mixed
BUG=v8:7921,v8:8018

Change-Id: Ifca479953509708c998c11cc00b481c232678e00
Reviewed-on: https://chromium-review.googlesource.com/1179661
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55195}
2018-08-17 13:21:59 +00:00
Sergiy Byelozyorov
606fcce2ac Update V8 DEPS.
Rolling v8/build: 7679962..78faf69

Rolling v8/third_party/android_ndk: https://chromium.googlesource.com/android_ndk/+log/5cd8631..4e2cea4

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f5981fb..3d85a23

Rolling v8/third_party/depot_tools: 421bc3f..ed0d273

Rolling v8/third_party/fuchsia-sdk: 74c827a..454f3b2

Rolling v8/third_party/proguard: d901b76..67ad7bd

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

Change-Id: Ifa11c8924c7571c141ec265d8ca1b8c017c59c8c
Reviewed-on: https://chromium-review.googlesource.com/1179374
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55194}
2018-08-17 13:14:39 +00:00
Ben L. Titzer
5c3092718e Reland "[asmjs] Properly validate asm.js heap sizes"
This is a reland of 5d69010e26

Original change's description:
> [asmjs] Properly validate asm.js heap sizes
> 
> Enforce both engine limitations and spec (http://asmjs.org/spec/latest/)
> limitations on the size of asm.js heaps.
> 
> R=clemensh@chromium.org
> CC=​mstarzinger@chromium.org
> 
> Bug: chromium:873600
> Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd
> Reviewed-on: https://chromium-review.googlesource.com/1174411
> Commit-Queue: Ben Titzer <titzer@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55163}

Bug: chromium:873600
Change-Id: Id24070bda3aafb9e1a32af0732a1b18f633ef932
Reviewed-on: https://chromium-review.googlesource.com/1179681
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55193}
2018-08-17 12:49:21 +00:00
Georg Neis
1868fac77a [turbofan] Serialize more native context fields.
R=jarin@chromium.org

Bug: v8:7790
Change-Id: I69dd63e0f2e42591c53fa49899bd44d05b03b852
Reviewed-on: https://chromium-review.googlesource.com/1179154
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55192}
2018-08-17 12:17:11 +00:00
Georg Neis
a880fed521 Fix some naming inconsistencies.
Change-Id: I31cf082abae120dc4f5aa7eadce6513e933d942b
Reviewed-on: https://chromium-review.googlesource.com/1178042
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55191}
2018-08-17 12:09:31 +00:00
Benedikt Meurer
5232b938d7 [turbofan] Optimize index checking for DataView accesses.
Use CheckBounds and reduce the number of checks required to sanitize the
indices for DataView accesses in optimized code. Also constant-fold the
[[ByteLength]] if the DataView is a known compile-time constant (similar
to what we do for TypedArrays already). This further improves performance
of DataViews by 2-7% depending on the exact test case.

With this change DataView and TypedArray accesses themselves are mostly
on par performance wise.

Bug: chromium:225811
Change-Id: I6838339108b8a4dcf9b13ddecab40f1c3632967c
Reviewed-on: https://chromium-review.googlesource.com/1179741
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55190}
2018-08-17 12:01:44 +00:00
jgruber
2f3e1a09e9 Make RelocInfo predicates constexpr
Bug: v8:6666
Change-Id: I9a9c6779138f7ee601a5061401ef0c777ba2b7ca
Reviewed-on: https://chromium-review.googlesource.com/1179678
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55189}
2018-08-17 11:34:09 +00:00
Sigurd Schneider
5e59e5c0f8 [assembler] Move reloc info to its own file
This reduced the number of targets depending on assembler.h
from ~900 to ~350.

Bug: v8:8054
Change-Id: I74ae2ce7a4b27791d0ee25542ee0b2175bedf5f7
Reviewed-on: https://chromium-review.googlesource.com/1174534
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55188}
2018-08-17 09:54:28 +00:00
jgruber
4e686686ec [builtins] More granular assembler options
Now that we pass in assembler options during builtin setup, we can be
more precise in assembler configuration.

Isolate-independent generation is only requested for isolate-independent
builtins. And pc-relative jumps additionally need a valid code range.

Bug: v8:6666
Change-Id: I64dfb414549a2f1e87610244c48d9405e63a1b12
Reviewed-on: https://chromium-review.googlesource.com/1177707
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55187}
2018-08-17 09:50:18 +00:00
Marja Hölttä
a1e2dcafc5 [in-place weak refs] Force compacted WeakFixedArrays into old space.
This way the snapshot will contain only old space objects.

BUG=v8:7308

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ib19642795b1e8c7cbeda5162be86909c1a777767
Reviewed-on: https://chromium-review.googlesource.com/1177384
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55186}
2018-08-17 09:29:44 +00:00
Ulan Degenbaev
9554b5fce3 [heap, iwyu] Refactor write-barrier for code.
This moves write-barrier for writes into code to heap-write-barrier.h
and adds four new functions:
- WriteBarrierForCode(host, rinfo, object) - combined generational
  and marking write barrier.
- WriteBarrierForCode(host) - combined write barrier that rescans
  all pointers in the host (former RecordWritesIntoCode).
- GenerationalWriteBarrierForCode.
- MarkingWriteBarrierForCode.

Bug: v8:8054,v8:7490
Change-Id: Ib1e07cfa1d5998fca2fa44e2ad08c52305f1373f
Reviewed-on: https://chromium-review.googlesource.com/1174436
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55185}
2018-08-17 09:21:23 +00:00
Dan Elphick
f5766155b7 [serializer] Break out instance types by space
When printing the number and size of the instance types in each
snapshot, break out each line into the number for each AllocationSpace.

(This removes the specific RO_SPACE path that just broke out its stats).

Change-Id: I9d5bcecc4f0e8e1ec5c83409f54164f9bf83c5be
Reviewed-on: https://chromium-review.googlesource.com/1175826
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55184}
2018-08-17 09:18:09 +00:00
Ben L. Titzer
515d3400d1 [objects] Split js-array-buffer.h from js-array.h
JSArrays and JSArrayBuffers are very different animals. As such,
split the js-array.h header into two parts.

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

Bug: v8:5402
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I82f987ecea3e2e1ceaf8f8962a2b88165558c57e
Reviewed-on: https://chromium-review.googlesource.com/1177760
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55183}
2018-08-17 08:58:08 +00:00
Hai Dang
1ad4f28407 [turbofan] Remove unnecessary check for prototype map in reducers for Array.
Change-Id: Ib53ebb8372bd952f038edc06166e7d1c8b05abc2
Reviewed-on: https://chromium-review.googlesource.com/1174549
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55182}
2018-08-17 08:37:48 +00:00
Jaroslav Sevcik
2633a316d3 [turbofan] Add AllocationSite serialization to the heap broker.
Bug: v8:7790
Change-Id: I268e8673ca5c8f6737cae8190d78caf325e864bd
Reviewed-on: https://chromium-review.googlesource.com/1177604
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55181}
2018-08-17 08:12:28 +00:00
Andrey Lushnikov
494531984e Roll inspector-protocol to c22d4bd88fb7a39bc41c3b1adcdd733cc9b5e8ea
R=dgozman

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I5fd64b95772ed061c0a432431a6e5273e5d44790
Reviewed-on: https://chromium-review.googlesource.com/1149321
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55180}
2018-08-17 06:14:20 +00:00
Kanghua Yu
81837c341a [csa] Apply constant folding to BranchIfNumberRelationalComparison
This CL refactors the CodeAssembler::Branch(condition, true_body, false_body)
which was introduced by https://crrev.com/c/1175488, and this reduces snapshot by 864 bytes.

Change-Id: Ifde7d6f39bd7f265e71fef5bdcc6e69d8ab5be85
Reviewed-on: https://chromium-review.googlesource.com/1175488
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Kanghua Yu <kanghua.yu@intel.com>
Cr-Commit-Position: refs/heads/master@{#55179}
2018-08-17 01:31:29 +00:00
Brian Stell
43fff26fd4 Implement ECMA 402 10.2.2 Intl.*.supportedLocalesOf
Bug: v8:7955, v8:5751
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I2dbba859472059e684ec2c631b7e96d1289f39f0
Reviewed-on: https://chromium-review.googlesource.com/1173165
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Brian Stell <bstell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55178}
2018-08-16 22:18:29 +00:00
Frank Tang
a1c69e8d4d [Intl] Split FormatDate into two functions
Previously, FormatDate implemented two functions:
(a) "DateTime Format Functions" as in ecma402/#sec-datetime-format-functions
(b) "FormatDateTime( dateTimeFormat, x )" as in ecma402/#sec-formatdatetime

This patch split FormatDate into two separate functions exactly as they are specified.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Iae47f4d992f1767968e5a6df7d1a45a95bc33192
Reviewed-on: https://chromium-review.googlesource.com/1178886
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55177}
2018-08-16 21:48:36 +00:00
Georg Neis
cfbd826b97 [turbofan] Refactor storage of JSFunctionData::initial_map.
Bug: v8:7790
Change-Id: I1834893f05229834289bc368b00dc314e7de1b65
Reviewed-on: https://chromium-review.googlesource.com/1177746
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55176}
2018-08-16 19:41:52 +00:00
Deepti Gandluri
8ede743041 Cleanup ARM simulator Read/Write helpers
Change-Id: I24893d2db441282df8ac3267b0daf8f163e0edb5
Reviewed-on: https://chromium-review.googlesource.com/1177198
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55175}
2018-08-16 18:27:26 +00:00
Deepti Gandluri
a1f7da8fba [x64] Add assembly/disassembly for left-over SIMD ops
Change-Id: I55d15fd15cc714732139e4bf12bd75f21f922048
Reviewed-on: https://chromium-review.googlesource.com/1174013
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55174}
2018-08-16 18:20:16 +00:00
Leszek Swirski
c07c93f327 Revert "[asmjs] Properly validate asm.js heap sizes"
This reverts commit 5d69010e26.

Reason for revert: New test fails on ARM GC stress bot - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm%20GC%20Stress/8054

Original change's description:
> [asmjs] Properly validate asm.js heap sizes
> 
> Enforce both engine limitations and spec (http://asmjs.org/spec/latest/)
> limitations on the size of asm.js heaps.
> 
> R=​clemensh@chromium.org
> CC=​​mstarzinger@chromium.org
> 
> Bug: chromium:873600
> Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd
> Reviewed-on: https://chromium-review.googlesource.com/1174411
> Commit-Queue: Ben Titzer <titzer@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55163}

TBR=mstarzinger@chromium.org,titzer@chromium.org,clemensh@chromium.org

Change-Id: I95ca5306a495bfc0f78d7a29f5d6269fc9c0bdfa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:873600
Reviewed-on: https://chromium-review.googlesource.com/1178141
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55173}
2018-08-16 16:32:43 +00:00
Toon Verwaest
49f7687575 [scanner] Advance rather than setting c0_ to ' ' after skipping multiline comments
Change-Id: I62ddddf64d4de79765469e883295e246a18d7f84
Reviewed-on: https://chromium-review.googlesource.com/1177749
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55172}
2018-08-16 16:25:19 +00:00
Georg Neis
53c3c6a9e5 [turbofan] Precompute ElementsKind generalizations for initial maps.
Bug: v8:7790
Change-Id: I18512b508127c48ab0a1dc5a6a221d0f491bb5fe
Reviewed-on: https://chromium-review.googlesource.com/1175917
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55171}
2018-08-16 15:44:45 +00:00
Toon Verwaest
12857348b6 [scanner] Simplify HTML comment scanning
Change-Id: I3c04e3cedfa220d58eb1307977b99869485c7f4d
Reviewed-on: https://chromium-review.googlesource.com/1177744
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55170}
2018-08-16 15:38:02 +00:00
Marja Hölttä
bda4096b6a [in-place weak refs] Merge MaybeObjectBrief and Brief
BUG=v8:7308

Change-Id: I36dda6606aecb9e8e2e9604c49e62ec70e3aee29
Reviewed-on: https://chromium-review.googlesource.com/1174447
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55169}
2018-08-16 15:06:58 +00:00
Georg Neis
bcb8d5ad61 [turbofan] Make StringRef::ToNumber optional.
Don't compute the ToNumber conversion of long strings as it is
expensive.

Bug: v8:7790
Change-Id: Ief104f9229f7f633e31d26c98ed24b08a161525b
Reviewed-on: https://chromium-review.googlesource.com/1177719
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55168}
2018-08-16 15:01:46 +00:00
Jakob Kummerow
5803f27357 Revert "Reland "[cleanup] Reland: Remove deprecated functions""
This reverts commit 957854dd60.

Reason for revert: breaks fuzzing builds => blocks rolling, crbug.com/874440

Original change's description:
> Reland "[cleanup] Reland: Remove deprecated functions"
> 
> This reverts commit 717b93852b.
> 
> Reason for revert: Cast build is now fixed
> 
> Original change's description:
> > Revert "[cleanup] Reland: Remove deprecated functions"
> > 
> > This reverts commit c8376b0069.
> > 
> > Reason for revert: Still borked: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/cast_shell_linux/114796
> > 
> > Original change's description:
> > > [cleanup] Reland: Remove deprecated functions
> > > 
> > > This is reland of https://chromium-review.googlesource.com/c/v8/v8/+/1154915
> > > with no changes since the break in chromium for ChromeOS is now fixed.
> > > 
> > > Removes all V8_DEPRECATED functions that weren't recently marked as well
> > > any V8_DEPRECATE_SOON function that relied on using using the address of
> > > an object to get hold of the Isolate.
> > > 
> > > Bug: v8:7786
> > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
> > > Change-Id: Ib62d38b9201fd0dab719948cb5ae5a0a164f7013
> > > Reviewed-on: https://chromium-review.googlesource.com/1172350
> > > Reviewed-by: Yang Guo <yangguo@chromium.org>
> > > Commit-Queue: Dan Elphick <delphick@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#55119}
> > 
> > TBR=yangguo@chromium.org,delphick@chromium.org
> > 
> > Change-Id: Id1308a694092acfc90a3e7183d66c002feb63999
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: v8:7786
> > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
> > Reviewed-on: https://chromium-review.googlesource.com/1174751
> > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#55127}
> 
> TBR=yangguo@chromium.org,leszeks@chromium.org,delphick@chromium.org
> 
> Change-Id: Id65dae1abdad6f854afec9eb59ed2bddd9246f79
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:7786
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
> Reviewed-on: https://chromium-review.googlesource.com/1175721
> Reviewed-by: Dan Elphick <delphick@chromium.org>
> Commit-Queue: Dan Elphick <delphick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55136}

TBR=yangguo@chromium.org,leszeks@chromium.org,delphick@chromium.org

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

Bug: v8:7786
Change-Id: I5dc792a3a1c986b8609487ca6ad1e485a8940521
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.chromium.try:linux-chromeos-dbg;luci.chromium.try:linux-chromeos-rel
Reviewed-on: https://chromium-review.googlesource.com/1177661
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55167}
2018-08-16 14:37:17 +00:00
Ivica Bogosavljevic
a4477e73f8 MIPS64: Fix [callbacks] Properly support RCS for ApiAccessors and Callbacks.
Fix 0027c83440

FLAG_runtime_stats was declared as Int but it was accessed as
pointer. On 64-bit architectures pointer access needs to be
eight byte aligned. This created unaligned memory access
on 64-bit architectures for those architectures that do not
support unaligned memory access.

TEST=mjsunit/wasm/table,cctest/test-accessors/AccessorIC

Change-Id: I569b69583de98b4c5fb7266f23f927bbd006966d
Reviewed-on: https://chromium-review.googlesource.com/1177601
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55166}
2018-08-16 14:20:07 +00:00
Ben L. Titzer
6772b40036 [wasm] Enable some disabled WASM tests
R=ahaas@chromium.org

Bug: chromium:751825, chromium:773631
Change-Id: I87f6e9859b6adfe46adde7bf08fd16978035aa1f
Reviewed-on: https://chromium-review.googlesource.com/1177702
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55165}
2018-08-16 14:19:02 +00:00
Georg Neis
b297100264 [turbofan] Do not force initial map creation.
Forcing it seems unnecessary and hinders concurrent compilation.

Also turn a related condition into a CHECK.

Bug: v8:7790
Change-Id: Ie7d7e47e6bc2743d742cfe07e65436c1b8b994f3
Reviewed-on: https://chromium-review.googlesource.com/1177705
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55164}
2018-08-16 14:17:01 +00:00
Ben L. Titzer
5d69010e26 [asmjs] Properly validate asm.js heap sizes
Enforce both engine limitations and spec (http://asmjs.org/spec/latest/)
limitations on the size of asm.js heaps.

R=clemensh@chromium.org
CC=​mstarzinger@chromium.org

Bug: chromium:873600
Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd
Reviewed-on: https://chromium-review.googlesource.com/1174411
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55163}
2018-08-16 14:02:02 +00:00
John Barboza
53a3eef1cc do not apply noexcept to default members on ppc
Bug: v8:8062
Change-Id: I5a5c39c0b5cffdcb15444caa670919be6fc3d007
Reviewed-on: https://chromium-review.googlesource.com/1171199
Commit-Queue: John Barboza <jbarboza@ca.ibm.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55162}
2018-08-16 13:09:42 +00:00
Andreas Haas
2289da6d12 [wasm] Set context in OnFinishedStream
{AsyncCompileJob::FinishCompile} assumes that a context is set on the
isolate when it is called. This was not the case when it was called at
the end of streaming compilation.

R=mstarzinger@chromium.org

Bug: chromium:874525
Change-Id: Ia31cd9eb40598918262ff14606796027a6c80bc0
Reviewed-on: https://chromium-review.googlesource.com/1177392
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55161}
2018-08-16 12:53:06 +00:00
Bret Sepulveda
77140c19dd Delete dead/debug code in (tick|ic|map)processor.js.
Change-Id: I76264a2f912eaac0ca913004fe9ec1f57d03ecb9
Reviewed-on: https://chromium-review.googlesource.com/1177390
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55160}
2018-08-16 12:31:02 +00:00
Mathias Bynens
620410a1f0 Implement global proposal
The proposal is currently at Stage 3 of the TC39 process.
Repository: https://github.com/tc39/proposal-global

Bug: v8:5537
Change-Id: I36c39fdab049497f50685c6672655b67ec4d8ce9
Reviewed-on: https://chromium-review.googlesource.com/1174113
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55159}
2018-08-16 11:07:21 +00:00
Georg Neis
8d7fb5143c Turn base::optional's DCHECKs into CHECKs.
We really want to catch such errors. (std::optional throws an
exception in some of these cases.)

Change-Id: I7f8c3aff38aed1b3cbe52bcfb92062268fd3b201
Reviewed-on: https://chromium-review.googlesource.com/1177387
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55158}
2018-08-16 10:55:00 +00:00
Toon Verwaest
4aa3ad271b [scanner] Replace PushBack2 with Peek() after PushBack
Change-Id: Ic70a83335c60ba2f1f656398fc6b19db7af99348
Reviewed-on: https://chromium-review.googlesource.com/1175915
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55157}
2018-08-16 10:29:56 +00:00
Peter Marshall
84894ce6d2 Reland "[cpu-profiler] Turn on detailed line info for optimized code"
This is a reland of 898f880aa7

Original change's description:
> [cpu-profiler] Turn on detailed line info for optimized code
> 
> Cautiously turn on this flag by default to check the impact on
> performance bots. Could show minor regressions in old space and/or
> code_and_metadata memory buckets.
> 
> Bug: v8:7983
> Change-Id: Ic4369cdb0231f4f88eada699da948e8bb48a25fd
> Reviewed-on: https://chromium-review.googlesource.com/1162234
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54908}

Bug: v8:7983
Change-Id: Iff53bc19c92f26f386948bd4a58e8dcf0493cf0d
Reviewed-on: https://chromium-review.googlesource.com/1177481
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55156}
2018-08-16 10:28:41 +00:00
Sergiy Byelozyorov
0c85d810b4 [tools] Add scipy into callstats.py deps
TBR=machenbach@chromium.org

No-Try: true
Bug: chromium:616879
Change-Id: I283e7ae6b867b03f11aed2facc275fe4767ab26c
Reviewed-on: https://chromium-review.googlesource.com/1177388
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55155}
2018-08-16 10:09:55 +00:00
Hai Dang
bf0913b2a7 [turbofan] Add JSCallReducer for Array#slice in case of cloning.
Direct call to CloneFastJSArray is used to improve performance in that
case. Tests are also added.

Bug: v8:7980
Change-Id: Ifca34f3e182b776cd9862da8bf529fc13f6be9ed
Reviewed-on: https://chromium-review.googlesource.com/1172782
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Hai Dang <dhai@google.com>
Cr-Commit-Position: refs/heads/master@{#55154}
2018-08-16 10:02:43 +00:00
Michael Starzinger
d732d35ade [wasm] Stage --wasm-shared-code behind the --future flag.
R=titzer@chromium.org
BUG=v8:7424

Change-Id: Ic43f81b51c651fa826ec4d13a7eb508a27489f97
Reviewed-on: https://chromium-review.googlesource.com/1160305
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55153}
2018-08-16 10:01:23 +00:00