Commit Graph

54123 Commits

Author SHA1 Message Date
Michael Lippautz
edef7f1341 [api,global-handle] Introduce TracedGlobal::SetFinalizationCallback
Introduce a way to set a custom finalization callback that can be used
to signal and set up destruction of embedder memory.

Bug: chromium:923361
Change-Id: Ifc62ebd534aba3b02511c74b59161ec3edc0ee0d
Reviewed-on: https://chromium-review.googlesource.com/c/1452447
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59381}
2019-02-05 21:46:07 +00:00
Junliang Yan
8408dbafc5 s390x: cleanup unused labels for s390x
R=joransiu@ca.ibm.com

Change-Id: I20d53b99ac65817b24b1b1f87bfec1910e21d37b
Reviewed-on: https://chromium-review.googlesource.com/c/1454264
Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59380}
2019-02-05 18:34:11 +00:00
Ulan Degenbaev
188926caff [heap] Fix GC counters to account for the new large object space.
This also fixes external string table update after scavenge and
the fast promotion mode.

Bug: chromium:852420
Change-Id: I5d2e1b585b8c74970047867aa587f928e116ed73
Reviewed-on: https://chromium-review.googlesource.com/c/1454604
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59379}
2019-02-05 18:25:51 +00:00
Maya Lekova
ec30cf47c7 Revert "[utf8] Rewrite NewStringFromUtf8 using Utf8::ValueOfIncremental"
This reverts commit 73dd9b5527.

Reason for revert: Broke telemetry layout tests - https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win7-rel/9936 as can be seen in this roll - https://chromium-review.googlesource.com/c/chromium/src/+/1454259

Original change's description:
> [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}

TBR=ulan@chromium.org,leszeks@chromium.org,verwaest@chromium.org

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

Change-Id: I3f8faebb61c19a41ee496a571228f53c0d5fc8dd
Reviewed-on: https://chromium-review.googlesource.com/c/1454495
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59378}
2019-02-05 17:08:17 +00:00
Ulan Degenbaev
85fcaff1b0 [heap] Support young large objects in concurrent marker.
The last allocated large object in the young generation is not
guaranteed to be initialized when the concurrent marker visits it.

This patch adds a mechanism for the concurrent marker to put such
objects on the on-hold worklist similar to how new space objects are
handled.

Bug: chromium:852420
Change-Id: I749e9a7f3dcee6f177f4d95980a4f693c0fd4b04
Reviewed-on: https://chromium-review.googlesource.com/c/1454916
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59377}
2019-02-05 17:06:38 +00:00
Farazmand
25d7023638 PPC: Updating kConstantPoolOffset to Match the variable defined in objects/code header file
Change-Id: I4ac61b2b1c9050b942028d07e78abf5fea1a9bbd
Reviewed-on: https://chromium-review.googlesource.com/c/1454837
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59376}
2019-02-05 16:34:37 +00:00
Z Duong Nguyen-Huu
2936e33cdb Bytecode expectation rebaseline autodiscovery should work on Window
Change-Id: Ie946870fc46aeeca36924f20dc82d4ea2a0c756f
Reviewed-on: https://chromium-review.googlesource.com/c/1446143
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#59375}
2019-02-05 16:33:33 +00:00
Junliang Yan
b44dbe7126 Cleanup unused dead labels and make Label dtor only available in DEBUG.
Change-Id: I59b14188682b5d8843a732aaebf1cc3a4403f7f8
Reviewed-on: https://chromium-review.googlesource.com/c/1454760
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59374}
2019-02-05 16:26:29 +00:00
Leszek Swirski
76f6495c5f [parser] Force func decl allocation for code coverage
Preserve coverage for unused functions by force marking them used when
code coverage is enabled.

Bug: chromium:927464
Change-Id: Ia973467d06f7268f4e98cc76d0bb98cc591e979c
Reviewed-on: https://chromium-review.googlesource.com/c/1454717
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59373}
2019-02-05 16:19:38 +00:00
Clemens Hammacher
fb89830271 [wasm] Fix data race in code logging
In chromium, the platform might delete the task before executing it
and before fully deregistering the Isolate.
In that case we need to deregister it from the WasmEngine to avoid a
data race or use-after-free.

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

Bug: v8:8783, chromium:928458
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Change-Id: Ie94e037f07fbe220505a5d8314b413f24c0990e1
Reviewed-on: https://chromium-review.googlesource.com/c/1454598
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59372}
2019-02-05 15:30:10 +00:00
Junliang Yan
e43668a570 PPC: Add ConstantPoolBuilder dtor to fix DCHECK error
When a failing compilation occur, constant pool may not be emitted but
linked (at the starting of code sequence). When CodeGenerator
destructor is called, Assembler, ConstantPoolBuilder destructor are
also called, which lead to calling the destructor of the emitted_label_,
and then DCHECK fails because it's linked.

Bug: v8:8785
Change-Id: I8926baa2fd7c16c462eef0c146d92ac7bf355396
Reviewed-on: https://chromium-review.googlesource.com/c/1452350
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#59371}
2019-02-05 15:29:05 +00:00
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