Commit Graph

54941 Commits

Author SHA1 Message Date
v8-ci-autoroll-builder
aa420efed9 Update V8 DEPS.
Rolling v8/build: 2678ddc..77c810a

Rolling v8/buildtools: 4457947..62f9eb0

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/2afe880..f8e2315

Rolling v8/third_party/depot_tools: 40c1942..1c2fa0f

Rolling v8/tools/clang: 8a36736..3dd606a

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

Change-Id: If25a10068d40afd68abab42534b8fbafc0834848
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525097
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@{#60249}
2019-03-15 03:38:39 +00:00
peterwmwong
4b9b23521e [builtins] Port String.prototype HTML functions to Torque
Consolidates all the work into a single TFS builtin (CreateHTML)
called by all these functions. Reduces the builtin size by
about half.

Change-Id: I92b2c7889f72db4c8c79d7ef0ce0e61036ab619e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522727
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60248}
2019-03-14 22:12:18 +00:00
Matt Gardner
d68cdcae8f [torque] Convert name and string types layouts to torque
Bug: v8:8952
Change-Id: I099de2052941684d4ca714062a52c82ef0bb3850
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516473
Commit-Queue: Matt Gardner <magardn@microsoft.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60247}
2019-03-14 18:23:09 +00:00
Caitlin Potter
6487ad7a33 [esnext] allow hashbang in eval() and unskip hashbang test262 tests
Fix original imlpementation to support occurrence in eval(), and unskip
tests.

BUG=v8:8523
r=gsathya@chromium.org, mathias@chromium.org, littledan@chromium.org

Change-Id: I80a3e8623357947c564a6cdf865eeff435b8e640
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1510792
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Cr-Commit-Position: refs/heads/master@{#60246}
2019-03-14 18:16:49 +00:00
Leszek Swirski
b240733fd5 [gdb] Add helper for creating an object from a pointer
Since the new Objects were introduced, we can no longer cast integers to
and Object pointer and call methods on them in gdb (due to how gdb's
expression evaluator deals with temporaries). So, we add a new helper
method to our gdbinit, "$job", which takes an address and returns an
Object that is now exists in real (stack) memory.

Bug: v8:8994
Change-Id: I760a007e7d2303e3a4b1fecb87e094fb9974e91e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523329
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60245}
2019-03-14 17:33:19 +00:00
Sigurd Schneider
d77a2a6c1d [turbofan] Refactor how record write mode is determined
Change-Id: Ib9f423439f418be5ef15e2a65b9118f8f234cb5b
Bug: v8:8834
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524201
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60244}
2019-03-14 16:36:37 +00:00
Ulan Degenbaev
2f5e831090 Use the std version of copysign math function
This should have no effect unless the embedder uses an old version
of the standard library with missing overloads of <math.h> functions,
which causes such functions to perform implicit conversion to double.
In such cases, the CL removes the implicit conversion.

Change-Id: Ib90a461c81b1f354f7acdf32df88257bff20aca8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523549
Auto-Submit: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60243}
2019-03-14 15:17:54 +00:00
Clemens Hammacher
eb1d2d7098 [wasm] Make error messages deterministic
Compilation only stores whether an error has been found, but not the
exact error or it's location. This is generated by running a validation
pass once all wire bytes have been received.
This unifies error messages by removing one more location where we
generate compilation error messages, and makes it deterministic because
a) we always report the error in the first failing function, and
b) if names are present, the error message will always contain the
   function name.

R=titzer@chromium.org

Bug: chromium:926311, v8:8814
Change-Id: I79551b8bb73dcee503484de343a3ada60a6add4f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521112
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60242}
2019-03-14 15:05:18 +00:00
Maciej Goszczycki
e3aad1c84b [heap] Add read-only heap sharing behind a flag
Piggybacking of splitting heap setup, this change adds a shared
read-only heap and a flag to enable it.

Also makes CallOnce use std::function instead of a raw function
pointer so the CL can use lambdas with CallOnce.

Bug: v8:7464
Change-Id: I9a97fb1baa6badca39a7381de3fd9e01f5969340
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518180
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Cr-Commit-Position: refs/heads/master@{#60241}
2019-03-14 14:57:08 +00:00
Georg Neis
04bb707e52 [turbofan] Preprocess feedback for global accesses (partially)
Main changes:
- Rename ProcessedFeedback to ElementAccessFeedback and introduce a base class
  with the old name ProcessedFeedback.
- Introduce another kind of ProcessedFeedback, namely GlobalAccessFeedback for
  the LoadGlobal/StoreGlobal IC. It's either a PropertyCell or a script context
  slot.
- Produce such processed feedback in the serializer, when visiting LdaGlobal and
  similar bytecodes.
- Consume it, and disallow heap access, in JSNativeContextSpecialization's
  ReduceJSLoadGlobal and ReduceJSStoreGlobal (for --concurrent-inlining).

Minor changes:
- Introduce a FeedbackSource class (pair of FeedbackVector and FeedbackSlot)
  that is used as the key of the processed feedback hash table. We already have
  two similar classes, FeedbackNexus and VectorSlotPair, but both are unsuitable
  for technical reasons (e.g. FeedbackNexus construction accesses the heap).
  Eventually we should remove VectorSlotPair.
- Processed feedback is now returned as a pointer, which is nullptr if the
  original feedback wasn't interesting (e.g. megamorphic).

The title says "partially" because the CL doesn't yet take into account named
accesses where the receiver happens to be the global proxy.

Bug: v8:7790
Change-Id: I4404d98636b91a8f2d5667115944bae4773a4770
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518184
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60240}
2019-03-14 14:42:48 +00:00
Andreas Haas
e8af602dd2 [wasm] Add test for element section with non-zero table indices
R=mstarzinger@chromium.org

Bug: v8:7581
Change-Id: Id8b9c3596eb6caf5ee7048a87a676a85dba0c5dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520711
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60239}
2019-03-14 14:28:06 +00:00
Clemens Hammacher
0bf27ef53e [wasm][decoder] Remove unneeded DCHECK
This simplifies some code by removing unneeded checks and early
returns. I just accidentally hit got one more instance of this, and I
think we should get rid of the requirement of only decoding LEBs that
start before the end pointer of the decoder.

R=titzer@chromium.org

Change-Id: I608c5c1c292088ac14fac20b7cb030f39c165bd7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523550
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60238}
2019-03-14 14:09:45 +00:00
Michael Starzinger
e5d10c491e [gcmole] Provide packaging script for gcmole deployment.
This is a minimalistic script usable for creating packages of gcmole
together with the corresponding Clang. Such packages are used on V8's
infrastructure.

R=machenbach@chromium.org
BUG=v8:8813

Change-Id: Iee3594a3acdc7a4e5b5d5628e5557725d27d9ced
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523068
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60237}
2019-03-14 13:50:30 +00:00
Santiago Aboy Solanes
2ae99adfb6 Revert "[ptr-compr] Correct size for tagged values in GetByteWidth"
This reverts commit 57bc36aa8f.

Reason for revert: Frame may not be allowed accesses to half size location. Reverting as a precautionary measure.

Original change's description:
> [ptr-compr] Correct size for tagged values in GetByteWidth
> 
> Bug: v8:8477
> Change-Id: Id565bb8a4d420b715e3e89325786de699e30b22c
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1517883
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60197}

TBR=mvstanton@chromium.org,solanes@chromium.org

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

Bug: v8:8477
Change-Id: Id0482074972194d8e8c531e0ea06da762e0262b7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523347
Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60236}
2019-03-14 11:18:16 +00:00
Leszek Swirski
6861278461 [build] Suppress UBSan alignment checks in pointer compression
It is a design decision of pointer compression to allow unaligned pointers,
so disable this check in UBSan.

Bug: v8:7703
Change-Id: I3fab34e77ad755cdef3cd385a3615e3d0e350c16
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523346
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60235}
2019-03-14 10:48:17 +00:00
Maya Lekova
ba6f813c2d [turbofan] Remove unnecessary call to Compiler::Compile from JSInliner
Introduced a CHECK instead and details about the invariant it relies on.

R=neis@chromium.org, rmcilroy@chromium.org

Change-Id: I568fc6d737c6bf70bd7aabf47df22651e3fcf8fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1517882
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60234}
2019-03-14 10:31:26 +00:00
Clemens Hammacher
7271e97f3e [platform] Switch to std::atomic
We want to get rid of the atomicops library, hence switch all uses to
std::atomic.

R=mlippautz@chromium.org

Bug: v8:8926, v8:8834

Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Change-Id: I9b7cca83703775b1ddee4f16f51b7ad6535bb67c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520717
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60233}
2019-03-14 09:55:26 +00:00
Leszek Swirski
d82c9afb8c [api] Add unique_ptr constructor for StreamedSource
Since StreamedSource takes ownership of the ExternalSourceStream
passed into it, it should take it by unique_ptr rather than raw
pointer to signal this transfer of ownership. The old constructor
is now deprecated.

Change-Id: I24681926c2f3141f7dd3664f72019a4c6deabfd7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520713
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60232}
2019-03-14 09:42:26 +00:00
Maya Lekova
77f9b28767 Revert "[ptr-compr][x64] Temporarily enable pointer compression on x64"
This reverts commit 589d1a6b75.

Reason for revert: Breaking UBSan - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/5219

Original change's description:
> [ptr-compr][x64] Temporarily enable pointer compression on x64
> 
> ... and make sure that the x64 ptr-compr bots proceed testing V8 without
> pointer compression in order to keep testing the full pointer mode.
> 
> Bug: v8:7703
> Change-Id: Iee725deda813425a6f0722948b54976154f50909
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139
> Reviewed-by: Michael Hablich <hablich@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60230}

TBR=machenbach@chromium.org,hablich@chromium.org,ishell@chromium.org,verwaest@chromium.org

Change-Id: I5a9f04acba1ef23ae944d97a029ea018808c7fcb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7703
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522991
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60231}
2019-03-14 09:28:48 +00:00
Igor Sheludko
589d1a6b75 [ptr-compr][x64] Temporarily enable pointer compression on x64
... and make sure that the x64 ptr-compr bots proceed testing V8 without
pointer compression in order to keep testing the full pointer mode.

Bug: v8:7703
Change-Id: Iee725deda813425a6f0722948b54976154f50909
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139
Reviewed-by: Michael Hablich <hablich@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60230}
2019-03-14 09:16:26 +00:00
Maya Lekova
71206891a4 Revert "[inspector] Allow limiting the total size of collected scripts."
This reverts commit 5a61630d1d.

Reason for revert: Breaking gc stress bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/21477

Original change's description:
> [inspector] Allow limiting the total size of collected scripts.
> 
> Introduces the setMaxCollectedScriptsSize Debugger protocol method.
> If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects)
> scripts up to the specified total size of their sources.
> 
> BUG=v8:8988
> 
> Change-Id: I94d52866494102add91ca2d569a2044b08c9c593
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556
> Commit-Queue: Alexei Filippov <alph@chromium.org>
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60227}

TBR=dgozman@chromium.org,alph@chromium.org,kozyatinskiy@chromium.org

Change-Id: I26de645e425f0f7d5aa8212eeefda76dad695b78
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8988
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522988
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60229}
2019-03-14 08:23:17 +00:00
Sergiy Belozorov
1f6bccf428 [tools] Whitespace CL
TBR=sergiyb@chromium.org

Bug: chromium:934964
Change-Id: I4005a0422df68b357e6b34313d31f421c27cc95b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513612
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60228}
2019-03-14 08:15:56 +00:00
Alexei Filippov
5a61630d1d [inspector] Allow limiting the total size of collected scripts.
Introduces the setMaxCollectedScriptsSize Debugger protocol method.
If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects)
scripts up to the specified total size of their sources.

BUG=v8:8988

Change-Id: I94d52866494102add91ca2d569a2044b08c9c593
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60227}
2019-03-14 07:51:26 +00:00
v8-ci-autoroll-builder
669a73ad70 Update V8 DEPS.
Rolling v8/build: 96d6f98..2678ddc

Rolling v8/buildtools: 794f2d1..4457947

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/967fadd..2afe880

Rolling v8/third_party/depot_tools: 8b94108..40c1942

Rolling v8/third_party/icu: 2fd941d..8c67416

Rolling v8/tools/clang: ff65c25..8a36736

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

Change-Id: I5032fbb6066a8e4891caf0b1201090f1d56e6ac7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522726
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@{#60226}
2019-03-14 04:04:15 +00:00
Johannes Henkel
1cb390b875 [DevTools] Roll inspector_protocol to a7423d8ca937e658ab3b85e3b02676bced145ba6.
Change-Id: I270de4fa2970c9e33600453aaecc1c786701dcc3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521326
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Johannes Henkel <johannes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60225}
2019-03-13 18:19:28 +00:00
Maciej Goszczycki
d6c5674541 [heap] Split heap setup to simplify read-only heap API
Splits heap setup to enable a single setup method on read-only heap.
This simplifies shared read-only heap initialization code.

Bug: v8:7464
Change-Id: If4f61e1fbc4780e19dcda2b2d50050b2c204b0e3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518179
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60224}
2019-03-13 17:55:17 +00:00
Junliang Yan
f306ee1b1e PPC: use DirectCEntry for regexp code
Change-Id: I9bd7c97dd0b36935bd1fb76cd2cbc83a1b28cdfb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521223
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Auto-Submit: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#60223}
2019-03-13 17:44:07 +00:00
Maciej Goszczycki
1140f202e7 Make Heap::InReadOnlySpace static
This enables things like simple DCHECKs in functions that do not have
access to isolate or heap.

Change-Id: I7962c28f0c6a4928ee880f1373501f29e45ae1f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1517886
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Cr-Commit-Position: refs/heads/master@{#60222}
2019-03-13 16:55:02 +00:00
Simon Zünd
e5f01ba13f [cleanup] Remove unused stack_trace_ member from PromiseRejectMessage
R=yangguo@chromium.org

Bug: v8:8742
Change-Id: I307097021893617ed5178f1e967f9360a55cd929
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520710
Auto-Submit: Simon Zünd <szuend@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60221}
2019-03-13 16:34:49 +00:00
Santiago Aboy Solanes
b18697644e Adding CompressedXXX representations
Bug: v8:8977
Change-Id: I3bf6606d9db2369f5d82c71c5f58f6cf0c34bc0d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520712
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60220}
2019-03-13 16:13:49 +00:00
Z Duong Nguyen-Huu
10e6da5353 Torquefy some simple types
JSArrayIterator, PreparseData

Bug: v8:8952
Change-Id: I0a58402012f6fd5ded0eab92f7e28e3523342650
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516474
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#60219}
2019-03-13 16:04:30 +00:00
Benedikt Meurer
c302920a72 [tracing] Add missing support for flow events.
The JSONTraceWriter didn't write the "flow_in", "flow_out" and "bind_id"
fields, which are necessary to support TRACE_EVENT_WITH_FLOW and
friends. This just mirrors the logic from trace_event_impl.cc in Chrome.

Bug: v8:8991
Change-Id: I496db587fbb74d3c7205bbab4c23ec41c63fa715
Document: http://bit.ly/v8-tracing-signals
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521108
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60218}
2019-03-13 16:01:19 +00:00
Maya Lekova
ff8011c8a1 [test] Disable a test still flaky on Windows
Bug: v8:8744
Change-Id: I2b4b7ace0dd7a0bcbb20ab0f41c30c25ce01cea2
R=machenbach@chromium.org,sergiyb@chromium.org

No-Try: true
Change-Id: I2b4b7ace0dd7a0bcbb20ab0f41c30c25ce01cea2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521110
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60217}
2019-03-13 15:53:49 +00:00
Ujjwal Sharma
6d209c9b61 [turbofan] add CheckSmi call to String.p.startsWith
Add a CheckSmi call to the value of the position argument to
String.prototype.startsWith(search, [position]).

Bug: v8:8400, chromium:939746
Change-Id: I7462bebe0d3fde605a4c27a34c0d9bb3f0cc1c20
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514198
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60216}
2019-03-13 15:42:30 +00:00
Hannes Payer
ac71974744 [CSA] Eliminate write barriers for young generation large objects in CodeStubAssembler::ExtractToFixedArray.
Bug: v8:8945
Change-Id: Ib86ed35de107d5e658dbeaaca68d9a1cb8b0f309
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1515754
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60215}
2019-03-13 15:01:16 +00:00
Clemens Hammacher
a6ccce9efb [counters] Slighly extend documentation
I always have to look up which are the thread-safe ones. So add this
documentation in counters.h.

R=mstarzinger@chromium.org

Bug: v8:8834
Change-Id: I2cd28b6604585152b1ba3ecacbd597166f1b0e5b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520716
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Auto-Submit: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60214}
2019-03-13 13:38:53 +00:00
Simon Zünd
d24149aedb [stack trace] Refactor stack trace capturing
This CL extracts the capturing for detailed and simple
stack traces into a configurable helper. Rather then introducing a
single flag for this helper, noting whether we capture simple or detailed
stack traces, each "difference" between the two can be turned on/off
separately, for easier, future refactorings.

R=jgruber@chromium.org

Bug: v8:8742
Change-Id: I0cf5e975438f05ff40f91d8a8f097059424e3d19
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520326
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60213}
2019-03-13 13:19:23 +00:00
Michael Starzinger
9af9a6b7e9 [gcmole] Switch assignment operator special case.
This updates the existing special casing of assignment operators by
gcmole to match for assignments of {HeapObject} instead of {HeapObject*}
variables. The former now uses the implicit C++ assignment operator call
instead of a primitive assignment binary operation.

Also removes the dead {handle_decl_name} field as a drive-by-fix.

R=mslekova@chromium.org
BUG=v8:8813

Change-Id: I0b48254e7ca1544bc064707a8ca1f204366ddbe4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1517879
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60212}
2019-03-13 11:09:45 +00:00
Andreas Haas
6b650574fc [wasm] Allow multi-table initialization in the wasm-module-builder
This CL just adds a parameter to addElementSegment and adjusts all
existing tests.

Note that addElementSegment contains some convenience code to construct
one initial table if it does not exist yet. I did not extend that code
to multiple tables. If you want to use multiple tables, you have to
create them first before calling addElementSegment.

R=clemensh@chromium.org

Bug: v8:7581
Change-Id: Ie131fd5dc19856703ab5cfb2fa8f7d576f70a18b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520709
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60211}
2019-03-13 10:39:41 +00:00
Toon Verwaest
0281020193 [parser] Throw reference error if LHS of assignment is parenthesized
Bug: v8:8973
Change-Id: I64d6f574bc2e480b76ebefcf9ad27a96fbe60569
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520708
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60210}
2019-03-13 10:21:31 +00:00
Maya Lekova
e019f17172 [test] Re-enable fixed & verified flaky test
R=sergiyb@chromium.org

Bug: v8:8744
Change-Id: Ie5c133010f47fb492079287e9cf4fbe49ae388ed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520707
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60209}
2019-03-13 10:06:48 +00:00
Clemens Hammacher
a94d619d21 [wasm] Increase number of buckets for code size counters
As pointed out on https://crrev.com/c/1508675, the number of buckets of
{V8.WasmModuleCodeSizeMiB} should not change, thus change it back to
64. Also change the number of buckets for the two new counters for
symmetry.

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

Bug: v8:8217
Change-Id: Ia7b10460be2c059d865381d3164a781668a7b0f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518173
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60208}
2019-03-13 09:35:43 +00:00
v8-ci-autoroll-builder
e484fc2097 Update wasm-spec.
Rolling v8/test/wasm-js/data: a60f152..dae979a

TBR=ahaas@chromium.org,clemensh@chromium.org

Change-Id: I789d24a7626cb841636ead445fcfd5606240e0c3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1519684
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60207}
2019-03-13 08:30:13 +00:00
Andreas Haas
4cbc5a4dff [wasm][anyref] Implement WebAssembly.Table.[get|set]
This Cl adds a type to {WasmTableObject}, and extends
{WasmTableObject::Set} and {WasmTableObject::Get} to support anyref
tables. I did it in one CL so that I can write tests.

R=mstarzinger@chromium.org

Bug: v8:7581
Change-Id: I6c6d78f84715a7805f7bb881a63d3c1174f6a6ab
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511332
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60206}
2019-03-13 08:23:13 +00:00
Andrew Comminos
de7ab39a01 [cpu-profiler] Expose whether or not a script is shared cross origin in a CpuProfileNode
Enable cross-origin frame filtering by exposing this bit from
ScriptOriginOptions.

Bug: v8:8956
Change-Id: I109eec9db8b3d42d68d32abc5edd437b1c91a9b8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1493294
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60205}
2019-03-13 08:16:43 +00:00
v8-ci-autoroll-builder
f8bbb58a94 Update V8 DEPS.
Rolling v8/build: 8dcfd3a..96d6f98

Rolling v8/test/test262/harness: 0f2acdd..9bd99c6

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/eb73833..967fadd

Rolling v8/third_party/depot_tools: 77e5d48..8b94108

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

Change-Id: I4d6f917f187b8f0d4c436009946f63e56c8eb866
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1519681
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60204}
2019-03-13 08:05:08 +00:00
Clemens Hammacher
3df442d738 [wasm] Keep NativeModule alive in BackgroundCompileScope
We need to ensure that the NativeModule stays alive while any
{BackgroundCompileScope} exists, because during that time we hold
shared ownership of the mutex in the {BackgroundCompileToken}. If the
{NativeModule} dies during that period, we would need to get exclusive
ownership of the mutex and deadlock.

This change requires holding a {std::weak_ptr<NativeModule>} in the
BackgroundCompileToken instead of a raw pointer, hence it can only be
initialized after the NativeModule was created. This is done via a
separate {InitCompilationState} method.

R=ahaas@chromium.org

Bug: v8:8979
Change-Id: Ia14bd272ea0bc47aec547024da6020608418c9d2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518178
Auto-Submit: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60203}
2019-03-13 08:04:04 +00:00
Clemens Hammacher
d358cf098c [base] Switch Once to std::atomic
We want to get rid of the atomicops library, hence switch all uses to
std::atomic.

R=mlippautz@chromium.org

Bug: v8:8926, v8:8834

Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Change-Id: I7966d4ea98c5dd2ff712b1d84a6877f407f55ec7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518176
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60202}
2019-03-13 07:55:13 +00:00
Yang Guo
9d45b49cc2 [icu] remove ICU_DATA_SHARED option
R=jshin@chromium.org

Bug: chromium:938223
Change-Id: I0dca3f79f9466c559e1ad61b1f327428ee63732a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513615
Auto-Submit: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60201}
2019-03-13 07:38:43 +00:00
Aseem Garg
f6acafd7de [wasm] Add type function to WebAssembly.Memory
R=binji@chromium.org,adamk@chromium.org
Bug: v8:7742

Change-Id: I13a317372fa06c706e2c648b92d2f2dd3c5a337b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513152
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Commit-Queue: Aseem Garg <aseemgarg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60200}
2019-03-13 03:45:02 +00:00