Commit Graph

53299 Commits

Author SHA1 Message Date
Fabrice de Gans-Riberi
f225a474bc Add support for different host/target platform in mksnapshot.
This Mac/Fuchsia build was broken as the generated assembly file must
follow Linux-style calling conventions.

Change-Id: I05d946e77690e97f05d57a3d5ba04cd2e63fbb9d
Reviewed-on: https://chromium-review.googlesource.com/c/1377230
Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58507}
2019-01-03 01:41:14 +00:00
Frank Tang
5182e1ad11 Revert "[Intl] Validate u extension type"
This reverts commit 8d0942499c.

Reason for revert: Cause Memory regression

TBR=gsathya@chromium.org

Original change's description:
> [Intl] Validate u extension type
>
> Fix intl402/*/ignore-invalid-unicode-ext-values
> Add tests for other valid/invalid -u- ext values.
>
> Bug: v8:7481
> Change-Id: I429effd071bb03599a1e767bb2a9e9918a91b850
> Reviewed-on: https://chromium-review.googlesource.com/c/1351307
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58173}

TBR=cira@chromium.org,jshin@chromium.org,gsathya@chromium.org,ftang@chromium.org

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

Bug: v8:7481
Change-Id: Idabf2183684f264271ebe2b8c0ca10ae8e30d811
Reviewed-on: https://chromium-review.googlesource.com/c/1393499
Reviewed-by: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58506}
2019-01-03 01:40:09 +00:00
Sathya Gunasekaran
707bfecad0 [dict] Fix printing of dicts
These are FixedArrays, not ObjectHashTable

Change-Id: I8f5a4d8c16bc0f566719815fbea6be51b6bd8ec5
Reviewed-on: https://chromium-review.googlesource.com/c/1387864
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58505}
2019-01-02 21:01:52 +00:00
Junliang Yan
4af9ec6a9d PPC/s390: Reland "[nojit] Remove code stubs"
Port 24e766168b

Original Commit Message:

    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}

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

Change-Id: Ie05463245c24975804a8bb7ffdf902c70e042127
Reviewed-on: https://chromium-review.googlesource.com/c/1393302
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58504}
2019-01-02 20:08:17 +00:00
Junliang Yan
65c11d3938 PPC/s390: [nojit] Migrate JSEntry variants to builtins
Port b89d4249c0

Original Commit Message:

    This migrates the JSEntryStub to three dedicated builtins:

    JSEntry
    JSConstructEntry
    JSRunMicrotasksEntry

    correct macro assembler method to load and store external references
    through the kRootRegister).
    kRootRegister is initialized, so we first reserve the slot and later
    load its value.

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

Change-Id: Ib84feca5e88d032307b5fab42377c56d074faf7f
Reviewed-on: https://chromium-review.googlesource.com/c/1393296
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58503}
2019-01-02 19:50:37 +00:00
Tobias Tebbi
554dcb70a8 [torque] infrastructore to inline macros in the IR
This CL doesn't change anything, but builds the infrastructure to inline
selected macros into the Torque IR.

Bug: v8:7793
Change-Id: Icdaa014633edfb314f9263c1a8ad84de4a9e9f97
Reviewed-on: https://chromium-review.googlesource.com/c/1392202
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Daniel Clifford <danno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58502}
2019-01-02 19:28:45 +00:00
Clemens Hammacher
224d87d77b [Liftoff][ia32] Clean up "half stack slot" accesses
Bring ia32 in line with the arm implemention. Instead of computing the
"half index" manually, pass the index and an enum pointing to either
half.

R=titzer@chromium.org

Bug: v8:6600
Change-Id: Ia3799a42fe2b9890aa4076d2e09947380331348e
Reviewed-on: https://chromium-review.googlesource.com/c/1391758
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58501}
2019-01-02 17:49:00 +00:00
Clemens Hammacher
088bdc00e4 Store TypeCache as pointer instead of reference
Apart from being more in-line with the style guide, this allows to use
DEFINE_LAZY_LEAKY_OBJECT_GETTER for defining {TypeCache::Get}.

R=tebbi@chromium.org

Bug: v8:8562
Change-Id: I016b28624950ce9404180fc1ca1a232551f75cd0
Reviewed-on: https://chromium-review.googlesource.com/c/1392201
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58500}
2019-01-02 17:13:39 +00:00
Junliang Yan
080416f091 PPC/s390: [nojit] Explicitly pass the root register value to JSEntry
Port f7f18b0f1e

Original Commit Message:

    In preparation for converting JSEntry into a builtin. The root register
    used to be initialized by an embedded external reference, which is not
    isolate-independent. Pass in its value explicitly instead.

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

Change-Id: I447c880c7f840a012e53870e28e2bd3bfa552040
Reviewed-on: https://chromium-review.googlesource.com/c/1393288
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58499}
2019-01-02 16:42:36 +00:00
Clemens Hammacher
a9468782ca Remove leaks in default page allocator
The first leak only happens if the default platform does not provide a
page allocator, which is never the case in d8. I am not sure why the
second leak was not detected so far. Anyway, this CL removes it.

R=tebbi@chromium.org

Change-Id: I215435f28a498298034e1657e7d2ebb8db8450c4
Reviewed-on: https://chromium-review.googlesource.com/c/1392197
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58498}
2019-01-02 14:40:11 +00:00
Georg Neis
d3d13e4bb1 [turbofan] Improve UpdateType debug output.
R=jarin@chromium.org

Bug: chromium:906567
Change-Id: Ic99c7a240ecb37c7b032b388f604d3f256d335b3
Reviewed-on: https://chromium-review.googlesource.com/c/1392196
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58497}
2019-01-02 14:38:01 +00:00
Vasili Skurydzin
fdc32cd222 s390x, ppc: Corrections to CallApiCallback calling convention
Related:
c6b0e12e4e [nojit] Refactor CallApiCallback calling convention
a31338aa08 PPC/s390: [nojit] Refactor CallApiCallback calling convention


Change-Id: I8f96c7b9a32ba3dde9dbbabb115d79fa36a0db46
Reviewed-on: https://chromium-review.googlesource.com/c/1380991
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58496}
2019-01-02 14:33:01 +00:00
Clemens Hammacher
45b1f8caaf [base] Simplify and extend VectorOf method
And use it in several places in wasm.

R=tebbi@chromium.org

Bug: v8:8562
Change-Id: I1e857baf33e99849eb32ac2c94e39d7f27b180c8
Reviewed-on: https://chromium-review.googlesource.com/c/1391757
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58495}
2019-01-02 14:20:30 +00:00
Clemens Hammacher
94ba6c6f40 Replace some LazyInstances by standard C++ methods
Introduce a LeakyObject template and use that to implement static
lazily initialized objects that never get destructed. This was done in a
hand-crafted and complex way before via LazyInstance and
LazyStaticInstance.

R=tebbi@chromium.org

Bug: v8:8600, v8:8562
Change-Id: Id160996753b2cb1baf0f4b2cec9e1727f1d01512
Reviewed-on: https://chromium-review.googlesource.com/c/1388539
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58494}
2019-01-02 12:49:18 +00:00
Clemens Hammacher
82e6f82a2c [gn] Update link to v8 blog
In the description of the `v8_use_snapshot` gn arg, we had a link to
the old location of our blog.

R=mathias@chromium.org

No-Try: true
Change-Id: Ib7d0ae21f3e109b4fae9ca51a1c69d07d42f9017
Reviewed-on: https://chromium-review.googlesource.com/c/1392191
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58493}
2019-01-02 10:29:47 +00:00
v8-ci-autoroll-builder
dbe0f450f7 Update V8 DEPS.
Rolling v8/build: ff33f8c..67f9fae

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/ecf56e8..16717a6

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

Change-Id: Ieadefe1fbbe9660eb3eb29e106cbcfee186b399d
Reviewed-on: https://chromium-review.googlesource.com/c/1392246
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@{#58492}
2019-01-02 03:39:50 +00:00
v8-ci-autoroll-builder
a950dff9bd Update V8 DEPS.
Rolling v8/build: 2d305f3..ff33f8c

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

Change-Id: I24f35fc87d77ab782fde87b73ef1f51fedb022d7
Reviewed-on: https://chromium-review.googlesource.com/c/1392242
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@{#58491}
2019-01-01 03:29:11 +00:00
peterwmwong
75ca843c5c [typedarray] Check for a detached buffer before each iteration of TypedArray.p.join.
Bug: chromium:917980
Change-Id: Ia9b68f492bb9f0769dc6ee1706baf8b09de49968
Reviewed-on: https://chromium-review.googlesource.com/c/1392070
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58490}
2018-12-31 18:27:51 +00:00
v8-ci-autoroll-builder
e16f4a939e Update V8 DEPS.
Rolling v8/build: 554d385..2d305f3

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

Change-Id: Ief238bdb2d76a8975191d0a156c7b86689eaf9a4
Reviewed-on: https://chromium-review.googlesource.com/c/1392238
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@{#58489}
2018-12-31 03:53:47 +00:00
v8-ci-autoroll-builder
442d570e9c Update V8 DEPS.
Rolling v8/build: be5ac65..554d385

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

Change-Id: I14a3264b66a0edfb1bc3ecb43d9926dcb8ae2d57
Reviewed-on: https://chromium-review.googlesource.com/c/1392236
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@{#58488}
2018-12-30 03:31:11 +00:00
v8-ci-autoroll-builder
231774ca7a Update V8 DEPS.
Rolling v8/build: 70cbac6..be5ac65

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a923c2a..ecf56e8

Rolling v8/tools/clang: 106695b..50670f1

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

Change-Id: I1f811941fe26b898ca2ca2ab5330c5d48c052953
Reviewed-on: https://chromium-review.googlesource.com/c/1392234
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@{#58487}
2018-12-29 03:44:01 +00:00
Clemens Hammacher
65da8bf06d [wasm] Inline Pop methods for performance
This improves validation time by 7-8% and Liftoff compilation time by
2-3% while increasing binary size by ~12kB.

R=mvstanton@chromium.org

Bug: v8:8423
Change-Id: I08961097fb61f4a218522138efe51a9165a7c62b
Reviewed-on: https://chromium-review.googlesource.com/c/1391748
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58486}
2018-12-28 09:29:53 +00:00
Deepti Gandluri
29c1c5d6ca [wasm] Validate prefixed opcode reads
Identify validation fails to read the index of prefixed opcodes, and not
continue to decode the next bytes.

Change-Id: I2c737af55615ba69ba0c5f5adf18a06c6cdb951a
Bug: chromium:905815
Reviewed-on: https://chromium-review.googlesource.com/c/1390927
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58485}
2018-12-28 07:07:11 +00:00
Ulan Degenbaev
7ca8acd0a5 [heap] Support fixed arrays with progress bar in the concurrent marker
Currently the concurrent marker visits any fixed array in one go
ignoring the progress bar and does not expect seeing black arrays
in the worklist. For this reason, if the main thread marker starts
visiting a large array with the progress bar, then it has to re-push
the array in the bailout worklist. So all subsequent visitations of
the array happen on the main thread.

This patch makes the progress bar thread-safe and allows the
concurrent marker to visit arrays in chunks.

Change-Id: I5e8867077ed2908b7f9c5d8bde34d0401f7fe446
Reviewed-on: https://chromium-review.googlesource.com/c/1385164
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58484}
2018-12-28 06:57:38 +00:00
v8-ci-autoroll-builder
f3cd638482 Update V8 DEPS.
Rolling v8/build: 7f37dc1..70cbac6

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

Change-Id: I977ef05a0473602d831afd15de9a298bff9fb0de
Reviewed-on: https://chromium-review.googlesource.com/c/1390931
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@{#58483}
2018-12-28 03:42:49 +00:00
Alexei Filippov
4eae3bb140 [inspector] Make InjectedScript::getProperties respect custom formatters
BUG=chromium:917136

Change-Id: I02696a3315c22b34705bbc48cddaeb9e6c59fa9f
Reviewed-on: https://chromium-review.googlesource.com/c/1391749
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58482}
2018-12-27 23:17:57 +00:00
Alexei Filippov
0d0f0c51c5 Revert "[inspector] Add extra debug code to investigate crbug/897816"
This reverts commit 0fbe27171e.

Reason for revert: Debug data has been collected. Removing debug code.

Original change's description:
> [inspector] Add extra debug code to investigate crbug/897816
> 
> BUG=chromium:897816
> 
> Change-Id: Ie28efcab73ccbcb6d8b1a7508b99aec59f3a3ae3
> Reviewed-on: https://chromium-review.googlesource.com/c/1384795
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Commit-Queue: Alexei Filippov <alph@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58383}

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

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

Bug: chromium:897816
Change-Id: I6b2b5dae2b7e42843d72573ba598e5acfec3514b
Reviewed-on: https://chromium-review.googlesource.com/c/1390926
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58481}
2018-12-27 22:54:28 +00:00
Clemens Hammacher
e2b129ea3d [liftoff][arm] Prevent aliasing in I64 Shiftops
Prevent aliasing between problematic registers for
shift operations with int64 values in the arm port
of Liftoff.

Bug: v8:6600, chromium:912592
Change-Id: I905f0a657626fdfac3e41fe2878e918e3c779a8f
Reviewed-on: https://chromium-review.googlesource.com/c/1388564
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58480}
2018-12-27 18:55:02 +00:00
Clemens Hammacher
c430bd1c4e [compiler] Avoid creating redundant register moves
They will later be detected as redundant again, but we can save memory
and performance by just not adding them in the first place.

R=mvstanton@chromium.org

Bug: v8:8423
Change-Id: I11d88642333681612e2f8f4eaee7ba700cbf64d5
Reviewed-on: https://chromium-review.googlesource.com/c/1390132
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58479}
2018-12-27 15:02:50 +00:00
Clemens Hammacher
4e9682bda6 [base] Add missing V8_NOEXCEPT annotations
This silences the new presubmit check for all base classes.

R=tebbi@chromium.org

Bug: v8:8616
Change-Id: I389fedde1b44d9c583dd2fb75e6c8af138c4feb0
Reviewed-on: https://chromium-review.googlesource.com/c/1387491
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58478}
2018-12-27 13:14:16 +00:00
Ulan Degenbaev
a71ac627f2 [heap] Add V8_NOEXCEPT annotation to LocalAllocationBuffer.
Bug: v8:8616
Change-Id: I2774bf86b3446afddb7cf269e88ba128e53ae7f6
Reviewed-on: https://chromium-review.googlesource.com/c/1390130
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58477}
2018-12-27 12:24:55 +00:00
Igor Sheludko
90698aee18 [ptr-compr] Support decompression in include/v8.h and include/v8-internal.h
Bug: v8:7703
Change-Id: I2cc5ceb7b70a9b53d5bcc90b32276c011f89ffbe
Reviewed-on: https://chromium-review.googlesource.com/c/1388530
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58476}
2018-12-27 11:07:24 +00:00
Ulan Degenbaev
030550f4ae Revert "Reland^2 "[turbofan] Use feedback when reducing global loads/stores.""
This reverts commit 2d2c137492.

Reason for revert: layout test timeout - crbug.com/917714

Original change's description:
> Reland^2 "[turbofan] Use feedback when reducing global loads/stores."
> 
> This reverts commit ac85ab0a3d. A
> chromium test caused trouble and was taken care of in
> https://chromium-review.googlesource.com/c/1384064.
> 
> Original change's description:
> > [turbofan] Use feedback when reducing global loads/stores.
> >
> > We already record the script context location or the property cell
> > as feedback of the global load/store IC, so Turbofan doesn't need
> > to do the lookups again.
> 
> TBR=sigurds@chromium.org
> 
> Change-Id: I58bcd9bceec2f9cf401f7b0fc4460a6da6cd0abc
> Reviewed-on: https://chromium-review.googlesource.com/c/1386404
> Commit-Queue: Georg Neis <neis@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58393}

TBR=neis@chromium.org,sigurds@chromium.org

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

Change-Id: I9003135cfc5cc3ffb8bbf06ca35c9773adac93e7
Reviewed-on: https://chromium-review.googlesource.com/c/1390129
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58475}
2018-12-27 10:05:00 +00:00
Igor Sheludko
2a6b9fe2da [cleanup][interpreter] Fix kPointerSize usages in src/interpreter/
Bug: v8:8477, v8:8562
Change-Id: Id97f5b53fe6e6a696d8955acc1ab1bc5ac2f4052
Reviewed-on: https://chromium-review.googlesource.com/c/1388527
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58474}
2018-12-27 05:01:15 +00:00
Igor Sheludko
4a44cf83b0 [cleanup][csa] Introduce Times[SystemPointer|Tagged]Size instead of TimesPointerSize
Bug: v8:8477, v8:8562
Change-Id: I54b857cdacf9360b95d64147a486a0d5fa1ffe10
Reviewed-on: https://chromium-review.googlesource.com/c/1388526
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58473}
2018-12-27 03:48:55 +00:00
v8-ci-autoroll-builder
a233a35002 Update V8 DEPS.
Rolling v8/build: b71c9cc..7f37dc1

Rolling v8/tools/clang: 2cf76f5..106695b

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

Change-Id: I661f882c0add60d4e667577a99c92b3f068b6756
Reviewed-on: https://chromium-review.googlesource.com/c/1390919
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@{#58472}
2018-12-27 03:29:52 +00:00
Igor Sheludko
19b361e301 [cleanup][csa] Fix kPointerSize usages in CSA
Bug: v8:8477, v8:8562
Change-Id: I6ef4291ebd6c2bb6acc4b525014ec02a88d45281
Reviewed-on: https://chromium-review.googlesource.com/c/1388525
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58471}
2018-12-27 03:14:42 +00:00
Jakob Kummerow
056f927861 [ubsan] Port Object to the new design
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org
Bug: v8:3770
Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb
Reviewed-on: https://chromium-review.googlesource.com/c/1390116
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58470}
2018-12-26 20:54:07 +00:00
Jakob Kummerow
444741ac11 Revert "[error] extend error stack w/ function parameters"
This reverts commit 97628eeeb9.

Reason for revert: breaks compilation in Lite mode, which does not allow overriding of certain flags. See https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8926078411629093216/+/steps/build/0/steps/compile/0/stdout.

Original change's description:
> [error] extend error stack w/ function parameters
> 
> Extend FrameArray to hold weak references to parameters for functions in
> the call stack. The goal here is to provide more metadata for postmortem
> tools (such as llnode), especially in cases of rethrowing (this will be
> particularly useful when using postmortem with promises on Node.js).
> 
> Besides postmortem, these changes allow us to print a more detailed
> stack trace for errors with parameters types (or even values), which can
> be useful since JavaScript functions can receive any number of
> parameters of any type, and having a function behave differently
> according to the number of parameters received as well as their types is
> a common pattern on JS libraries and frameworks.
> 
> R=​bmeurer@google.com, yangguo@google.com
> 
> Change-Id: Idf0984d0dbac16041f11d738d4b1c095a8eecd61
> Reviewed-on: https://chromium-review.googlesource.com/c/1289489
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58468}

TBR=yangguo@chromium.org,bmeurer@google.com,bmeurer@chromium.org,mat@mmarchini.me

Change-Id: Ide0a434c1521ab2bbeca6821397ff63ba7d40fe5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1390128
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58469}
2018-12-26 19:03:45 +00:00
Matheus Marchini
97628eeeb9 [error] extend error stack w/ function parameters
Extend FrameArray to hold weak references to parameters for functions in
the call stack. The goal here is to provide more metadata for postmortem
tools (such as llnode), especially in cases of rethrowing (this will be
particularly useful when using postmortem with promises on Node.js).

Besides postmortem, these changes allow us to print a more detailed
stack trace for errors with parameters types (or even values), which can
be useful since JavaScript functions can receive any number of
parameters of any type, and having a function behave differently
according to the number of parameters received as well as their types is
a common pattern on JS libraries and frameworks.

R=bmeurer@google.com, yangguo@google.com

Change-Id: Idf0984d0dbac16041f11d738d4b1c095a8eecd61
Reviewed-on: https://chromium-review.googlesource.com/c/1289489
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58468}
2018-12-26 11:54:17 +00:00
v8-ci-autoroll-builder
2b96d8aa00 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/7c1d51b..a923c2a

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

Change-Id: Ia5e0c5e98c1d3086a5d5b461fe3e9d0b86842def
Reviewed-on: https://chromium-review.googlesource.com/c/1390915
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@{#58467}
2018-12-26 03:47:36 +00:00
Ulan Degenbaev
d7b08b6da2 [heap] Support concurrent marking of maps
The concurrent marker can now visit maps and mark the subset of
descriptors that a map requires.

Bug: v8:8486
Change-Id: I184442ec90a8f60c73cfe16d6e9d66f4efa92a01
Reviewed-on: https://chromium-review.googlesource.com/c/1384320
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58466}
2018-12-24 11:49:49 +00:00
Ulan Degenbaev
9a0fcfd848 [heap] Fix benign data race with string length.
Factory::NewRawOneByteString initializes the string length without
atomic accessor. This leads to data race if the string is pretenured
and black allocated because the concurrent marker loads the string
length before checking the string markbits.

This patch changes the order to check the markbits first.

Bug: v8:8579
Change-Id: Ic434f7dde9baa6264fe133499d2394c0d4cc5394
Reviewed-on: https://chromium-review.googlesource.com/c/1388542
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58465}
2018-12-24 11:00:36 +00:00
Ulan Degenbaev
eb537d7485 [tests] Bump up the heap limit for the pause-on-oom test
Bug: v8:8521
Change-Id: I6e02930108ba90adf6d54aca319d2d2680964860
Reviewed-on: https://chromium-review.googlesource.com/c/1388543
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58464}
2018-12-24 10:58:35 +00:00
Aleksandar Rikalo
0f1b611277 [mips] InterpreterEntryTrampoline improvement
Logic is added to InterpreterEntryTrampoline to detect flushed functions,
and enter CompileLazy instead. Get the bytecode array from the function
object and load it. The bytecode array could have been flushed from the
shared function info, if so, call into CompileLazy.

This fixes:

   cctest/test-heap/TestBytecodeFlushing
   cctest/test-heap/TestOptimizeAfterBytecodeFlushingCandidate
   debugger/debug/lazy-deopt-then-flush-bytecode

[mips] Macro-assembler fix

Fix massive failing of tests after fa3cbf6.

Change-Id: Ic1978b5233eefc743fd7b020f65153630ffa281f
Reviewed-on: https://chromium-review.googlesource.com/c/1388528
Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com>
Commit-Queue: Sreten Kovacevic <skovacevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#58463}
2018-12-24 10:00:07 +00:00
Aleksandar Rikalo
d7493fb1ab [mips] Fix broken build after 9302db4.
Change-Id: Ic156eefa7ee2de568a368c44eca0ba80ab8828b0
Reviewed-on: https://chromium-review.googlesource.com/c/1388567
Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com>
Commit-Queue: Sreten Kovacevic <skovacevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#58462}
2018-12-24 09:57:27 +00:00
Jakob Gruber
f2411cf2b9 [nojit] Disable embed tests on noembed builds
These test off-heap builtin call sequences and don't make sense in
noembed builds.

Tbr: sigurds@chromium.org
Bug: v8:7777
Change-Id: I2795257e33b6ad87958d08f0845b75a7e88988f2
Reviewed-on: https://chromium-review.googlesource.com/c/1390120
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58461}
2018-12-24 09:48:55 +00:00
Jakob Gruber
83f70c7592 Revert "Seasonal greetings"
This reverts commit 28275cd412.

Reason for revert: Ho ho.. oh :{

Original change's description:
> Seasonal greetings
> 
> Ho ho ho.
> 
> Tbr: santa@chromium.org
> No-presubmit: true
> Change-Id: Ida950937a352f32ccf8127907f623e92332f4806
> Reviewed-on: https://chromium-review.googlesource.com/c/1390119
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#58459}

TBR=jgruber@chromium.org

Change-Id: I2f7d0a92d0af95e814a2d6cb04ceaf445d57023a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1390121
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58460}
2018-12-24 09:44:15 +00:00
Jakob Gruber
28275cd412 Seasonal greetings
Ho ho ho.

Tbr: santa@chromium.org
No-presubmit: true
Change-Id: Ida950937a352f32ccf8127907f623e92332f4806
Reviewed-on: https://chromium-review.googlesource.com/c/1390119
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58459}
2018-12-24 09:33:33 +00:00
Jakob Gruber
0ae25272c6 [nojit] Fix noembed bot failures
noembed bots have started failing since https://crrev.com/c/1382461.

The reason was that inline_offheap_trampolines option was set to true
even in noembed builds, and the assembler tried to inline trampolines
to non-existent embedded builtins.

Tbr: sigurds@chromium.org
Bug: v8:7777
Change-Id: I483dd8b77269b8684e57f8da6e659a9648b1657b
Reviewed-on: https://chromium-review.googlesource.com/c/1390117
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58458}
2018-12-24 08:47:41 +00:00