Commit Graph

52609 Commits

Author SHA1 Message Date
Yang Guo
4233ec0f61 Add test case for RO-space string used as property key.
R=delphick@chromium.org, jgruber@chromium.org

Bug: chromium:911416
Change-Id: Ib23ba11f3219fde183b4b9b352b13564b6e9e1e2
Reviewed-on: https://chromium-review.googlesource.com/c/1362952
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58117}
2018-12-10 08:55:45 +00:00
Mathias Bynens
92db073fce [parser] Improve error message for unclosed function bodies
This patch changes the output from:

  function fn() {
                ^
  SyntaxError: Unexpected end of input

to:

  function fn() {
                ^
  SyntaxError: missing '}' after function body

Bug: v8:6513, v8:7321
Change-Id: I4ca8a40fa0be246da2a3ff776b3fb3c87b4ba4e0
Also-By: gsathya@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/1367448
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58116}
2018-12-10 08:15:57 +00:00
v8-ci-autoroll-builder
f3cfbd35f3 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c017b42..e09a3df

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

Change-Id: I065c6b38f01a05c9faeb27776a893bb9dee07740
Reviewed-on: https://chromium-review.googlesource.com/c/1369334
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@{#58115}
2018-12-10 03:32:20 +00:00
Daniel Clifford
8a5ab573fc [torque] Simplify Convert<>
Bug: v8:7793
Change-Id: I31cae67edfce6a0ba925df34d496d3d62bc7d5ef
Reviewed-on: https://chromium-review.googlesource.com/c/1358519
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58114}
2018-12-09 22:21:44 +00:00
v8-ci-autoroll-builder
e98c72a1a6 Update V8 DEPS.
Rolling v8/build: 70dc33c..6fd29b2

Rolling v8/test/wasm-js/data: 89ae39c..4408f60

Rolling v8/third_party/depot_tools: 4be60ee..03ee2d6

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

Change-Id: I204383a4f19ff008c8c213128ce561e7f0acc3fc
Reviewed-on: https://chromium-review.googlesource.com/c/1369092
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@{#58113}
2018-12-09 03:47:43 +00:00
Jakob Kummerow
cfb5bb726f [ubsan] Port JSReceiver and subclasses to the new design
Bug: v8:3770
Change-Id: I1d74ffe9e5478b4b8bc0acbf088d20919d458d50
Reviewed-on: https://chromium-review.googlesource.com/c/1363822
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58112}
2018-12-08 04:05:50 +00:00
v8-ci-autoroll-builder
63636d6bbe Update V8 DEPS.
Rolling v8/build: 9e9ea82..70dc33c

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5d7bcad..c017b42

Rolling v8/third_party/depot_tools: f94f910..4be60ee

Rolling v8/tools/clang: f6641a3..1bc365f

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

Change-Id: Ia24ad0df626f9b89d7f93a6f9e27b47cf13439a6
Reviewed-on: https://chromium-review.googlesource.com/c/1369088
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@{#58111}
2018-12-08 03:33:04 +00:00
Alexei Filippov
c198a9b497 [inspector] Move m_internalObjects into InspectedContext.
That should prevent leak of objects when page is reloaded.

BUG=chromium:906847

Change-Id: I90928a5c4979c0ddc01c201bf60a693e2b03863a
Reviewed-on: https://chromium-review.googlesource.com/c/1366449
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58110}
2018-12-08 00:05:01 +00:00
Vasili Skurydzin
6275e7e2ee Aix: Fix UTC time offset calculation with --no-icu-timezone-data flag
Change-Id: I3b504d7d22da475b317f5877bc0a5a642017754f
Reviewed-on: https://chromium-review.googlesource.com/c/1363531
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58109}
2018-12-07 20:37:27 +00:00
Clemens Hammacher
62d3ea840c [wasm] Avoid accidentally creating two foreground tasks
If we create a second foreground task, only the second one will be
registered with the AsyncCompileJob, so the first one will not be
cancelled, which can lead to use-after-free of the AsyncCompileJob.
In a debug build, a DCHECK will fail when creating the second
foreground task.

R=ahaas@chromium.org

Bug: chromium:907937, chromium:910920
Change-Id: Iefefc4a85e7b35b32051cfe8cd5cbbfc4e95b843
Reviewed-on: https://chromium-review.googlesource.com/c/1367684
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58108}
2018-12-07 17:31:17 +00:00
Mythri
e2ebe35052 Update more bytecode handlers to work without feedback vectors
Updates the following bytecode handlers to handle cases when feedback
vector is not allocated:
StaDataPropertyLiteral
CreateRegExpLiteral
CreateArrayLiteral
EmptyArrayLiteral
CreateObjectLiteral
GetTemplateObject
ForInPrepare
ForInNext


Bug: v8:8394
Change-Id: I854cca8dd69539f7e8a17dd8eddb0f9f6d42f762
Reviewed-on: https://chromium-review.googlesource.com/c/1362992
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58107}
2018-12-07 17:14:57 +00:00
Daniel Clifford
9362fa9478 [builtins] Port Frame-related CSA functionality to Torque
Moving Frame-inspection functionality to Torque is a prerequisite
for porting the CSA-based arguments code, which is a great candidate
to simplify/cleanup with Torque.

Change-Id: I1f4cb94cb357aae5864c2e84f3bf5a07549b27f8
Reviewed-on: https://chromium-review.googlesource.com/c/1357050
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58106}
2018-12-07 17:13:43 +00:00
Igor Sheludko
03ea675422 [cleanup] Ignore no_regs in AreAliased()
in order to make it also work with optional registers.

Bug: v8:8562
Change-Id: Iaea905913cc9fd1637026b83e9356c740965e128
Reviewed-on: https://chromium-review.googlesource.com/c/1367807
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58105}
2018-12-07 17:06:23 +00:00
Junliang Yan
d79762a8ed PPC/s390: [nojit] Consistently use DCHECKs in CallApi helper
Port 8c7a29b201

Original Commit Message:

    This addresses follow-up comments to https://crrev.com/c/1354887/.

    Use DCHECKs instead of CHECKs and make the branch order consistent
    across architectures.

R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ic974e31905e15d91efae026837095693f0c01b66
Reviewed-on: https://chromium-review.googlesource.com/c/1365681
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58104}
2018-12-07 17:04:28 +00:00
Marja Hölttä
b090d7e746 [objects.h splitting] Move DescriptorArray leftovers out of objects-inl.h
BUG=v8:5402,v8:8238

Change-Id: I61afd09ecd80dba4fbb89e3ae4b71fca1138cec2
Reviewed-on: https://chromium-review.googlesource.com/c/1367449
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58103}
2018-12-07 16:42:09 +00:00
Clemens Hammacher
9efb53db20 Revert "[wasm] Support encoding s128 simd types in exceptions."
This reverts commit 9c2c8f15f8.

Reason for revert: New test crashes: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux/28948

Original change's description:
> [wasm] Support encoding s128 simd types in exceptions.
> 
> This adds support for having simd type values (i.e. s128) stored in an
> exception. It is the natural combination of the simd propsal and the
> exception handling proposal.
> 
> R=​clemensh@chromium.org
> TEST=mjsunit/wasm/exceptions-simd
> BUG=v8:8390
> 
> Change-Id: I01079f82a6ba4d9152de4dae63e3db1584ca7cd8
> Reviewed-on: https://chromium-review.googlesource.com/c/1363141
> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58098}

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

Change-Id: Iedcfba36af925249131a2b0e9aebd92321ae72f5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8390
Reviewed-on: https://chromium-review.googlesource.com/c/1367808
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58102}
2018-12-07 15:58:02 +00:00
Jakob Gruber
24e766168b Reland "[nojit] Remove code stubs"
This is a reland of f849396c3a

Original change's description:
> [nojit] Remove code stubs
>
> All stubs have been migrated to builtins. This CL removes most related
> code.
>
> Bug: v8:7777, v8:5784
> Change-Id: I4470cfef34788e6c8e0fd5fd09e40e250d088dad
> Reviewed-on: https://chromium-review.googlesource.com/c/1365284
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58093}

Tbr: mstarzinger@chromium.org,yangguo@chromium.org,jkummerow@chromium.org,bmeurer@chromium.org
Bug: v8:7777, v8:5784
Change-Id: I005ee2a820d49a75a90481d262a310e4ccfd1391
Reviewed-on: https://chromium-review.googlesource.com/c/1367746
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58101}
2018-12-07 15:46:17 +00:00
Michael Achenbach
c99604d98c [release] Merge ChangeLog back to master
This makes the roll branch diffs smaller again.

TBR=hablich@chromium.org
NOTRY=true

Bug: v8:8546
Change-Id: Ic5223593dfe086c61119bd82bfd51075160aab85
Reviewed-on: https://chromium-review.googlesource.com/c/1367749
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58100}
2018-12-07 15:41:59 +00:00
Clemens Hammacher
e42b547b96 [wasm] Serialize without accessing any Isolate
We need to be able to serialize a NativeModule, which is not bound to
any Isolate. Hence we should not want to pass any Isolate to the
serializer. This CL removes the dependence by not using the
ExternalReferenceTable from the Isolate, but instead using its own
ExternalReferenceList for serialization and deserialization. This
ExternalReferenceList only contains isolate-independent external
references.

R=mstarzinger@chromium.org

Bug: chromium:912043, chromium:912031
Change-Id: Iea5abd95dce9c54e618255cc577b6b43f002ac5d
Reviewed-on: https://chromium-review.googlesource.com/c/1363135
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58099}
2018-12-07 15:32:15 +00:00
Michael Starzinger
9c2c8f15f8 [wasm] Support encoding s128 simd types in exceptions.
This adds support for having simd type values (i.e. s128) stored in an
exception. It is the natural combination of the simd propsal and the
exception handling proposal.

R=clemensh@chromium.org
TEST=mjsunit/wasm/exceptions-simd
BUG=v8:8390

Change-Id: I01079f82a6ba4d9152de4dae63e3db1584ca7cd8
Reviewed-on: https://chromium-review.googlesource.com/c/1363141
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58098}
2018-12-07 15:10:35 +00:00
Junliang Yan
2713a83bbf PPC/s390: [nojit] Migrate DirectCEntryStub to a builtin
Port bec0234f4b

Original Commit Message:

    been converted to builtins themselves and are thus immovable.

R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: I5e08b7a894ab72647028735521d7851b15ef5f12
Reviewed-on: https://chromium-review.googlesource.com/c/1363566
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58097}
2018-12-07 15:03:45 +00:00
Yuki Shiino
134c67ef8a Make Isolate::GetIncumbentContext() work well with MSan
https://crrev.com/c/1343709 fixed GetIncumbentContext to work
with ASan, however, GetIncumbentContext didn't work well with
MSan because MSan uses a simulator which supports yet another
separate stack frame.

This patch fixes GetIncumbentContext so that it works well
with not only ASan but also MSan simply following the same way
as v8::TryCatch does.

i::GetCurrentStackPosition() solves the issue of ASan and
SafeStack (native but separate stack frame), and
i::SimulatorStack solves the issue of MSan (simulator stack
frame).

Bug: chromium:888867, chromium:866610
Change-Id: Id803cbfd17fb1b1d9b8ee34c4802768f3a2f8e79
Reviewed-on: https://chromium-review.googlesource.com/c/1356691
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58096}
2018-12-07 14:52:25 +00:00
Jakob Gruber
05100848ba Revert "[nojit] Remove code stubs"
This reverts commit f849396c3a.

Reason for revert: arm64: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/24229

Original change's description:
> [nojit] Remove code stubs
> 
> All stubs have been migrated to builtins. This CL removes most related
> code.
> 
> Bug: v8:7777, v8:5784
> Change-Id: I4470cfef34788e6c8e0fd5fd09e40e250d088dad
> Reviewed-on: https://chromium-review.googlesource.com/c/1365284
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58093}

TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,bmeurer@chromium.org

Change-Id: I52c3abd3f4e5872fe26ed7e527a58b118e02b387
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7777, v8:5784
Reviewed-on: https://chromium-review.googlesource.com/c/1367804
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58095}
2018-12-07 13:54:22 +00:00
Michael Lippautz
72806449de [heap] Improve incremental steps on allocation
Allow a V8 step after doing an embedder step if there's time left. This
will speed up marking in certain situations.

Bug: chromium:909788, chromium:911053, chromium:843903
Change-Id: Ie15c30d5ce8443caf7217a834a120a19d0bb292b
Reviewed-on: https://chromium-review.googlesource.com/c/1367455
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58094}
2018-12-07 13:50:02 +00:00
Jakob Gruber
f849396c3a [nojit] Remove code stubs
All stubs have been migrated to builtins. This CL removes most related
code.

Bug: v8:7777, v8:5784
Change-Id: I4470cfef34788e6c8e0fd5fd09e40e250d088dad
Reviewed-on: https://chromium-review.googlesource.com/c/1365284
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58093}
2018-12-07 13:41:21 +00:00
Michael Achenbach
a3496f4afb [release] Force branch commit messages on upload
Gerrit seems to concatenate several commit messages on uploading branch
creation CLs. Now we pass the commit message of the branch commit to
the upload script to prevent this.

NOTRY=true

Bug: v8:8546
Change-Id: Ia4673261aad2f40bcda4384889a0428039adae74
Reviewed-on: https://chromium-review.googlesource.com/c/1367454
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58092}
2018-12-07 13:19:02 +00:00
Igor Sheludko
8799f78080 [ptr-compr] Use FullObjectSlot for off-heap slots
(mostly for roots, handles and stack locations).
Thi CL also changes RootVisitor interface to use FullObjectSlots instead of
ObjectSlots.

Bug: v8:8518
Change-Id: I217c7ae176387a8c64f4754e62339727bdb36018
Reviewed-on: https://chromium-review.googlesource.com/c/1366035
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58091}
2018-12-07 12:35:27 +00:00
Marja Hölttä
03788c0533 [Map::TransitionToDataProperty speed] Streamline TransitionsAccessor::IsMatchingMap
Should help the case where the single existing transition matches.

BUG=v8:8547

Change-Id: Ic459357a10311346499ea054447d6cc42352fc0d
Reviewed-on: https://chromium-review.googlesource.com/c/1363133
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58090}
2018-12-07 12:12:05 +00:00
Tamer Tas
190a44508a [test] Bump shards on slow bot
R=machenbach@chromium.org

Change-Id: Ib049f88cbbf72fd33b5a962f074ac98948d6ae1c
Reviewed-on: https://chromium-review.googlesource.com/c/1360631
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Tamer Tas <tmrts@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58089}
2018-12-07 11:04:52 +00:00
Jakob Gruber
b89d4249c0 [nojit] Migrate JSEntry variants to builtins
This migrates the JSEntryStub to three dedicated builtins:

JSEntry
JSConstructEntry
JSRunMicrotasksEntry

Drive-by: Tweaks to make the code isolate-independent (e.g. using the
correct macro assembler method to load and store external references
through the kRootRegister).
Drive-by: The context slot on x64/ia32 must be set up after
kRootRegister is initialized, so we first reserve the slot and later
load its value.
Drive-by: Update all remaining comments referencing JSEntryStub.

Bug: v8:7777
Change-Id: Ie3ba17ffb3bde6f18ec1d26d778b258719b2d4ef
Reviewed-on: https://chromium-review.googlesource.com/c/1365275
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58088}
2018-12-07 10:16:06 +00:00
Igor Sheludko
988269d5ec [cleanup] Fix kPointerSize usages in src/compiler/backend/
Bug: v8:8477, v8:8238
Change-Id: I8170911d27b605a5befe959af16212c870104a2b
Reviewed-on: https://chromium-review.googlesource.com/c/1366735
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58087}
2018-12-07 09:13:12 +00:00
Igor Sheludko
cdf004ada1 [cleanup] Fix kPointerSize usages in src/objects/, part 3
Bug: v8:8477, v8:8238
Change-Id: If776225f8949ba84fa17de333b4f14188c93a93d
Reviewed-on: https://chromium-review.googlesource.com/c/1366615
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58086}
2018-12-07 09:07:03 +00:00
Takuto Ikuta
c403c56171 [swarming] add swarming, isolated under tools/luci-go
This is preparation to switch swarming client.

Bug: chromium:894045, chromium:907585
Change-Id: I3cd5eec0ed8a81eefbac0061f0ee0eb38f5bfd7c
Reviewed-on: https://chromium-review.googlesource.com/c/1365212
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58085}
2018-12-07 08:52:53 +00:00
Mathias Bynens
2096094cea Remove bytecode expectations for do expressions
Now that `do` expressions have been removed [1], we should remove the
corresponding golden file as well.

[1]: 58988c6c63

Change-Id: I4a6908d4d53b2bce1d9f2d616c672b4caf15adac
Reviewed-on: https://chromium-review.googlesource.com/c/1365283
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58084}
2018-12-07 08:26:45 +00:00
Michael Achenbach
363c8fd231 Whitespace change to test bots
TBR=santa

Change-Id: Id624d0e64fcc1c8daf52a032cbb2daf12493e26d
Reviewed-on: https://chromium-review.googlesource.com/c/1367445
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58083}
2018-12-07 07:48:57 +00:00
Frank Tang
6355ca4559 [Intl] Remove flaky regress-8414.js
The removed tests should be later covered by v8:8556

Bug: v8:5751, v8:8556
Change-Id: Iea5450564ab4f85256f1aa76fb09d7e6704f9bd3
Reviewed-on: https://chromium-review.googlesource.com/c/1355634
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58082}
2018-12-07 07:05:49 +00:00
Frank Tang
a6d2fe4009 [Intl] Remove GetDefaultLocale
Simplified test for default locale under test/intl
Remove GetDefaultLocale from runtime
Move Intl::DefaultLocale from intl-object.h to
internal function inside intl-object.cc

Bug: v8:5751
Change-Id: I885abf30ff33d5213ee99c07ac1e92d3c5065d8b
Reviewed-on: https://chromium-review.googlesource.com/c/1358022
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58081}
2018-12-07 06:27:42 +00:00
v8-ci-autoroll-builder
29684ef04c Update V8 DEPS.
Rolling v8/build: 9fee3d5..9e9ea82

Rolling v8/buildtools: 04161ec..7d88270

Rolling v8/test/wasm-js/data: 76d26bb..89ae39c

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a8f4725..5d7bcad

Rolling v8/third_party/depot_tools: 9875e18..f94f910

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

Change-Id: I7825688d990209a62fb5aca120d96b1bf38c5c17
Reviewed-on: https://chromium-review.googlesource.com/c/1367127
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@{#58080}
2018-12-07 03:43:53 +00:00
Sathya Gunasekaran
cf47678b17 [test262] test262 roll
Bug: v8:7834
Change-Id: I2b1444eded3d2917bf67f5077f35daccdbbbb951
Reviewed-on: https://chromium-review.googlesource.com/c/1367125
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58079}
2018-12-07 02:09:33 +00:00
Sven Sauleau
0ad76c9709 Reland "[wasm] fix js-api interface"
This is a reland of 0e8f20d2ab

Original change's description:
> [wasm] fix js-api interface
> 
> Make sure WebAssembly's js-api exposes the correct attributes: writable,
> enumerable and configurable.
> 
> Bug: v8:8319
> Change-Id: I427533159d7975a42c0c5cb1babdc8a61f8198b5
> Reviewed-on: https://chromium-review.googlesource.com/c/1351002
> Commit-Queue: Adam Klein <adamk@chromium.org>
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Reviewed-by: Ben Smith <binji@chromium.org>
> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58053}

Bug: v8:8319
Change-Id: I2d0af568edab295ad8c01b64e588bbabf89bd251
Reviewed-on: https://chromium-review.googlesource.com/c/1365273
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58078}
2018-12-07 01:36:22 +00:00
Dmitry Gozman
4401ac4461 Revert "inspector: return [[StableObjectId]] as internal property"
This reverts commit d9fbfeb894.

Reason for revert: see bug.
Bug: 906847

Original change's description:
> inspector: return [[StableObjectId]] as internal property
> 
> This property might be useful for fast '===' check.
> 
> R=​dgozman@chromium.org,yangguo@chromium.org
> 
> Bug: none
> 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: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352
> Reviewed-on: https://chromium-review.googlesource.com/1226411
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56095}

TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org

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

Bug: none
Change-Id: I68c700b7b8fd0a015f099460c15665d74e4da183
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1363558
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58077}
2018-12-06 21:47:22 +00:00
Igor Sheludko
8ed4e17273 [ptr-compr] Don't use Code::cast for off-heap code objects
because attempt to decompress the off-heap map slot will fail.

Bug: v8:7703
Change-Id: Iad3884fb95ccb17b2992d190acb5914062a0e8f4
Reviewed-on: https://chromium-review.googlesource.com/c/1365286
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58076}
2018-12-06 19:50:06 +00:00
Igor Sheludko
8a321c5dae [ptr-compr] Use RelaxedLoad() in FullObjectSlot::contains_value()
to make TSAN happy.

Bug: v8:8518
Change-Id: I1c7291cc6035c7e88758d867cb74467c59e95ef1
No-Tree-Checks: true
Reviewed-on: https://chromium-review.googlesource.com/c/1365285
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58075}
2018-12-06 17:32:13 +00:00
Dan Elphick
c1ceee7d9e [heap] Force all RO_SPACE strings to be internalized
Since RO_SPACE strings cannot be written to after creation, they cannot
be internalized later. This adds checks to normal string construction
methods that they are not created with TENURED_READ_ONLY.

Also changes the Symbol construction in setup-heap-internal.cc to use
internalized strings, which increases the number of internalized
RO_SPACE strings from 490 to 514 (915 including OLD_SPACE).

Bug: chromium:911416
Change-Id: I222ff883e98f3a2f4ce70d369f22273f5c9edb0b
Reviewed-on: https://chromium-review.googlesource.com/c/1365279
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58074}
2018-12-06 15:32:37 +00:00
Igor Sheludko
ee485e2c98 [ptr-compr] Introduce MapWordSlot
which will require different handling for compressed pointers case.

Bug: v8:8518
Change-Id: I99cb103bad57b134ecb8d7dd7018cf16ed3d8f25
Reviewed-on: https://chromium-review.googlesource.com/c/1365272
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58073}
2018-12-06 15:25:38 +00:00
Ulan Degenbaev
b04632d581 [heap] Support concurrent marking of code objects.
The main change is about tracking typed slots locally in
each concurrent marking thread.

This generalizes the old LiveBytesMap to MemoryChunkData, which
now contains the live bytes and the typed slots.

With that in place it is straightforward to mark code concurrently.

Bug: v8:8459
Change-Id: I103fff0ad39beadea5151a1d8519f5d3c6602e58
Reviewed-on: https://chromium-review.googlesource.com/c/1337747
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58072}
2018-12-06 15:22:18 +00:00
Jaroslav Sevcik
67f3018510 [builtins] Shortcut for empty substrings.
There is no fast path for 0-length substrings, which implied runtime
calls for some of the trickier types of strings (such as non-flat
cons-strings). This made for a big performance gap between
String.p.slice and String.p.substring for those inputs.

This CL just adds the 0-length shortcut in CSA implementation
of SubString.

Here is an example where it makes difference:

  let s = "abcdefghijkalmnopqrst";
  let a = "";

  console.time("Substring");
  for (let i = 0; i < 100000; i++) {
    s += "0";
    a += s.substring(0, 0);
  }
  console.timeEnd("Substring");

Before this change:
> console.timeEnd: Substring, 640.308000

After this change:
> console.timeEnd: Substring, 13.242000

For completeness, here is the time for slice:
> console.timeEnd: Slice, 13.142000

This also recovers performance in the jsdom library, as
observed in https://github.com/jsdom/jsdom/issues/2350.

Bug: v8:6730
Change-Id: I7d2127e4506a86ec2a7ed378293476c3699dc47a
Reviewed-on: https://chromium-review.googlesource.com/c/1365282
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58071}
2018-12-06 14:53:04 +00:00
Mythri
84b9e927a7 Update construct bytecode handlers to work without feedback vectors
Bug: v8:8394
Change-Id: If9af9f3c79e442f6e384934e005ae5d82b0d358b
Reviewed-on: https://chromium-review.googlesource.com/c/1365277
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58070}
2018-12-06 13:32:27 +00:00
Jakob Gruber
d8b59fc60d [nojit] Fix debug-evaluate failure on noembed builds
Fixes https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20noembed%20-%20debug/781.
Failing since https://crrev.com/c/1360630.

Tbr: yangguo@chromium.org
Bug: v8:7777
Change-Id: Ia9adfa9340087dfcd74c966c40a54176081f6933
Reviewed-on: https://chromium-review.googlesource.com/c/1365276
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58069}
2018-12-06 11:37:08 +00:00
tzik
07011cc4f0 Replace %RunMicrotasks with %PerformMicrotaskCheckpoint
This replaces Runtime_RunMicrotasks with Runtime_PerformMicrotaskCheckpoint.

RunMicrotasks forcibly runs Microtasks even when the microtasks are suppressed,
and may causes nested Microtasks in a problematic way. E.g. that confuses
v8::MicrotasksScope::IsRunningMicrotasks() and GetEnteredOrMicrotaskContext().

OTOH, PerformMicrotaskCheckpoint() doesn't run cause the failure as it
respects the microtask suppressions.

As all existing tests don't call RunMicrotasks() in the suppressed situation
(like Promise.resolve().then(()=>{%RunMicrotasks();})), this change should
not affect to these tests.

Change-Id: Ib043a0cc8e482e022d375084d65ea98a6f54ef3d
Reviewed-on: https://chromium-review.googlesource.com/c/1360095
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58068}
2018-12-06 11:10:18 +00:00