This is a reland of 2869d9de0d
Original change's description:
> [turbofan,arm64] Add float loads poisoning.
>
> Also extend load poisoning testing for arm and arm64.
>
> This is a port of I1ef202296744a39054366f2bc424d6952c3bbe9d,
> originally introduced for arm.
>
> Change-Id: I7d317bba6be633dd1e563daa7231d3c5e930f8e4
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691032
> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63519}
Change-Id: I8155456f6ad571897f6274a86e58fec6cd66ee7d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800583
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#63800}
This CL adds a flag to reduce the initial code space reservation size
(--wasm-max-initial-code-space-reservation), and adds a test which creates at
least four separate code spaces and calls between them.
R=mstarzinger@chromium.org
Bug: v8:9477
Change-Id: I1b4c430266962eb94dbe4b381f46b03c2ec07fc2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782999
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63797}
Changes the Array(Includes|IndexOf)(Holey|Packed)Doubles builtins to
first check the input array is not empty before attempting to cast it to
a FixedDoubleArray as an empty array of doubles can be backed by a
FixedArray.
Bug: chromium:1004061
Change-Id: I12f302afa9596fb8a5581849662cd67fcc06f92b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1806676
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63794}
Disable a flaky test.
This is a reland of cbf028e8b8
Bug: v8:9714
Change-Id: Ifc136ad80bd7f2a0ae67a15e688a3d08ceed3c44
Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1806915
Auto-Submit: Victor Gomes <victorgomes@google.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@google.com>
Cr-Commit-Position: refs/heads/master@{#63793}
If a new code space is added after functions have already been
compiled, we need to initialize the new jump tables to contain all
these functions.
R=mstarzinger@chromium.org
Bug: v8:9477
Change-Id: Ie960966ec5ad667e0626f86eceb7c2b4da72e5bd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803337
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63792}
Ensure that the "padding" (actually needed for crashpad) is allocated
at the beginning of the new code space.
R=ahaas@chromium.org
Bug: v8:9477
Change-Id: I44b9e9feb559788e286fd5c57df90db7cf7f5340
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803650
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63790}
A local build with g++ 8.3.0 failed with two warnings. This CL fixes
them.
The errors were:
1) error: 'char* strncat(char*, const char*, size_t)' output truncated
before terminating nul copying as many bytes from a string as its
length [-Werror=stringop-truncation]
2) error: 'char* strncpy(char*, const char*, size_t)' specified bound
depends on the length of the source argument
[-Werror=stringop-overflow=]
R=petermarshall@chromium.org
Bug: v8:9396
Change-Id: I175a72435becd694e4151a64e538084ec17d8500
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803636
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63788}
The current JSObject type is too specific as it can also be passed proxy
objects.
BUG=chromium:1003919,v8:6949
Change-Id: I2766868543827fc5ee6f99f3b120c7ffe9cfed39
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803651
Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63787}
This reimplements the "--time" option of run-tests.py to print the
20 slowest tests, on top of json_test_results infrastructure just
like the bots do it.
Additionally this CL speeds up a bunch of slow tests.
Bug: v8:9396
Change-Id: I40797d2c8c3bfdd310b72f15cd1a035844b7c6f3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803635
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63786}
Removed all references to builds [v8_mips_compile_rel,
V8 Mips - builder, V8 Mips - big endian - nosnap] from
configuration files in master branch. Also removed
dead code and unused artifacts that resulted from the
above mentioned changes.
Bug: v8:8858
Change-Id: If9f8d9db433a50997f35219ef4ea9d8a91a1a495
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798431
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Tamer Tas <tmrts@chromium.org>
Commit-Queue: Liviu Rau <liviurau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63785}
All converted except for two calls to PrepareValueForWriteToTypedArray.
Bug: v8:6949, v8:9396
Change-Id: I3c695b8067487bd8845e38cf760519bef1f37f2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803351
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63782}
Port 0a8ddb134c
Original Commit Message:
If the jump is too large for a near jump, we patch the far jump table
instead, and patch the (near) jump table to jump to the far jump table
slot.
Change-Id: Id9f12dee885b369a4946642301720d110dfe4f31
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803641
Auto-Submit: Mu Tao <pamilty@gmail.com>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63781}
This reverts commit 46f9d4008a.
Reason for revert: as planned
Original change's description:
> Reland "[turbofan] Temporarily disable future=>concurrent_inlining"
>
> This is a reland of ce42112243.
> Speculatively relanding, because the failure seems unrelated.
>
> Original change's description:
> > [turbofan] Temporarily disable future=>concurrent_inlining
> >
> > ... in order to reset the benchmarks now that we are actually running
> > in the background.
> >
> > Bug: v8:7790
> > Change-Id: Ifa811fbcc51eccef790e6215d330f8b45c31a492
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801836
> > Reviewed-by: Georg Neis <neis@chromium.org>
> > Commit-Queue: Georg Neis <neis@chromium.org>
> > Auto-Submit: Maya Lekova <mslekova@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#63741}
>
> Bug: v8:7790
> Change-Id: I49316516b300e6d2754043848d95ac5511fc6015
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801849
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Georg Neis <neis@chromium.org>
> Auto-Submit: Maya Lekova <mslekova@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63755}
TBR=neis@chromium.org,mslekova@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: v8:7790
Change-Id: Ic31f1bf47c0b00ec497452fd29d8c09a32e14316
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803642
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63779}
- Get rid of a bunch of unnecessary friend classes. This required making
the constructor public
- Remove log_events_ field which is not used
- Use unique_ptr for owned members
- Use make_unique instead of bare constructors
- Use a scoped vector instead of a unique ptr to array for
the dynamically sized array of WasmModules
Bug: v8:9396
Change-Id: Icdca904e7227d2ce2d75caf092f259d47ff15809
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803339
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63776}
Install intrinsic default prototypes for Intl.ListFormat,
Intl.PluralRules, Intl.RelativeTimeFormat, and Intl.Segmenter.
Observable when attempting to construct cross-realm via a
new.target with a non-Object .prototype property.
Bug: v8:9712
Change-Id: I77ae75e5ea1ee8e9a01cf5788b664a5945aa1f7e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801252
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63774}
Port 213504b9d7
Original Commit Message:
The code fields in a JSRegExp object now either contain irregexp
compiled code or a trampoline to the interpreter. This way the code
can be executed without explicitly checking if the regexp shall be
interpreted or executed natively.
In case of interpreted regexp the generated bytecode is now stored in
its own fields instead of the code fields for Latin1 and UC16
respectively.
The signatures of the jitted irregexp match and the regexp interpreter
have been equalized.
R=pthier@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N
Change-Id: Ia2a80ce927afa644441c0749add0fc35111eb720
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803657
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#63773}
Convert all but 4 Node*s to TNode and all Variables to TVariable.
In the process this also deletes several unused functions.
Bug: v8:6949, v8:9396
Change-Id: I83db40eefacf8a4a1b155249c5bb8217e6c7da83
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803347
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63770}
Port 0a8ddb134c
Original Commit Message:
If the jump is too large for a near jump, we patch the far jump table
instead, and patch the (near) jump table to jump to the far jump table
slot.
R=clemensh@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N
Change-Id: Ic42dfea83799ba6aae1d6d32607391393353815a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1802742
Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#63769}
By rolling icu to faee8bc which contains the upstream CLDR fix.
Bug: v8:992694
Change-Id: I073d15396fa0e7c5054aa4e0806e5842228955f0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1799424
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63768}
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343,
which tried to fix this on occuring compile errors, this CL
systematically adds the <memory> include to each header that uses
{std::unique_ptr}.
R=sigurds@chromium.orgTBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org
Bug: v8:9396
Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63767}
Follow-up CL that finishes TNodifying builtins collection gen.
Added a TODO in CSA since I was encountering errors when trying to
return a JSIteratorResult.
Bug: v8:6949, v8:9396
Change-Id: I1e8a9cf8bce54327dd1fad5bd9531058f096469d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803344
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63766}
Discussing with Toon, we've decided that these flags are no longer needed.
Bug: v8:9714
Change-Id: Ic5ae8b4c0b2f470fad915ada8fec753a5d7e50ab
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801844
Commit-Queue: Victor Gomes <victorgomes@google.com>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Auto-Submit: Victor Gomes <victorgomes@google.com>
Cr-Commit-Position: refs/heads/master@{#63765}
TNodified several methods, such as the ones regarding CollectionType.
Eliminated unneeded Context parameters
Removed Sloppy-ness from TNodes.
Bug: v8:6949, v8:9396
Change-Id: Ib4c7643957629b651aa39051f89a90bc70e215c9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803335
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63763}
This adds logic to choose the closest jump table for each call in wasm
code. The "main jump table" (held in {NativeModule::main_jump_table_})
is still kept though and used for any external or indirect call.
Any direct call from within wasm now chooses the jump table that
corresponds to the code space that the code lives in.
R=mstarzinger@chromium.org
Bug: v8:9477
Change-Id: Ie52b5bb3a4a160cb754b8702c530f6feb182b3a9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800576
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63760}
CL https://crrev.com/c/1801846 made the presubmit bot red:
ERROR in /b/s/w/ir/cache/builder/v8/src/wasm/jump-table-assembler.cc
Illegal include: "src/wasm/jump-table-assembler.h"
Because of "-src" from src/wasm's specific_include_rules.
This CL fixes that.
R=mstarzinger@chromium.org
No-Try: true
Change-Id: I7cd947d9086bbf968a1ae89cb38f016abd819c05
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803338
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63758}
Just two functions instead of partially specialized structs. Also, no
need to compute the return type(s), just use {auto}.
R=tebbi@chromium.org
Bug: v8:9396
Change-Id: I840af52c3caac622aded8bd7656a5437abb2c8ef
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801845
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63756}
This is a reland of ce42112243.
Speculatively relanding, because the failure seems unrelated.
Original change's description:
> [turbofan] Temporarily disable future=>concurrent_inlining
>
> ... in order to reset the benchmarks now that we are actually running
> in the background.
>
> Bug: v8:7790
> Change-Id: Ifa811fbcc51eccef790e6215d330f8b45c31a492
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801836
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Georg Neis <neis@chromium.org>
> Auto-Submit: Maya Lekova <mslekova@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63741}
Bug: v8:7790
Change-Id: I49316516b300e6d2754043848d95ac5511fc6015
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801849
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63755}
If the jump is too large for a near jump, we patch the far jump table
instead, and patch the (near) jump table to jump to the far jump table
slot.
R=mstarzinger@chromium.org
Bug: v8:9477
Change-Id: Ic9a929b405492c1cfe744738e0807ad4357c53ff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1799543
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63754}
This reimplements the {base::make_array} helper using
{std::index_sequence}. This avoids the need to recursively create index
lists in template argument packs, and replaces a partially specialized
struct by a single function.
R=tebbi@chromium.org
Bug: v8:9396
Change-Id: I60369bfac6cb9abc889ed658208411949ca9ec07
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800575
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63752}