Commit Graph

50703 Commits

Author SHA1 Message Date
Creddy
eccf186749 [interpreter] Separate bytecodes for one-shot property loads and stores
Create LdaNamedPropertyNoFeedback and StaNamedPropertyNoFeedback
for one-shot property loads and stores. This CL replaces the runtime
calls with new bytecodes for named property load stores in one-shot code.
the runtime calls needed extra set of consecutive registers and
additional move instructions. This increased the size of
bytecode-array and possibly extended the life time of objects.
By replacing them with NoFeedback bytecodes we avoid these issues.

Bug: v8:8072
Change-Id: I20a38a5ce9940026171d870d354787fe0b7c5a6f
Reviewed-on: https://chromium-review.googlesource.com/1196725
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Chandan Reddy <chandanreddy@google.com>
Cr-Commit-Position: refs/heads/master@{#56211}
2018-09-25 13:53:53 +00:00
Ben L. Titzer
7f7545cf55 [wasm] Introduce WasmImportCallKind enum
The WASM engine compiles per-import wrappers for callables imported
into a WASM instance that have one of a number of different shapes,
depending on the type of the imported function and whether there is
a signature match. This CL introduces an enum with a value for each
case in preparation for introducing a per-kind cache.

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

Change-Id: If9b7355ff7c57a329c096f93f3624bc3d6c74e3f
Reviewed-on: https://chromium-review.googlesource.com/1243045
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56210}
2018-09-25 13:52:12 +00:00
Hai Dang
9f7ec7d479 Add fast path for cloning by iterating fast holey arrays.
This fast path copies the backing store and replaces holes with undefined.
In the case where the array is holey but there is no actual holes, the
resulting array is of the same elements kind as the source array. If a hole
does appear, the resulting array will be of PACKED_ELEMENTS kind so that it
can contain undefined.

The builtin CloneFastJSArrayFillingHoles includes this fast path, but
CloneFastJSArray does not (it still behaves as before). In case of fast
packed arrays, CloneFastJSArrayFillingHoles behaves the same as
CloneFastJSArray.

Bug: chromium:881273, v8:7980
Change-Id: I49c641c1a673313f06aeed93077031ab6b017b6d
Reviewed-on: https://chromium-review.googlesource.com/1236573
Commit-Queue: Hai Dang <dhai@google.com>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56209}
2018-09-25 13:46:42 +00:00
Toon Verwaest
790b687c65 [parser] Replace tail-position CHECK_OK with ok
CHECK_OK is a macro that checks whether the function failed, and returns a
dummy expression if it did to avoid continuing parsing. If we're immediately
returning the result of the call anyway we don't need the additional check and
can just return whatever the call returned.

Change-Id: I0da1a6a4440728ce14923c57f52522ac93da6b8e
Reviewed-on: https://chromium-review.googlesource.com/1242805
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56208}
2018-09-25 13:45:38 +00:00
Toon Verwaest
651f25a99c [parser] Remove dead case in ParseAndClassifyIdentifier
It deals with strict-mode but is in a branch guarded by is_sloppy.

Change-Id: I309c187a96b5fa62956eec5bb05f50c0ce4e5ad3
Reviewed-on: https://chromium-review.googlesource.com/1243105
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56207}
2018-09-25 13:44:32 +00:00
Georg Neis
74b40e34d5 [turbofan] Remove redundant isolate argument from typers.
This is just a cleanup.

Bug: v8:7790
Change-Id: Ic0114451159b8c504f527f3cf3bdaed6a8cc8741
Reviewed-on: https://chromium-review.googlesource.com/1243103
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56206}
2018-09-25 13:00:05 +00:00
Georg Neis
78dd1d0c69 [turbofan] Move typer into the background.
... if FLAG_concurrent_compiler_frontend is enabled.

Bug: v8:7790
Change-Id: I448560b21d54c8907e8cbf68bdaf8bbdf2b034df
Reviewed-on: https://chromium-review.googlesource.com/1241959
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56205}
2018-09-25 12:40:50 +00:00
Clemens Hammacher
19bad28dac [wasm][gc] Link Isolates from WasmEngine
First step towards GC of wasm code: Introduce a link to all Isolates
that use a WasmEngine.

R=mstarzinger@chromium.org

Bug: v8:8217
Change-Id: Ib7f4495e7c7e5cc9ad58293518c65738f23d664c
Reviewed-on: https://chromium-review.googlesource.com/1240335
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56204}
2018-09-25 12:16:00 +00:00
Sergiy Byelozyorov
47945fa7b9 Format typed-array.tq to fix presubmit
TBR=danno@chromium.org, machenbach@chromium.org

No-Try: true
Bug: v8:7793
Change-Id: Ia47ecf83b80decc5e04b170c2a492a8365a87346
Reviewed-on: https://chromium-review.googlesource.com/1243043
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56203}
2018-09-25 12:06:50 +00:00
Daniel Clifford
ea5207f73c [torque]: Require formatting for .tq files in presubmit
Bug: v8:7793
Change-Id: I18bd30b36be3c3f89962a2e9c04d8f159c8cfe2b
Reviewed-on: https://chromium-review.googlesource.com/1240415
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56202}
2018-09-25 11:38:08 +00:00
Ross McIlroy
dc204cc6e7 Reland "[Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher"
This is a reland of 31228a69c3

TBR=yangguo@chromium.org,verwaest@chromium.org

Original change's description:
> [Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher
>
> Splits background compilation data out of ScriptStreamingData and into
> BackgroundCompileTask. Also makes BackgroundCompileTask no longer a sub-class
> of ScriptStreamingTask, and instead have ScriptStreamingTask delegate to a
> BackgroundCompileTask.
>
> As part of this change, we now create the CharacterStream on the main thread,
> and therefore have to set the (thread-local) runtime_call_stats on the already
> created CharacterStream when the BackgroundCompileTask is run on the background
> thread. As such, changes to CharacterStream were needed to feed the
> runtime_call_stats through appropriately.
>
> Deprecates Source::GetCachedData and StreamedSource::GetCachedData since they are
> no longer used, and the streamed source never has cached data (streaming is
> suppressed if cached data is available). Also removes Utf8ChunkedStream which
> is dead code.
>
> BUG=v8:8041, v8:8015
> TBR=yangguo@chromium.org
>
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: Ifcc723ebf930a1dc01135fcb70929d6168471cb3
> Reviewed-on: https://chromium-review.googlesource.com/1236353
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56182}

Bug: v8:8041, v8:8015
Change-Id: Ied5132c537d4c25c6e355f289c2a9cc1f8ff98e9
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1242097
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56201}
2018-09-25 11:24:14 +00:00
Creddy
fbd7e788d6 Emit Call node for CallNoFeedback node instead of soft-deopt
Emit call node instead of soft-deopt for CallNoFeedback to
avoid performance penalty incase one-shot code gets optimized.
Tweek the inling heuristic to avoid recurisve inling with stress-opt.

Bug: v8:8106, v8:8072
Change-Id: I09643c0648b6c880f491d08a8a73f1960ca999c0
Reviewed-on: https://chromium-review.googlesource.com/1239075
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Chandan Reddy <chandanreddy@google.com>
Cr-Commit-Position: refs/heads/master@{#56200}
2018-09-25 11:14:33 +00:00
Marja Hölttä
68deca9b41 [objects.h splitting] Move BuiltinFunctionId
BUG=v8:5402,v8:8015

Change-Id: I4afa8ada312df691b06c2d107fd5254c0fbb9496
Reviewed-on: https://chromium-review.googlesource.com/1238577
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56199}
2018-09-25 11:01:33 +00:00
Michael Starzinger
df841d5a67 [wasm] Remove dead code from runtime stack walks.
R=clemensh@chromium.org

Change-Id: Iabbef9d054671ec11a48321bb4e75a49084560ed
Reviewed-on: https://chromium-review.googlesource.com/1238925
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56198}
2018-09-25 10:56:22 +00:00
Andreas Haas
53cd304340 [cleanup] Provide better error message if the snapshot blob is missing
R=yangguo@chromium.org

Bug: chromium:872783, v8:8015
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I2d281ba058961ebe2e2758e90b4afa34b02fd5b1
Reviewed-on: https://chromium-review.googlesource.com/1216004
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56197}
2018-09-25 10:30:14 +00:00
Sigurd Schneider
2a4f602aaa [ia32,root] Allow usage of ebx for register code only in 'neg'
Bug: v8:6666
Change-Id: I5af95a3e9dcffb4be26a8ffd2948784d2910d64a
Reviewed-on: https://chromium-review.googlesource.com/1242804
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56196}
2018-09-25 10:11:34 +00:00
Sigurd Schneider
07f7388bd4 [ia32,root] Preserve kRootRegister (ebx) in enter/leave code
This CL ensures that kRootRegister (ebx) is preserved in
BailoutOfDeoptimized and PopArgumentsAdaptorFrame.

This CL uses push/pop to preserve eax, even though it is not used in
OPTIMIZED_FUNCTION code. If we must get more performance, we might be
able to get rid of push/pop, but I've left it in because it is cleaner
code this way. Another alternative is to use ecx in case of embedded
builtins only (as it is used for speculation in the standard config).

Change-Id: I437c8754408414d82b2fbd8b33d2faeda17aee30
Bug: v8:6666
Reviewed-on: https://chromium-review.googlesource.com/1242886
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56195}
2018-09-25 09:47:59 +00:00
Georgia Kouveli
6b74c4bf23 [arm64] Use literal pool for calls to off-heap targets
Cherry-picked from cd28595 for arm64 only, with a small addition.

Change-Id: I864f811e7fe5cb47390e6a0588b48d057ccb6292
Reviewed-on: https://chromium-review.googlesource.com/1240334
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
Cr-Commit-Position: refs/heads/master@{#56194}
2018-09-25 09:26:44 +00:00
Georg Neis
30addb3ea3 [turbofan] Remove ConcurrentOptimizationPrepPhase.
Part of it was already obsolete. The other part, concerned with
typing, is moved to the TyperPhase.

Bug: v8:7790
Change-Id: If728b36d88d19ded26d818eb805d093942576fcd
Reviewed-on: https://chromium-review.googlesource.com/1242884
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56193}
2018-09-25 09:14:31 +00:00
Sigurd Schneider
3815ad6db2 [ia32,root] Refactor register renaming
This CL addresses comments left post-merge on
https://crrev.com/c/1238653
which improve readablity.

R=jarin@chromium.org

Bug: v8:6666, v8:8015
Change-Id: Idafd848dafdd97af525646d6321e0ca40ce856c5
Reviewed-on: https://chromium-review.googlesource.com/1242885
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56192}
2018-09-25 09:13:26 +00:00
Leszek Swirski
c5b4810d7f [object-stats] Avoid mislabelling script source data
The existing script source tracking was racing with general external
script resource tracking, resulting in heap-order-dependent labels.

Bug: v8:8218
Change-Id: Ib09c28ca1e13768b328ecef7f8ee3ea5131ba12e
Reviewed-on: https://chromium-review.googlesource.com/1238927
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56191}
2018-09-25 08:58:59 +00:00
Florian Sattler
738deb5d03 [tools] Add build folder auto detection to run-clang-tidy
Change-Id: I4cffe3d595aa3b3d85d4c45d5bb9654728c9137b
Reviewed-on: https://chromium-review.googlesource.com/1238923
Commit-Queue: Florian Sattler <sattlerf@google.com>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56190}
2018-09-25 08:57:55 +00:00
Peter Marshall
19253b3795 [cpu-profiler] Always skip flaky cpu profiler test
This is a regression test for a really specific issue that is flaky.
We should just disable it for all configurations rather than wait for
extra flakes which we then have to diagnose.

Bug: v8:8209
Change-Id: I976f2d7cdd92f3ce5c7eb9fd28976201d1d6612f
Reviewed-on: https://chromium-review.googlesource.com/1240120
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56189}
2018-09-25 08:43:42 +00:00
Andreas Haas
8210d664d3 [wasm] Update spec tests
R=titzer@chromium.org

Change-Id: I6eabacf07e3dd95d1bec68f1980ec6aae5220c97
Reviewed-on: https://chromium-review.googlesource.com/1238926
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56188}
2018-09-25 08:36:32 +00:00
Maya Lekova
875480d2c9 Revert "[Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher"
This reverts commit 31228a69c3.

Reason for revert: Introduces new pretty consistent flakes on Linux sanitizers, one of which block LKGR. Please see https://crbug.com/v8/8219

Original change's description:
> [Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher
> 
> Splits background compilation data out of ScriptStreamingData and into
> BackgroundCompileTask. Also makes BackgroundCompileTask no longer a sub-class
> of ScriptStreamingTask, and instead have ScriptStreamingTask delegate to a
> BackgroundCompileTask.
> 
> As part of this change, we now create the CharacterStream on the main thread,
> and therefore have to set the (thread-local) runtime_call_stats on the already
> created CharacterStream when the BackgroundCompileTask is run on the background
> thread. As such, changes to CharacterStream were needed to feed the
> runtime_call_stats through appropriately.
> 
> Deprecates Source::GetCachedData and StreamedSource::GetCachedData since they are
> no longer used, and the streamed source never has cached data (streaming is
> suppressed if cached data is available). Also removes Utf8ChunkedStream which
> is dead code.
> 
> BUG=v8:8041, v8:8015
> TBR=yangguo@chromium.org
> 
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: Ifcc723ebf930a1dc01135fcb70929d6168471cb3
> Reviewed-on: https://chromium-review.googlesource.com/1236353
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56182}

TBR=rmcilroy@chromium.org,yangguo@chromium.org,verwaest@chromium.org

Change-Id: Ib05bcbde2e9a588bd4008d2155f75cdac5cc47f5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8041, v8:8015
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1241958
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56187}
2018-09-25 07:49:34 +00:00
Toon Verwaest
cc9748fa86 Revert "[parser] Restructure Binary expression parsing"
This reverts commit f2f48bd8b9.

Reason for revert: Negative performance impact

Original change's description:
> [parser] Restructure Binary expression parsing
> 
> Change-Id: I1ff35a3e647b32edb229f47fde80de1b8b50737b
> Reviewed-on: https://chromium-review.googlesource.com/1240333
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56179}

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

Change-Id: If08f8c5f538dc25f5f3ea62cd8dd80e024156e81
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/1241957
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56186}
2018-09-25 07:43:22 +00:00
Clemens Hammacher
534820c21a [wasm] Bump max value for wasm code size histogram
Wasm modules can now grow up to 1024 MB. Bump the maximum of the
corresponding histogram so we record the full range.

R=titzer@chromium.org

Change-Id: I984b2314fcb41435f300df6e8f63b62c096d1330
Reviewed-on: https://chromium-review.googlesource.com/1240337
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56185}
2018-09-25 07:40:11 +00:00
v8-ci-autoroll-builder
4913a939f6 Update V8 DEPS.
Rolling v8/build: dfca77b..4325c99

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/868fbbf..c51eb62

Rolling v8/third_party/depot_tools: baf0927..64b6133

Rolling v8/third_party/fuchsia-sdk: dc90d99..9b435fc

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

Change-Id: I6582dfcb56e4f1dbfdd32ea32134044c76dd339d
Reviewed-on: https://chromium-review.googlesource.com/1242603
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#56184}
2018-09-25 03:34:00 +00:00
Deepti Gandluri
5f965c98d4 Rename Atomics64 logical binop macro
Change-Id: I554c028627c4032d7c47e8d6d6a6ed4e4a38d0a5
Reviewed-on: https://chromium-review.googlesource.com/1241474
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56183}
2018-09-24 23:08:12 +00:00
Ross McIlroy
31228a69c3 [Compile] Refactor BackgroundCompileTask to enable its use by CompilerDispatcher
Splits background compilation data out of ScriptStreamingData and into
BackgroundCompileTask. Also makes BackgroundCompileTask no longer a sub-class
of ScriptStreamingTask, and instead have ScriptStreamingTask delegate to a
BackgroundCompileTask.

As part of this change, we now create the CharacterStream on the main thread,
and therefore have to set the (thread-local) runtime_call_stats on the already
created CharacterStream when the BackgroundCompileTask is run on the background
thread. As such, changes to CharacterStream were needed to feed the
runtime_call_stats through appropriately.

Deprecates Source::GetCachedData and StreamedSource::GetCachedData since they are
no longer used, and the streamed source never has cached data (streaming is
suppressed if cached data is available). Also removes Utf8ChunkedStream which
is dead code.

BUG=v8:8041, v8:8015
TBR=yangguo@chromium.org

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ifcc723ebf930a1dc01135fcb70929d6168471cb3
Reviewed-on: https://chromium-review.googlesource.com/1236353
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56182}
2018-09-24 20:15:50 +00:00
Sergiy Byelozyorov
c4cfafc354 Update V8 DEPS.
Rolling v8/third_party/icu: 7ca3ffa..c52a2a2

This includes fixes from https://crrev.com/c/1240414.

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

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I2afd319dbb244356a9bb057eb80c5fb0310b8686
Reviewed-on: https://chromium-review.googlesource.com/1240106
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56181}
2018-09-24 18:34:31 +00:00
Toon Verwaest
d975ca026f [parser] Add dummy SourceRange tracking for PreParser
Change-Id: I05db378984b583d9dff3fe9fceb3adbf7e046e20
Reviewed-on: https://chromium-review.googlesource.com/1240338
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56180}
2018-09-24 15:56:27 +00:00
Toon Verwaest
f2f48bd8b9 [parser] Restructure Binary expression parsing
Change-Id: I1ff35a3e647b32edb229f47fde80de1b8b50737b
Reviewed-on: https://chromium-review.googlesource.com/1240333
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56179}
2018-09-24 15:04:21 +00:00
Sergiy Byelozyorov
b308fc5833 Remove mac_toolchain hook as XCode is now installed via recipe
TBR=machenbach@chromium.org

Bug: chromium:863607
Change-Id: I1352bc236e7e236d70130db7fcc4333821fdec70
Reviewed-on: https://chromium-review.googlesource.com/1238924
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56178}
2018-09-24 14:48:25 +00:00
Toon Verwaest
af07cd9a04 [parser] Move preparse abort handling to SkipFunction
Change-Id: I6c4f8c736e3c5f55f9541109f0093b2c026bce27
Reviewed-on: https://chromium-review.googlesource.com/1240136
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56177}
2018-09-24 14:47:20 +00:00
Clemens Hammacher
141dd66713 [wasm][cleanup] Use AddressRange instead of std::pair
In the wasm code manager unittest, use the more specific AddressRange
class instead of a generic std::pair.
Also, rename the two {CheckLooksLike} methods to capture what they
actually check ({CheckPool} and {CheckRange}).

R=ahaas@chromium.org

Bug: v8:8015
Change-Id: Ia02523eabb1ddd8a3e8a255cc3987017b8338721
Reviewed-on: https://chromium-review.googlesource.com/1240135
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56176}
2018-09-24 14:46:15 +00:00
Yang Guo
ac66c97cfd Reland "Do not use FixedDoubleArray to store RNG state"
This is a reland of 33fa357b6f

TBR=mvstanton@chromium.org

Original change's description:
> Do not use FixedDoubleArray to store RNG state
>
> Also:
>  - replace runtime call with cheaper C call
>  - change state to double conversion
>
> R=mvstanton@chromium.org
>
> Bug: v8:8212
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: If4bfe0f5fb1864c89f4acd871cb8b74c7cd7ab09
> Reviewed-on: https://chromium-review.googlesource.com/1240116
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56165}

Bug: v8:8212
Change-Id: Iccc9128034ce7b65801a04a54982219b5a4fe84e
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1238551
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56175}
2018-09-24 14:23:22 +00:00
Igor Sheludko
62af397b72 [cleanup] Use RootIndex instead of int to avoid casting
Bug: v8:8015
Change-Id: I1a423b356d09bdf46d49d69fb83cc24acabb6313
Reviewed-on: https://chromium-review.googlesource.com/1238550
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56174}
2018-09-24 14:19:12 +00:00
Toon Verwaest
7431175b4b [parser] Restructure Unary and Conditional expression parsing
This allows to inline the part where we call to the nested rule and the token
check while keeping the bulk of the work if it's actually a unary/conditional
expression outline.

Change-Id: I1b1f7ebaf2d4f660f157ece7f9534525b80a95a6
Reviewed-on: https://chromium-review.googlesource.com/1238922
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56173}
2018-09-24 14:15:07 +00:00
Yang Guo
71dfbcd79a Remove isolate param from external reference where possible
R=petermarshall@chromium.org

Change-Id: I2738b6ccf8b3c56b58554aa8dd626da5d2c3865d
Reviewed-on: https://chromium-review.googlesource.com/1240137
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56172}
2018-09-24 14:11:38 +00:00
Toon Verwaest
dc2e7786a1 [parser] Only clear tempzone if we actually parse in it
The previous clear mechanism would also unnecessarily allocate a preparser.

This fixes regressions introduced by
https://chromium-review.googlesource.com/c/v8/v8/+/1238614

Change-Id: Ia3eef371c80857f2cd6cdd5852c849fa7f8716fc
Reviewed-on: https://chromium-review.googlesource.com/1238918
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56171}
2018-09-24 14:07:22 +00:00
Peter Marshall
a0c48e1daa [API] Rename GetBuiltinsCodeRange to GetEmbeddedCodeRange.
This is more generic as it doesn't restrict embedded code to just
builtins. Also, some builtins are still on-heap so the name was not
totally accurate.

Bug: v8:8116
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I44cd24d6baf2bce0e5d914d36a2bae98e77bdc6d
Reviewed-on: https://chromium-review.googlesource.com/1238919
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56170}
2018-09-24 14:05:46 +00:00
Igor Sheludko
c9e4a21c16 [cleanup] Ensure [READ_ONLY|MUTABLE]_ROOT_LIST contain ALL RO/mutable entries
... so that it is no longer needed to iterate over other lists.
This CL also moves data handler maps to the RO roots list (because they are RO).

Bug: v8:8015
Change-Id: If21fe5bac5a6ac1e44a47783ad930df5fcecda9a
Reviewed-on: https://chromium-review.googlesource.com/1240134
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56169}
2018-09-24 14:04:41 +00:00
v8-ci-autoroll-builder
c9ef63e568 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/218f466..868fbbf

Rolling v8/third_party/depot_tools: 0dc1fa0..baf0927

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

Change-Id: Ifb64ed8de7d45867a7b3bbae1357ba0f0aecc4b6
Reviewed-on: https://chromium-review.googlesource.com/1240103
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@{#56168}
2018-09-24 13:19:46 +00:00
Maya Lekova
601d8896b3 Revert "Do not use FixedDoubleArray to store RNG state"
This reverts commit 33fa357b6f.

Reason for revert: Breaking the V8 Linux - arm64 - sim - MSAN bot. Please see here:
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/23001

Original change's description:
> Do not use FixedDoubleArray to store RNG state
> 
> Also:
>  - replace runtime call with cheaper C call
>  - use xor instead of addition to remove bias
> 
> R=​mvstanton@chromium.org
> 
> Bug: v8:8212
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: If4bfe0f5fb1864c89f4acd871cb8b74c7cd7ab09
> Reviewed-on: https://chromium-review.googlesource.com/1240116
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56165}

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

Change-Id: I05f23f0b52a706233bbc1a1877cc15691ed9f40a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8212
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1238549
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56167}
2018-09-24 13:11:00 +00:00
Jaroslav Sevcik
ee1335adef Prune forward declarations in isolate.h
Change-Id: Id31c1178b84be5ec4e876495ce220302864713e0
Reviewed-on: https://chromium-review.googlesource.com/1240118
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56166}
2018-09-24 12:47:43 +00:00
Yang Guo
33fa357b6f Do not use FixedDoubleArray to store RNG state
Also:
 - replace runtime call with cheaper C call
 - use xor instead of addition to remove bias

R=mvstanton@chromium.org

Bug: v8:8212
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: If4bfe0f5fb1864c89f4acd871cb8b74c7cd7ab09
Reviewed-on: https://chromium-review.googlesource.com/1240116
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56165}
2018-09-24 12:35:23 +00:00
v8-ci-autoroll-builder
071d3c669b Update V8 DEPS.
Rolling v8/build: 641370b..dfca77b

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/6f7c60d..218f466

Rolling v8/third_party/depot_tools: 92df4e6..0dc1fa0

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

Change-Id: I5ae82581f54b2206f2574b61fa3c02aad5d7427c
Reviewed-on: https://chromium-review.googlesource.com/1239190
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@{#56164}
2018-09-24 12:08:29 +00:00
Dan Elphick
d235f550ab [deprecation] Deprecate ToBoolean(Local<Context>)
ToBoolean and BooleanValue cannot throw exceptions so the Maybe versions
of the functions don't make sense. As such this deprecates the Maybe
versions and undeprecates ToBoolean(Isolate*). It also adds
BooleanValue(Isolate*).

Fix up all of the v8 code to not use the deprecated functions.

Bug: v8:7279, v8:8015
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I50e7474d205c75baa153f0dea7f02dcf60232d1d
Reviewed-on: https://chromium-review.googlesource.com/1238476
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56163}
2018-09-24 12:02:09 +00:00
Jakob Gruber
004a6bf2c5 [ia32,root] Port Deoptimizer::TableEntryGenerator
This swaps out ebx in favor of esi. The root pointer value itself is
pushed and restored from the stack through pushad/popad.

Bug: v8:6666
Change-Id: I2a685f6659a5fbe2f7d91e431c5addff85664b5b
Reviewed-on: https://chromium-review.googlesource.com/1238653
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56162}
2018-09-24 11:21:54 +00:00