Commit Graph

53862 Commits

Author SHA1 Message Date
Tamer Tas
ea4412ad33 Revert "Reland "[test] refactor testsuite configuration""
This reverts commit 81eec150f6.

Reason for revert: windows mozilla test failures

Original change's description:
> Reland "[test] refactor testsuite configuration"
> 
> This is a reland of 7f92ad0ab6
> 
> Original change's description:
> > [test] refactor testsuite configuration
> > 
> > Every testsuite configuration consist of at least 30% code duplication.
> > 
> > The code age ranges from 10 years old to 5 years old. Implementing anything that
> > touches the testsuite code becomes a technical fight to the death.
> > 
> > This CL removes all the duplication by refactoring the common functionality.
> > 
> > This CL contains structural changes without any logical changes % small bug
> > fixes.
> > 
> > R=machenbach@chromium.org
> > CC=yangguo@chromium.org,sergiyb@chromium.org
> > 
> > Bug: v8:8174, v8:8769
> > Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
> > Reviewed-on: https://chromium-review.googlesource.com/c/1445881
> > Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
> > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#59361}
> 
> Bug: v8:8174, v8:8769
> Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
> Reviewed-on: https://chromium-review.googlesource.com/c/1454485
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Tamer Tas <tmrts@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59369}

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

Change-Id: I8f5650b5f46be299c004e2fa8b708fa2c17a4dc2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8174, v8:8769
Reviewed-on: https://chromium-review.googlesource.com/c/1454607
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59370}
2019-02-05 15:20:46 +00:00
Tamer Tas
81eec150f6 Reland "[test] refactor testsuite configuration"
This is a reland of 7f92ad0ab6

Original change's description:
> [test] refactor testsuite configuration
> 
> Every testsuite configuration consist of at least 30% code duplication.
> 
> The code age ranges from 10 years old to 5 years old. Implementing anything that
> touches the testsuite code becomes a technical fight to the death.
> 
> This CL removes all the duplication by refactoring the common functionality.
> 
> This CL contains structural changes without any logical changes % small bug
> fixes.
> 
> R=machenbach@chromium.org
> CC=yangguo@chromium.org,sergiyb@chromium.org
> 
> Bug: v8:8174, v8:8769
> Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
> Reviewed-on: https://chromium-review.googlesource.com/c/1445881
> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59361}

Bug: v8:8174, v8:8769
Change-Id: I8e7078cfb875ceb3777e57084e6f8dfac09693e7
Reviewed-on: https://chromium-review.googlesource.com/c/1454485
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59369}
2019-02-05 14:53:05 +00:00
Tobias Tebbi
63435d376d [turbofan][csa] enable write-barrier elimination for raw store nodes
Bug: v8:7793
Change-Id: Ic7a719eb9216d848d7148e4eb8a239c1637e0bb5
Reviewed-on: https://chromium-review.googlesource.com/c/1430064
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59368}
2019-02-05 14:45:06 +00:00
Clemens Hammacher
fbd8d71e78 [wasm] Remove Isolate from compilation state
The compilation state is mostly isolate-independent by now. It's only
the counters that are taken from one Isolate and then used throughout
the livetime of the NativeModule. This should be fixed in another CL.
The Isolate itself is never used from the compilation state, thus
remove the pointer.

R=mstarzinger@chromium.org

Bug: v8:8050
Change-Id: Ia605840b81352ede2c84a848081a14e51760e8c8
Reviewed-on: https://chromium-review.googlesource.com/c/1451824
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59367}
2019-02-05 14:24:34 +00:00
Michael Starzinger
5bc1809e48 [wasm] Simplify unwinding of interpreter activations.
R=clemensh@chromium.org

Change-Id: I3c5f38c33d5fdb08f927e5417d4d85652d0125ac
Reviewed-on: https://chromium-review.googlesource.com/c/1454603
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59366}
2019-02-05 14:00:53 +00:00
Georg Neis
b43d8a67bf Use raw extension() getter when printing a Context.
For instance, in the case of a ScriptContext,
the extension_object() getter fails.

Change-Id: Id0d65bc7c44438f60e2e824535081fa785feb3c8
Reviewed-on: https://chromium-review.googlesource.com/c/1454482
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59365}
2019-02-05 13:38:01 +00:00
peterwmwong
c80f18fc17 [builtins] Generate ConstructByArrayLike once and make TypedArrayInitialize a macro.
- Avoids generating ConstructByArrayLike multiple times within CreateTypedArray
- Make TypedArrayInitialize a macro to avoid TFS builtin call overhead.

Small reduction in builtins size:
  Before - 9508 TypedArrayInitialize + CreateTypedArray
  After  - 9476 CreateTypedArray

Improvements to related typed array constructor benchmarks:
  TypedArrays-Constructor ~5%
  TypedArrays-ConstructArrayLike ~2.7%

Bug: v8:7161
Change-Id: I1684c3d7577afbb181ea4691caa00c60da391266
Reviewed-on: https://chromium-review.googlesource.com/c/1452239
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Cr-Commit-Position: refs/heads/master@{#59364}
2019-02-05 12:46:47 +00:00
Clemens Hammacher
61a758c11f Reland "[wasm] Turn deferred handles into global handles"
This is a reland of 8a91484619.
No modifications, this CL was not the culprit.

Original change's description:
> [wasm] Turn deferred handles into global handles
>
> Each instance of {DeferredHandles} only stores a single handle anyway,
> so turning them into global handles saves memory.
>
> R=ahaas@chromium.org
>
> Bug: v8:7921, v8:8423
> Change-Id: I75e0cc6ecb6d0337f1695e6bfd4b5fdcb8a2039c
> Reviewed-on: https://chromium-review.googlesource.com/c/1402715
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59331}

Bug: v8:7921, v8:8423
Tbr: ahaas@chromium.org
Change-Id: I9111eb6405c2624779b9eaa65353ab5f438e9daf
Reviewed-on: https://chromium-review.googlesource.com/c/1451930
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59363}
2019-02-05 12:31:21 +00:00
Tamer Tas
97068800fe Revert "[test] refactor testsuite configuration"
This reverts commit 7f92ad0ab6.

Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win32/19148

Original change's description:
> [test] refactor testsuite configuration
>
> Every testsuite configuration consist of at least 30% code duplication.
>
> The code age ranges from 10 years old to 5 years old. Implementing anything that
> touches the testsuite code becomes a technical fight to the death.
>
> This CL removes all the duplication by refactoring the common functionality.
>
> This CL contains structural changes without any logical changes % small bug
> fixes.
>
> R=​machenbach@chromium.org
> CC=​yangguo@chromium.org,sergiyb@chromium.org
>
> Bug: v8:8174, v8:8769
> Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
> Reviewed-on: https://chromium-review.googlesource.com/c/1445881
> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59361}

TBR=machenbach@chromium.org,sergiyb@chromium.org,tmrts@chromium.org,v8-reviews@chromium.org

Change-Id: I473f0d4c6b9c0239923b8c03699dbc38b7f85030
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8174, v8:8769
Reviewed-on: https://chromium-review.googlesource.com/c/1454599
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59362}
2019-02-05 12:06:18 +00:00
Tamer Tas
7f92ad0ab6 [test] refactor testsuite configuration
Every testsuite configuration consist of at least 30% code duplication.

The code age ranges from 10 years old to 5 years old. Implementing anything that
touches the testsuite code becomes a technical fight to the death.

This CL removes all the duplication by refactoring the common functionality.

This CL contains structural changes without any logical changes % small bug
fixes.

R=machenbach@chromium.org
CC=yangguo@chromium.org,sergiyb@chromium.org

Bug: v8:8174, v8:8769
Change-Id: Iee299569caa7abdc0307ecf606136669034a28a2
Reviewed-on: https://chromium-review.googlesource.com/c/1445881
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59361}
2019-02-05 11:37:51 +00:00
Jakob Gruber
810ca221c6 Simplify semantics of Code::{safepoint,handler}_table_offset()
For these two fields, an offset of 0 was used to mark non-existent
tables. After this CL, it always contains a real offset even if the
table is empty. This matches behavior of other embedded metadata
(constant pool and code comments). Remnants of the old behavior still
remain in WasmCode and HandlerTable.

Drive-by: Update comments describing Code object layout.
Drive-by: Unify naming of Code offset constants.

Bug: v8:8758
Change-Id: Ia8a1f66988b6c294a026b96f4f272fc5583a8c30
Reviewed-on: https://chromium-review.googlesource.com/c/1451880
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@{#59360}
2019-02-05 11:22:14 +00:00
Simon Zünd
f557ce5432 [cleanup] Replace hand-crafted accessors with generated ones
This CL introduces Torque classes with fields around TypedArrays so
CSA LoadObjectField accessors that are only used in Torque code
can be removed.

R=tebbi@chromium.org

Bug: v8:8562
Change-Id: Ie46dad5c25bd6ac03aacef8509e22f435896d127
Reviewed-on: https://chromium-review.googlesource.com/c/1451823
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59359}
2019-02-05 10:56:58 +00:00
Tom Tan
8f23860efb Change labs to std::abs for Windows ARM64
Because Windows ARM64 is in LLP64 data model, the long type as input parameter
for labs is still 32-bit. std::abs has overloads for both long and long long type, which
works for both LP64 and LLP64 data model (see below links).

https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/abs-labs-llabs-abs64
https://en.cppreference.com/w/cpp/numeric/math/abs

Bug: chromium:893460
Change-Id: I477d22d550bd92bf9dcc974ac84b4fe5222c1e13
Reviewed-on: https://chromium-review.googlesource.com/c/1448715
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59358}
2019-02-05 09:31:57 +00:00
Jakob Gruber
1857b21720 Add Code helper methods for inlined metadata
This adds Code::has_foo() and Code::foo_size() helpers for inlined
metadata sections (currently: the safepoint table, handler table,
constant pool, and code comments). Prior to this, each call site had
to know implementation details of the instruction area layout.

Bug: v8:8758
Change-Id: I9dc391992a4bf709ee403beab8606d85540dc1be
Reviewed-on: https://chromium-review.googlesource.com/c/1451838
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59357}
2019-02-05 09:19:47 +00:00
Daniel Clifford
dc15a1eefa [torque] Fix and test broken non-tagged class fields stores
Bug: v8:7793
Change-Id: Iaf3941b76e261308f656fb92b3c53e6cab5ad350
Reviewed-on: https://chromium-review.googlesource.com/c/1454476
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59356}
2019-02-05 09:04:57 +00:00
Ujjwal Sharma
44ffcca488 [string] port String.p.startsWith to torque
Port String.prototype.startsWith from a CPP builtin to a Torque builtin.

Spec: https://tc39.github.io/ecma262/#sec-string.prototype.startswith

Bug: v8:8400
Change-Id: I51aff0b3a4126c17ab4f89763019fd7e4ba665d9
Reviewed-on: https://chromium-review.googlesource.com/c/1361340
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59355}
2019-02-05 08:13:37 +00:00
Tamer Tas
1358917e51 [test] remove duplicated test262 tests
Test262 has a couple of duplicated test files with the identical inside both
"test262/data/test" and "test262/local-tests/test".

Testrunner used to deduplicate the tests, which masked this issue.

This CL removes the obsolete copies in the local-tests.

R=adamk@chromium.org,yangguo@chromium.org,machenbach@chromium.org

Bug: v8:8174,v8:8728
Change-Id: Iecdc40b417f237feb916f1c3a24f8def7ea11fad
Reviewed-on: https://chromium-review.googlesource.com/c/1452436
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59354}
2019-02-05 06:41:17 +00:00
v8-ci-autoroll-builder
b4eba5a29a Update V8 DEPS.
Rolling v8/build: ed3546e..09cca07

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/8af4b4b..02bb14c

Rolling v8/third_party/depot_tools: a1fbdff..367af22

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

Change-Id: Ic46e94886b9181daa5abd9aea4deb04aab5dd390
Reviewed-on: https://chromium-review.googlesource.com/c/1453182
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@{#59353}
2019-02-05 03:59:07 +00:00
Sven Sauleau
764815811d [wasm] remove [[HasProperty]] in memory/constructor when threads
Remove the call to [[HasProperty]] for the shared property when threads
feature is enabled.

Bug: v8:8782
Change-Id: I492ed3726ea846a1a52dc3a0e0a183d9ee506e96
Reviewed-on: https://chromium-review.googlesource.com/c/1451826
Reviewed-by: Ben Smith <binji@chromium.org>
Commit-Queue: Sven Sauleau <ssauleau@igalia.com>
Cr-Commit-Position: refs/heads/master@{#59352}
2019-02-04 19:48:27 +00:00
Junliang Yan
ddf72e4b5c PPC: Use aligned buffer for wasm serialization
Fix unaligned memory access error inconstant
pool access during relocation.

Change-Id: I960b59b226cc5f212fff4565b2c7694364f2cb54
Reviewed-on: https://chromium-review.googlesource.com/c/1452357
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59351}
2019-02-04 18:43:41 +00:00
Yang Guo
750a6f72fc Revert "[node] accept multiple --extra-gn-args"
This reverts commit 91344c5f65.

The original commit seems to cause some issues.

TBR=machenbach@chromium.org

Change-Id: I2ee3f635ad8c2edd78c4c645c075c4153fb8a8ee
Reviewed-on: https://chromium-review.googlesource.com/c/1452440
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59350}
2019-02-04 17:02:10 +00:00
Clemens Hammacher
b2610249d1 [wasm] Temporarily disable code logging
See referenced bug. This is currently broken and blocks the roll. The
CL cannot easily be reverted, so I disable code logging for now while
working on a fix.

R=herhut@chromium.org, sigurds@chromium.org

Bug: v8:8783
Change-Id: I222981313535cadd1ddc345bdf56dfabfc328c82
Reviewed-on: https://chromium-review.googlesource.com/c/1452437
Reviewed-by: Stephan Herhut <herhut@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59349}
2019-02-04 16:41:09 +00:00
Maciej Goszczycki
bd17b097a8 [heap] Move and clarify TODO on RO_SPACE
Bug: v8:7464
Change-Id: I1b33bfff02ccd1ae19f0525e8ab0f8bfe69abe17
Reviewed-on: https://chromium-review.googlesource.com/c/1451933
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Cr-Commit-Position: refs/heads/master@{#59348}
2019-02-04 16:34:39 +00:00
Toon Verwaest
73dd9b5527 [utf8] Rewrite NewStringFromUtf8 using Utf8::ValueOfIncremental
This is 3-4x faster than using the Utf8Decoder. This matters for proper
parse-time measurements using d8.

Change-Id: I9870e9fbe400ec022a6eeb20491c80a2a32f8519
Reviewed-on: https://chromium-review.googlesource.com/c/1451827
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59347}
2019-02-04 16:08:19 +00:00
Clemens Hammacher
d8ca31ab78 [wasm] Remove redundant CompilationStateImpl::Abort
Merge {Abort} into {AbortCompilation}.

R=ahaas@chromium.org

Bug: v8:8689
Change-Id: I091a298b1195d145fc21d2afb9d9cc9c57925f95
Reviewed-on: https://chromium-review.googlesource.com/c/1451821
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59346}
2019-02-04 15:35:09 +00:00
Michael Achenbach
81a62c8cb6 [jitless] Skip crashing tests on native arm
TBR=jgruber@chromium.org
NOTRY=true

Bug: v8:7777
Change-Id: I5006aee897fe0d0705e7265e714ec200e13370b1
Reviewed-on: https://chromium-review.googlesource.com/c/1451890
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59345}
2019-02-04 15:15:12 +00:00
Sigurd Schneider
ac42dc4ff7 [turbofan] Handle StoreMessage in load elimination
This CL adds handling for Load/StoreMessage to LoadElimination. It is
handled like a Load/StoreField to an external location.

Change-Id: I50f27fba9cb7ffabf1474aa409083676cef65442
Bug: v8:8183, chromium:927746
Reviewed-on: https://chromium-review.googlesource.com/c/1451879
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59344}
2019-02-04 15:07:30 +00:00
Clemens Hammacher
08c65e8838 [wasm] Store thread counts in int instead of size_t
The flag value and {Platform::NumberOfWorkerThreads()} are already int,
and we do not expect to spawn more than 2 billion threads any time soon.

R=titzer@chromium.org

Bug: v8:8562
Change-Id: I9c23ae1b5b9e9daab3fdb072bf98f48ea2b3f240
Reviewed-on: https://chromium-review.googlesource.com/c/1451887
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59343}
2019-02-04 14:48:28 +00:00
Clemens Hammacher
e858760677 Revert "[wasm] Turn deferred handles into global handles"
This reverts commit 8a91484619.

Reason for revert: Seems to cause layout test failures: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%2520Mac/16246

Original change's description:
> [wasm] Turn deferred handles into global handles
> 
> Each instance of {DeferredHandles} only stores a single handle anyway,
> so turning them into global handles saves memory.
> 
> R=​ahaas@chromium.org
> 
> Bug: v8:7921, v8:8423
> Change-Id: I75e0cc6ecb6d0337f1695e6bfd4b5fdcb8a2039c
> Reviewed-on: https://chromium-review.googlesource.com/c/1402715
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59331}

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

Change-Id: I8996fd22702b5dd0485e59b54989788596293a1f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7921, v8:8423
Reviewed-on: https://chromium-review.googlesource.com/c/1451888
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59342}
2019-02-04 14:28:30 +00:00
Clemens Hammacher
ce6b350a4f [wasm] No foreground tasks in compilation state
This removes the last creation of foreground tasks in the compilation
state. I think this logic can be removed completely, because
a) the number of background tasks is already capped at {max(1,
   FLAG_wasm_num_compilation_tasks)}, and
b) in order to get predictable timing you can use the --predictable
   flag which makes all background tasks execute synchronously with
   foreground tasks (from the same queue).

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

Bug: v8:8050, v8:8689
Change-Id: I142af6b42f9bb9befc7c7b7d6002192d72bd7677
Reviewed-on: https://chromium-review.googlesource.com/c/1451841
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59341}
2019-02-04 14:26:58 +00:00
Georg Neis
8a5c06747f [turbofan] Don't expect presence of feedback vector.
...except for the initial function.

Bug: v8:7790, chromium:928202
Change-Id: I220e13d148525734d866f8aaf0c7ef8cbeccbcb2
Reviewed-on: https://chromium-review.googlesource.com/c/1451825
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59340}
2019-02-04 14:08:18 +00:00
Clemens Hammacher
d758e2b049 [wasm] Pass async counters to compilation state
The counters are the last use of the Isolate. Remove it by passing in
the counters in a shared_ptr. This way, we can also refactor the
counters later to be per engine or per process.
In a follow-up CL, we can then remove the Isolate, the foreground task
runner and the cancellable task manager from the compilation state.

R=mstarzinger@chromium.org

Bug: v8:8689, v8:8050
Change-Id: I66b4fab77f770cb8a5463244054b428eef1b7c61
Reviewed-on: https://chromium-review.googlesource.com/c/1451922
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59339}
2019-02-04 13:42:38 +00:00
Tobias Tebbi
7d0bd08854 [torque] improve VSCode syntax highlighting more
- fix highliting of extends clause in types
- label constants as constants

Change-Id: Iad1682a5c294dc1999067f4e43feb4aada7e1ced
Reviewed-on: https://chromium-review.googlesource.com/c/1451924
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59338}
2019-02-04 13:25:58 +00:00
peterwmwong
bf9a7c524c [builtins] Port TypedArrayInitialize to Torque
The parts that deal with allocating on heap buffers and typed array elements
(FixedTypedArrayBase) remain in CSA, as it is assumed to eventually be expressed
with Torque classes.

This reduces overall builtins size by 508 bytes (Mac x64.release)
  - TypedArrayInitialize 2332 -> 1824

Bug: v8:7161
Change-Id: I5d0648b4dd79a687f77d6f4b01b236f4a0508c54
Reviewed-on: https://chromium-review.googlesource.com/c/1445215
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Cr-Commit-Position: refs/heads/master@{#59337}
2019-02-04 12:56:48 +00:00
Georg Neis
9eba56162f [turbofan] Use StdoutStream instead of std::cout in broker/serializer.
Bug: v8:7790
Change-Id: I25e41548c526e93c5b0a532ca2d270b62193a557
Reviewed-on: https://chromium-review.googlesource.com/c/1448315
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59336}
2019-02-04 12:52:08 +00:00
Clemens Hammacher
46cc15b190 [wasm] Do not cache {should_log_code} in compilation state
The compilation state is isolate-independent, so it should not cache
the isolate-specific {should_log_code} flag.
Instead, we log via the WasmEngine every time. If this turns out to be
too expensive, we should introduce an atomic flag in the WasmEngine.

R=mstarzinger@chromium.org

Bug: v8:8050
Change-Id: I913ada4f86af4c6fa9cd9c5adc8d4e250f6eb7f1
Reviewed-on: https://chromium-review.googlesource.com/c/1451820
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59335}
2019-02-04 12:18:33 +00:00
cjihrig
b364ceb10c Update postmortem metadata generation script
This commit updates gen-postmortem-metadata.py to re-export
the v8dbg_class_JSFunction__shared__SharedFunctionInfo
constant.

See: https://github.com/nodejs/node/pull/25852
Change-Id: I60f39c96f3f22d6f10ec38b0af3c975908c7b7f2
Reviewed-on: https://chromium-review.googlesource.com/c/1450144
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59334}
2019-02-04 12:17:28 +00:00
Michael Achenbach
4dca523b09 [foozzie] Remove obsolete asm comparison
NOTRY=true

Change-Id: I71c5fbfbb58cd13613506acabf446d9cffc6d23b
Reviewed-on: https://chromium-review.googlesource.com/c/1451837
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59333}
2019-02-04 12:05:13 +00:00
Michael Achenbach
b7b43b7dc0 [test] Run jitless on all bots
Bug: v8:8778
Change-Id: I384ad4387743d534a79ebad03130e8a688cc4631
Reviewed-on: https://chromium-review.googlesource.com/c/1449691
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59332}
2019-02-04 12:04:08 +00:00
Clemens Hammacher
8a91484619 [wasm] Turn deferred handles into global handles
Each instance of {DeferredHandles} only stores a single handle anyway,
so turning them into global handles saves memory.

R=ahaas@chromium.org

Bug: v8:7921, v8:8423
Change-Id: I75e0cc6ecb6d0337f1695e6bfd4b5fdcb8a2039c
Reviewed-on: https://chromium-review.googlesource.com/c/1402715
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59331}
2019-02-04 11:32:59 +00:00
Ross McIlroy
6f5e805284 [Cleanup] Delete deprecated FunctionTemplate::GetFunction API.
BUG=v8:7295,v8:8562

Change-Id: Ifa02ba233967ba38d4ff43576de77738001d076a
Reviewed-on: https://chromium-review.googlesource.com/c/1450115
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59330}
2019-02-04 10:58:48 +00:00
Takuto Ikuta
bddc6aa556 Reland "Reland "Extract JSObject class from objects.cc""
This is a reland of 83908b865b

Fix: check V8_INTL_SUPPORT macro in js-objects.cc

Original change's description:
> Reland "Extract JSObject class from objects.cc"
>
> This is a reland of b8c821f4e2
>
> Fix: include src/string-stream.h for compile failure
> https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20builder/39320
>
> Original change's description:
> > Extract JSObject class from objects.cc
> >
> > I extracted following class member functions to js-objects.cc
> > * JSReceiver
> > * JSObject
> > * JSBoundFunction
> > * JSFunction
> > * JSGlobalObject
> > * JSDate
> > * JSMessageObject
> >
> > Declaration of all above class are in js-objects.h.
> >
> > I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
> > and ShouldConvertToSlowElements used in JSObject and JSArray
> >
> > This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
> > And js-objects.cc takes 8.69s for compile.
> >
> > Bug: v8:7629
> > Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
> > Reviewed-on: https://chromium-review.googlesource.com/c/1447916
> > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> > Reviewed-by: Marja Hölttä <marja@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#59288}
>
> Bug: v8:7629
> Bug: v8:8562
> Change-Id: Iac2227c5f0c5a4072d16814ecae481fb4720e4f5
> Reviewed-on: https://chromium-review.googlesource.com/c/1449951
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59318}

Bug: v8:7629, v8:8562
Change-Id: If8870bd579d8597d08981a83492f60595e081a65
Reviewed-on: https://chromium-review.googlesource.com/c/1452097
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59329}
2019-02-04 10:53:56 +00:00
Clemens Hammacher
ac73e1d52b Reland "[test] Check for illegal uses of mjsunit methods"
This is a reland of a9e93572d4

Original change's description:
> [test] Check for illegal uses of mjsunit methods
> 
> The assertThrows and assertDoesNotThrow methods expect either a
> function to execute, or a string to eval. In several tests however we
> accidentally passed the *result* of the statement to be tested instead
> of the code.
> This CL adds check to catch such error early, and removes wrong uses.
> In most places, we do not need to use assertDoesNotThrow anyway,
> because exceptions are handled as test failures.
> 
> Drive-by: Unify catch syntax in mjsunit.js and make sure to propagate
> MjsUnitAssertionErrors correctly.
> 
> R=mathias@chromium.org
> 
> Bug: v8:8562
> Change-Id: I88894a667cbe0570774f748a9a23e8a527887a49
> Reviewed-on: https://chromium-review.googlesource.com/c/1439238
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59277}

Bug: v8:8562
Change-Id: I3b26935f7b35302d499266155273ea271bf8151d
Reviewed-on: https://chromium-review.googlesource.com/c/1449792
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59328}
2019-02-04 10:45:18 +00:00
Clemens Hammacher
5fc71d7b40 [test] Skip flaky test
R=mstarzinger@chromium.org

Bug: v8:8781
Change-Id: I6982170a3e4c31a6d39e6368b7a3163dbb08cee7
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1451917
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59327}
2019-02-04 10:26:28 +00:00
Michael Achenbach
8981735e8b [foozzie] Add more stress experiments
NOTRY=true

Bug: v8:8278
Change-Id: I0f6c5ca3766ce6a9ffa2a97082b875b2a3fb357f
Reviewed-on: https://chromium-review.googlesource.com/c/1450122
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59326}
2019-02-04 10:21:13 +00:00
Jakob Gruber
8de3a2ca44 Reland "[nojit] Check that --jitless is disabled when creating wasm code"
This is a reland of 0befa6d4c3

Original change's description:
> [nojit] Check that --jitless is disabled when creating wasm code
>
> Drive-by: Amend wasm test skips for lite mode.
>
> Bug: v8:7777
> Change-Id: I23e13b65e548c19d6b24a26e0b962a9978f54ed7
> Reviewed-on: https://chromium-review.googlesource.com/c/1449616
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59314}

Tbr: mstarzinger@chromium.org
Bug: v8:7777
Change-Id: I0a076b36bb2e69b612df89b0f35067f299f27a7e
Reviewed-on: https://chromium-review.googlesource.com/c/1451819
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59325}
2019-02-04 10:20:08 +00:00
Takuto Ikuta
9023013f64 Revert "Reland "Extract JSObject class from objects.cc""
This reverts commit 83908b865b.

Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20noi18n%20-%20debug/25074

Original change's description:
> Reland "Extract JSObject class from objects.cc"
> 
> This is a reland of b8c821f4e2
> 
> Fix: include src/string-stream.h for compile failure
> https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20builder/39320
> 
> Original change's description:
> > Extract JSObject class from objects.cc
> >
> > I extracted following class member functions to js-objects.cc
> > * JSReceiver
> > * JSObject
> > * JSBoundFunction
> > * JSFunction
> > * JSGlobalObject
> > * JSDate
> > * JSMessageObject
> >
> > Declaration of all above class are in js-objects.h.
> >
> > I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
> > and ShouldConvertToSlowElements used in JSObject and JSArray
> >
> > This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
> > And js-objects.cc takes 8.69s for compile.
> >
> > Bug: v8:7629
> > Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
> > Reviewed-on: https://chromium-review.googlesource.com/c/1447916
> > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> > Reviewed-by: Marja Hölttä <marja@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#59288}
> 
> Bug: v8:7629
> Bug: v8:8562
> Change-Id: Iac2227c5f0c5a4072d16814ecae481fb4720e4f5
> Reviewed-on: https://chromium-review.googlesource.com/c/1449951
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#59318}

TBR=marja@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,tikuta@chromium.org

Change-Id: I3260edecb1434bbf9c25d89c9f9a8af02d106855
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7629, v8:8562
Reviewed-on: https://chromium-review.googlesource.com/c/1452096
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59324}
2019-02-04 10:05:10 +00:00
Clemens Hammacher
bb2ee0468c [isolate] Introduce SaveAndSwitchContext
The most common use of {SaveContext} is to allocate this object, then
immediately set the context of the isolate to another Context. Thus
introduce a second class called "SaveAndSwitchContext" which implements
exactly that.

R=mstarzinger@chromium.org

Bug: v8:8562
Change-Id: I2fca1eadd909a7afe035316ded934624273f2e21
Reviewed-on: https://chromium-review.googlesource.com/c/1448319
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59323}
2019-02-04 09:44:18 +00:00
Sigurd Schneider
40633b4f48 [tools] Also count input bytes in tools/locs.py
As Marja suggested, this CL changes tools/locs.py in such a way that
it also counts the bytes in the input file and the output file.

Example output now looks similar to this:

Processed 1,526 files in 24.58 sec.
gen         (   31 files):    94,507 LoC (  4,972 kB) to    2,839,311 LoC (183,777 kB) (   30x)
src         (  630 files):   371,499 LoC ( 14,743 kB) to   53,707,841 LoC (  3,155 MB) (  145x)
test        (  381 files):   492,861 LoC ( 25,372 kB) to   36,885,988 LoC (  2,194 MB) (   75x)
third_party (  433 files):   239,155 LoC (  8,683 kB) to    9,713,872 LoC (412,829 kB) (   41x)
total       ( 1526 files): 1,212,675 LoC ( 54,242 kB) to  104,133,982 LoC (  5,973 MB) (   86x)


Change-Id: I1ff5e752ee3a96d388a4393c2592aec68f834000
Notry: true
Reviewed-on: https://chromium-review.googlesource.com/c/1450113
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59322}
2019-02-04 09:34:28 +00:00
Daniel Clifford
a177078acd [torque] Support non-tagged fields in classes
In the process add missing base	Torque functionality for 8-bit and
16-bit integers and Cast<> operators to make them easy to use.

As a poster child, port the field declarations of SharedFunctionInfo
to the class definition in base.tq.

As a drive by: Add the missing GN dependency on
class-definitions-from-dsl.h

Bug: v8:7793
Change-Id: I76a41c2e81ffd1cbb90ac7a4ef8d4003ac86e8dc
Reviewed-on: https://chromium-review.googlesource.com/c/1445882
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59321}
2019-02-04 09:32:59 +00:00