Commit Graph

58566 Commits

Author SHA1 Message Date
Jaime Bernardo
53e62affd3 [build] Include string in v8.h
Explicitly #include<string> in v8.h, since std::string is referenced
in it. In the C++ STL shipped with Visual Studio 2019, none of the
headers included in v8.h ends up including the C++ string header, which
caused a compile error.

Bug: v8:9793
Change-Id: I84a133dd10dd6dcc7b70287af393e82cf0dc97df
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834321
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64074}
2019-10-01 20:28:58 +00:00
Ng Zhi An
472aff977c [wasm-simd] Implement f64x2 sqrt for ia32
Bug: v8:9728
Change-Id: Ic15d793e6408af1ea2e1f7f71b9130300d359a95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1808417
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64073}
2019-10-01 20:17:34 +00:00
Ross McIlroy
f61780c432 [TurboProp] Use GraphAssembler for all Select and Effect-Control lowerings.
TurboProp will not reschedule after effect-control linearization, so
the graph-assembler will be used to modify the schedule as new nodes
are added. To enable this, ensure we use the graph assembler for all
node creation from effect-control linearization onwards.

BUG=v8:9684

Change-Id: I2be3f5d2a3f2cbee44c72bb397e9bd1d9ac7de05
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832166
Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64072}
2019-10-01 19:57:14 +00:00
Ng Zhi An
647f6568e6 [cleanup] Refactor some scratch registers to temp
Change-Id: I5dcc3f708ca05a0d3b504cb4d7a89693ca0717b4
Bug: v8:9396
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1819521
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64071}
2019-10-01 19:32:36 +00:00
Frank Tang
246d985cb7 [Intl] No throwing RangeError when "calendar" and "numberingSystem" are well-formed
* Throws RangeError only when the calendar and numberingSystem is
  ill-formed.
* Set the calendar and numberingSystem to the locale only if
the values are valid.
* Fix the order of GetOption of "localeMatcher".
* Add more unit tests.
See https://github.com/tc39/ecma402/pull/175 for details.

Bug: v8:9786, v8:9787, v8:9788
Change-Id: Ic0f918ad7d9afb0b7c8df39caa0f44ef07ca10c0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1830345
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64070}
2019-10-01 18:04:12 +00:00
Frank Tang
28472420a6 [Intl] Stage intl-other-calendars
Bug: v8:9155
Change-Id: I54c65ee28171064f596fc305bb718613640f251a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832636
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64069}
2019-10-01 17:26:40 +00:00
Joshua Litt
2023fe514b [protectors] Cleanup protector statics on isolate
Removes the static protector values from isolate now that they are
no longer needed.

This is the final cl in the migration effort.

Bug: v8:9463
Change-Id: I2127ef6c8a0cdaf0ccf28aed12539335ef985704
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1827455
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64068}
2019-10-01 16:06:00 +00:00
Igor Sheludko
b269455478 [ptr-compr][turbofan] Support smi-corrupting decompression in TurboFan
Bug: v8:9706
Change-Id: I5779e2fbaec5741cc9b8d44f7f3f721400e70b28
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832174
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64067}
2019-10-01 15:16:49 +00:00
Dan Elphick
9dfe63593d [builtins] Reordered optimised code path in InterpreterEntryTrampoline
Pushes the optimised code path to after the main interpreter path, so
the straightline path is just normal interpretation.

Bug: v8:9771
Change-Id: I2f48ff290efcd85a5e30cf823027919560f8a56a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829220
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64066}
2019-10-01 14:38:29 +00:00
Peter Marshall
615e90032d [tools] Fix Code::Disassemble to print the address properly
This was missed when changing Object to hold a ptr field instead of
abusing the this pointer.

This was printing the stack address of the particular Object rather
than the location of the printed code object on the heap.

Change-Id: I5c884464419debcbc70b73fe8bdfa8107f2bdb71
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1833681
Auto-Submit: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64065}
2019-10-01 13:46:49 +00:00
Jakob Gruber
282a74c7f0 Reland "[regexp] Bytecode peephole optimization"
This is a reland of 6612943010

Fixed: Unaligned reads, unspecified evaluation order.

Original change's description:
> [regexp] Bytecode peephole optimization
>
> Bytecodes used by the regular expression interpreter often occur in
> specific sequences. The number of dispatches in the interpreter can be
> reduced if those sequences are combined into a single bytecode.
>
> This CL adds a peephole optimization pass for regexp bytecodes.
> This pass checks the generated bytecode for pre-defined sequences that
> can be merged into a single bytecode.
>
> With the currently implemented bytecode sequences a speedup of 1.12x on
> regex-dna and octane-regexp is achieved.
>
> Bug: v8:9330
> Change-Id: I827f93273a5848e5963c7e3329daeb898995d151
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743
> Commit-Queue: Patrick Thier <pthier@google.com>
> Reviewed-by: Peter Marshall <petermarshall@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63992}

Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux_gcc_rel
Bug: v8:9330,chromium:1008502,chromium:1008631
Change-Id: Ib9fc395b6809aa1debdb54d9fba5b7f09a235e5b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1828917
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64064}
2019-10-01 12:50:24 +00:00
Ana Peško
14ffd21dd9 Reland "[regexp] Eagerly tier-up for very long strings"
This is a reland of cfb60d430b

Original change's description:
> [regexp] Eagerly tier-up for very long strings
> 
> For very long subject strings, the regexp interpreter is currently much slower
> than the native machine code execution. This CL implements eager tier-up to the
> compiler to avoid the performance penalty for subject strings of length greater
> than 1000.
> 
> Change-Id: I244ccbd60255e0f3bedc493b1cc3d25cdd42133e
> Bug: v8:9566
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829273
> Reviewed-by: Peter Marshall <petermarshall@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Ana Pesko <anapesko@google.com>
> Cr-Commit-Position: refs/heads/master@{#64046}

Bug: v8:9566
Change-Id: I81a10728c64ce3b35258c31eb8178e458d3de205
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832167
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ana Pesko <anapesko@google.com>
Cr-Commit-Position: refs/heads/master@{#64063}
2019-10-01 12:49:19 +00:00
Georg Neis
12b22b5198 Disable --instruction-scheduling for mksnapshot
This is an experiment to see the memory/performance impact.

Bug: v8:9775
Change-Id: I2ae61ae8bb5c6c1c55436e96c4b2d8201cbf4739
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832177
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64062}
2019-10-01 12:04:29 +00:00
Mike Stanton
9352f9c33d [TurboFan] Repair chrome://trace for v8.turbofan
Bug: chromium:1005195
Change-Id: I41b8526d1394d82b06bab975dc0cc18c080dfd60
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829271
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64061}
2019-10-01 11:17:30 +00:00
Leszek Swirski
e3e7f1edee [cleanup] Another round of semi-automatic TNodification
Change-Id: I822f3961b2ec5ef8fb7ca4765cb7c9fd38514223
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832171
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64060}
2019-10-01 10:55:20 +00:00
Leszek Swirski
257a89c4c4 [map] Boxed double fields can no longer deprecate
Avoid emitting deprecation checks for these fields.

Bug: v8:9606
Change-Id: Id3e317a8c36728b3c7b063743ef9d36aa1209176
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832170
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64059}
2019-10-01 10:52:20 +00:00
David Carlier
ab5d654466 Fix Android ARM/PPC build for cpu detection
Change-Id: I4d4c6e8a6371102ae7b2ece7cbbc068cdd8c6799
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832165
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64058}
2019-10-01 10:38:19 +00:00
Dan Elphick
286a59e543 [cleanup] Move CSA::BranchIfPrototypesHaveNoElements
Moves CodeStubAssembler::BranchIfPrototypesHaveNoElements to
AccessorAssembler and TNodifies it on the way.

Bug: v8:9396
Change-Id: Ie5d8ad5abc3dbdb688c0cbee4610cd441ba1a9b1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826736
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64057}
2019-10-01 10:19:39 +00:00
Andreas Haas
5b6624b184 [wasm][tests] Add prefix to TrapHandlerTest unittests
Apparently this is necessary.

R=ulan@chromium.org

Bug: v8:9396
Change-Id: Ia7c439308fb7edbb901f595aeb9fbf9389858daa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832161
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64056}
2019-10-01 09:01:09 +00:00
Michael Achenbach
034ba2588a [test] Make test262 testing variant explicit
It was confusing to silently run test262 only in the default variant with
a switch on the infra side. We'll remove that switch in a follow up and
explicitly configure the testing variant for test262 in builders.pyl.

Bug: v8:9791
Change-Id: I0da351ff981c833704f51a415225aff24df1664a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829269
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64055}
2019-10-01 08:05:59 +00:00
v8-ci-autoroll-builder
d69f4a2746 Update V8 DEPS.
Rolling v8/build: 0a96846..69e3270

Rolling v8/third_party/depot_tools: 0081c0f..a19d353

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

Change-Id: Ie36db05802205713ad5a49cfa180c58e32fda94f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1831187
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@{#64054}
2019-10-01 03:34:09 +00:00
Francis McCabe
0e4e718006 Revert "Mark functions for optimization only on bytecode budget interrupts"
This reverts commit 9efe315ee2.

Reason for revert: Causing time out issues on box2d tests:

https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/27752

and

https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20debug/29630

Original change's description:
> Mark functions for optimization only on bytecode budget interrupts
> 
> We used to mark functions for optimization on any interrupt. This sometimes
> causes functions to OSR when not needed. The implementation was such because
> we didn't have a different runtime function to distinguish bytecode budget
> interrupts from other interrupts. For lazy feedback allocation we added a
> new runtime function for bytecode budget interrupts so it makes it easier
> to actually mark functions only when needed.
> 
> This also includes a fix to reduce the stack limits for interrupts when
> entering a scope that allows interrupts from a postponed interrupt scope.
> 
> Bug: chromium:993061
> Change-Id: Iaf7b4dccb7a503e5b6bfcbb993bc7482aa593955
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829218
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Commit-Queue: Mythri Alle <mythria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#64048}

TBR=rmcilroy@chromium.org,mythria@chromium.org,leszeks@chromium.org

Change-Id: I97938934fdaa030b958695d18e1788d75c17077c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:993061
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832645
Reviewed-by: Francis McCabe <fgm@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64053}
2019-09-30 20:43:36 +00:00
Suraj Sharma
1e3c3876f8 Modify the DCHECK in when computing KeyedAccessStoreMode.
Since slow handler was previously not a Smi. The DCHECK assumed any
Smi Handler on this path should be a proxy handler. Now it Checks for
both, and should continue if the current handler is a slow handler.

Bug: chromium:1008632
Change-Id: I079960894d7320d8d658d0990e8c32db51703206
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1828480
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Suraj Sharma <surshar@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#64052}
2019-09-30 18:59:48 +00:00
Vasili Skurydzin
f9aa377d19 [ptr-compr], [s390x] kPointerSize changed to kSystemPointerSize in src to
prepare for ptr compression

Change-Id: Ia459ad18a30fbfd8e51bd99735f0d63644d30b8f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1831788
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#64051}
2019-09-30 18:53:18 +00:00
Clemens Backes [né Hammacher]
f1bd1b6b5f Revert "[wasm] Ship far jump tables"
This reverts commit 35ca0abdc5.

Reason for revert: Speculative revert for https://crbug.com/1008597.

Original change's description:
> [wasm] Ship far jump tables
> 
> This flips the --wasm-far-jump-table flag. It will allow for more than
> 128MB of code space per wasm module on arm64, and will increase the
> limit on the number of modules per process on x64 (was ~1000 before,
> because we reserved 1GB for the code space per module).
> 
> R=​mstarzinger@chromium.org
> 
> Bug: v8:9477
> Change-Id: I870ec616f4812e38ef1e3fccf0629854a247bb4f
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815247
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Commit-Queue: Clemens Backes [né Hammacher] <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63967}

TBR=mstarzinger@chromium.org,clemensb@chromium.org

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

Bug: v8:9477, chromium:1008597
Change-Id: Ie8740e09925130b304a37d97904443026aabae85
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832162
Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org>
Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64050}
2019-09-30 18:09:55 +00:00
Z Nguyen-Huu
c721203615 Add missing null condition in Proxy GetPrototypeof
Bug: v8:9781
Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64049}
2019-09-30 17:56:34 +00:00
Mythri A
9efe315ee2 Mark functions for optimization only on bytecode budget interrupts
We used to mark functions for optimization on any interrupt. This sometimes
causes functions to OSR when not needed. The implementation was such because
we didn't have a different runtime function to distinguish bytecode budget
interrupts from other interrupts. For lazy feedback allocation we added a
new runtime function for bytecode budget interrupts so it makes it easier
to actually mark functions only when needed.

This also includes a fix to reduce the stack limits for interrupts when
entering a scope that allows interrupts from a postponed interrupt scope.

Bug: chromium:993061
Change-Id: Iaf7b4dccb7a503e5b6bfcbb993bc7482aa593955
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829218
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64048}
2019-09-30 17:27:14 +00:00
Ana Pesko
3b9f815557 Revert "[regexp] Eagerly tier-up for very long strings"
This reverts commit cfb60d430b.

Reason for revert: Several bots timing out, e.g.
https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24717

Original change's description:
> [regexp] Eagerly tier-up for very long strings
>
> For very long subject strings, the regexp interpreter is currently much slower
> than the native machine code execution. This CL implements eager tier-up to the
> compiler to avoid the performance penalty for subject strings of length greater
> than 1000.
>
> Change-Id: I244ccbd60255e0f3bedc493b1cc3d25cdd42133e
> Bug: v8:9566
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829273
> Reviewed-by: Peter Marshall <petermarshall@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Ana Pesko <anapesko@google.com>
> Cr-Commit-Position: refs/heads/master@{#64046}

TBR=yangguo@chromium.org,petermarshall@chromium.org,anapesko@google.com

TBR=yangguo@chromium.org

Change-Id: Id8dd362617988c8c5efa87ae157ee91c96cb1fdf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9566
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832163
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Ana Pesko <anapesko@google.com>
Cr-Commit-Position: refs/heads/master@{#64047}
2019-09-30 16:33:37 +00:00
Ana Peško
cfb60d430b [regexp] Eagerly tier-up for very long strings
For very long subject strings, the regexp interpreter is currently much slower
than the native machine code execution. This CL implements eager tier-up to the
compiler to avoid the performance penalty for subject strings of length greater
than 1000.

Change-Id: I244ccbd60255e0f3bedc493b1cc3d25cdd42133e
Bug: v8:9566
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829273
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ana Pesko <anapesko@google.com>
Cr-Commit-Position: refs/heads/master@{#64046}
2019-09-30 14:47:51 +00:00
Milad Farazmand
3fc08557b9 PPC/s390: [codegen][arm] Better load of receiver in CheckDebugHook
Port 1e4bb08773

Original Commit Message:

    x64 code path is different and we can't do this optimization.

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

Change-Id: I173d7339706a9c09d3e6519d1cee36fa15692aca
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829171
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#64045}
2019-09-30 14:28:16 +00:00
Milad Farazmand
b10c2f25e5 PPC/s390: [cpu-profiler] Fix stack iterability during deopt (arm port)
Port 559a003454

Original Commit Message:

    We didn't think this affected arm but it turns out it does.

    This is a port of
    https://chromium-review.googlesource.com/c/v8/v8/+/1688049

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

Change-Id: Id081736420a20216cef5c5f483acd987785c4d97
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829899
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#64044}
2019-09-30 14:27:11 +00:00
Dominik Inführ
24d9e63e81 Revert "[heap] Insert directly into RememberedSet and remove StoreBuffer"
This reverts commit 70e07cdb6e.

Reason for revert: Clusterfuzz found issue in chromium:1009019

Original change's description:
> [heap] Insert directly into RememberedSet and remove StoreBuffer
>
> This CL removes the StoreBuffer and inserts slots into the
> RememberedSet directly from within the RecordWrite builtin. Only calls
> into C code when either the SlotSet-array or the bucket is not
> allocated. This avoids filling the store buffer up with duplicates or
> due to a write-heavy workload and then blocking the main thread on
> store buffer processing.
>
> Change-Id: I05b0b0938d822cdf0e8ef086ad4527d3229c05b2
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815241
> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#64002}

TBR=ulan@chromium.org,jkummerow@chromium.org,dinfuehr@chromium.org

Change-Id: I6f4cc1641965c83b05f3b3830b0f526b362beb49
Bug: chromium:1009019, chromium:1009196
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829259
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64043}
2019-09-30 14:20:31 +00:00
Ana Peško
95ec4803fd [regexp] Refactor eager tier-up for global replaces
This CL changes the eager tier-up for global replaces slightly to include a
previously unaccounted for path by moving the logic into the caller so that
it includes this path as well.

Change-Id: Ifc265ddb1183b8bb3ea75ca5d6c83d66e55e2837
Bug: v8:9566
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829276
Commit-Queue: Ana Pesko <anapesko@google.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64042}
2019-09-30 13:52:14 +00:00
Dan Elphick
8de672cbe8 [parser] Prevent feedback slot merging for dynamic globals
This is a short-term fix to prevent any merging of feedback slots for
dynamic globals, while we work on a longer term solution to make it
consistent between eager and lazy compilation.

Bug: chromium:1008414, v8:8510
Change-Id: I4a5977046f53454d6f8a6ea2f41046abdf73418f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829270
Commit-Queue: Dan Elphick <delphick@chromium.org>
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64041}
2019-09-30 11:57:09 +00:00
Ingvar Stepanyan
36ab7afb9e Improve JavaScript debugging in d8
Adds ability to pause JavaScript debugger from d8 by defining a global function
`handleInspectorMessage` which should block waiting for a new inspector message,
and `send` it afterwards.

Additionally, adds a simple helper script that, when invoked via `websocketd`
as per instructions, can be used for debugging `d8` using Chrome DevTools
(inspecting script sources, pausing, stepping over, etc.).

Change-Id: Iee75fb4e3f2ccc8c8552c804fefaefb233d6b089
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829221
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ingvar Stepanyan <rreverser@google.com>
Cr-Commit-Position: refs/heads/master@{#64040}
2019-09-30 11:19:49 +00:00
Igor Sheludko
b6c625f3b0 [ptr-compr][x64][arm64] Add support for smi-corrupting decompression
... in disabled state. It will be enabled in a follow-up CL.

Bug: v8:9706
Change-Id: I43b482a4fd1bf9af0c6ba535b453e72463bee0f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826731
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64039}
2019-09-30 10:49:48 +00:00
Michael Achenbach
02d0b14f4a [foozzie] Add more comparison configs for regexp
NOTRY=true

Change-Id: Icb4c3a1a544331baab5d6637daa12bea87044715
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829268
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64038}
2019-09-30 10:39:08 +00:00
David Carlier
f5bee00274 Revisiting auxvec data gathering for PPC/ARM.
/proc/sys/auxv might not be accessible, instead
getting these from the user's stack.

Change-Id: I2dcf696734e2b4dc1da27a991930b9e0d4228d51
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1730990
Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64037}
2019-09-30 10:33:38 +00:00
Michael Achenbach
3a8baab584 [foozzie] Add --future to correctness-fuzzer configs
NOTRY=true

Change-Id: Ie96e645851beb26e9a777379ad68f1c173acd80d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829266
Reviewed-by: Clemens Backes [né Hammacher] <clemensb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64036}
2019-09-30 10:05:36 +00:00
Georg Neis
8309c3e6a5 [turbofan] Fix reduction of global proxy access
This fixes a bug in the optimization concerning detached
or re-attached global proxies.

Bug: v8:7790
Change-Id: Ifd30b88361914430bb373d4b64a76e33ccde37e5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809361
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64035}
2019-09-30 09:48:16 +00:00
Liviu Rau
a71e7d2697 Re-check all files on a DEPS change
When a DEPS file changes we need to verify at presubmit all
other files sitting in the same dir as the DEPS file (& below
recursively).

Bug: v8:9692
Change-Id: I7ae3b4cec5ab3bf970f0d04afe54e8f40138b819
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803644
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Liviu Rau <liviurau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64034}
2019-09-30 09:23:36 +00:00
v8-ci-autoroll-builder
34c6f7c416 Update V8 DEPS.
Rolling v8/build: f3828ad..0a96846

Rolling v8/third_party/depot_tools: 3905857..0081c0f

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

Change-Id: Ie01ce3e4e5d8ab3d508b941087358800d631d4de
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1831178
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@{#64033}
2019-09-30 03:23:12 +00:00
v8-ci-autoroll-builder
b087e234d7 Update V8 DEPS.
Rolling v8/build: b321a92..f3828ad

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

Change-Id: I1c7470e130052795b0dd137724f741bffc017b42
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829512
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@{#64032}
2019-09-29 03:31:39 +00:00
v8-ci-autoroll-builder
98e965a1a6 Update V8 DEPS.
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/15152b5..5f4659d

Rolling v8/third_party/depot_tools: 2b82936..3905857

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

Change-Id: I6293d1e076c663cf2ebc850ea33f4025145f2e38
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829508
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@{#64031}
2019-09-28 04:16:48 +00:00
Yu Yin
71f7cf7dc4 [mips][builtin] Small optimization.
port dcf3b66 https://crrev.com/c/1825222
port 7675b95 https://crrev.com/c/1826724

[mips][wasm-simd] Implement f32x4.sqrt.

port 36f2ec1 https://crrev.com/c/1808045

Change-Id: Ib714d56f2b0062d5013364eeea30294cf0b92cd4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826588
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Yu Yin <xwafish@gmail.com>
Cr-Commit-Position: refs/heads/master@{#64030}
2019-09-28 00:57:18 +00:00
Santiago Aboy Solanes
cf1925b0f8 [builtins][x64] Save an instruction by doing the Tagging in-place
If we SmiTag using the same register we will save a mov instruction.

Bug: v8:9771
Change-Id: Iadfa332e76115688eac6c3ec5262ca751ec02405
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826735
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64029}
2019-09-27 18:33:30 +00:00
Frank Tang
a0133350bf [Intl] Fix /ſ/i.test('ſ'.toUpperCase()) be false.
Address special case condiction for U+017F.

Bug: v8:9356
Change-Id: Id24e5e2c999b198bf0f696aea8c98f223508c051
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1827683
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64028}
2019-09-27 18:13:00 +00:00
Frank Tang
7dedd92998 [Intl] Fix /k/i.test('\u212A')
Add logic stated in

Bug: v8:9731
Change-Id: I0b3468bbad11a178f36d682febd0e44214646de8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1828279
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64027}
2019-09-27 17:37:50 +00:00
Milad Farazmand
5134ca885f PPC/s390: PPC/s390: [builtins] Defer throw in InterpreterEntryTrampoline
Port 842f1ca0a2

Original Commit Message:

    Port dcf3b66349

R=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ib5ff44751b466e650c09239e387206ba8c7757d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829158
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#64026}
2019-09-27 15:23:40 +00:00
Santiago Aboy Solanes
6a0c7680dd [builtins] Combine SmiUntag with loading a value
Combining the load with the SmiUntag let's us have better
instruction selection opportunities against not doing it.

Bug: v8:9771
Change-Id: I6b6391398413ee1bc808c71d48474e9336c09f2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826734
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64025}
2019-09-27 15:16:39 +00:00