- 25 Apr, 2019 20 commits
-
-
Tobias Tebbi authored
With very few exceptions, this verifies all skipped write-barriers in CSA and Torque, showing that the MemoryOptimizer together with some type information on the stored value are enough to avoid unsafe skipped write-barriers. Changes to CSA: SKIP_WRITE_BARRIER and Store*NoWriteBarrier are verified by the MemoryOptimizer by default. Type information about the stored values (TNode<Smi>) is exploited to safely skip write barriers for stored Smi values. In some cases, the code is re-structured to make it easier to consume for the MemoryOptimizer (manual branch and load elimination). Changes to the MemoryOptimizer: Improve the MemoryOptimizer to remove write barriers: - When the store happens to a CSA-generated InnerAllocate, by ignoring Bitcasts and additions. - When the stored value is the HeapConstant of an immortal immovable root. - When the stored value is a SmiConstant (recognized by BitcastToTaggedSigned). - Fast C-calls are treated as non-allocating. - Runtime calls can be white-listed as non-allocating. Remaining missing cases: - C++-style iterator loops with inner pointers. - Inner allocates that are reloaded from a field where they were just stored (for example an elements backing store). Load elimination would fix that. - Safe stored value types that cannot be expressed in CSA (e.g., Smi|Hole). We could handle that in Torque. - Double-aligned allocations, which are not lowered in the MemoryOptimizer but in CSA. Drive-by change: Avoid Smi suffix for StoreFixedArrayElement since this can be handled by overload resolution (in Torque and C++). R=jarin@chromium.org TBR=mvstanton@chromium.org Change-Id: I0af9b710673f350e0fe81c2e59f37da93c024b7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1571414 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61016}
-
Andrew Comminos authored
Adds a new flag to CpuProfiler to control whether or not "debug" names (potentially inferred from scope) are used for captured frames associated with a SharedFunctionInfo instance. Bug: v8:9135 Change-Id: Ia1db20e389f3d0beb60eb47798820fb11d501c88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583042 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#61015}
-
Clemens Hammacher authored
The main change is the reduction of the number of declared classes by four by using templatized 'using' declarations instead of subtypes. This also uses 'constexpr' to define constants, uses the defined constants consistently, and adds static asserts. R=jkummerow@chromium.org Bug: v8:8834 Change-Id: I3868c9069f25261d428ec0847dea46de2cbc7a44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583763 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61014}
-
Frederik Gossen authored
Introduce {CompileStrategy} to determine whether functions or an entire module is compiled lazily. This replaces the previously used function {IsLazyCompilation} and allows to introduce other compile strategies in the future. Bug: v8:9003 Change-Id: I3b8a32f1ccb55530afba07a02ccd7a0c10be3fac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583720Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Frederik Gossen <frgossen@google.com> Cr-Commit-Position: refs/heads/master@{#61013}
-
Simon Zünd authored
This CL fixes a crash that happens on a goto definition lookup for a file with no data attached to it. Drive-by: Collect language server data even on compilation failures. R=tebbi@chromium.org Bug: v8:8880 Change-Id: Ia6323204391da3e64058e1fe47f87162186c15cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583721Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61012}
-
Simon Zünd authored
This is a reland of 3d846115 Reland changes mjsunit.status to skip the regression test on all bots except ASAN. Original change's description: > [typedarray] Fix crash when sorting SharedArrayBuffers > > TypedArray#sort has a fast-path when the user does not provide a > comparison function. This fast-path utilizes std::sort which operates > directly on the raw data. Per spec, std::sort requires the "less than" > operation to be anti-symmetric and transitive. > > When sorting SharedArrayBuffers (SAB) that are concurrently modified during > sorting, the "less than" operator stops being consistent as the > underlying data is constantly modified. This breaks some invariants > in std::sort resulting in infinite loops or straight out segfaults. > > This CL fixes this by copying the data before sorting SABs and > writing the sorted result back. > > Note: The added regression test is tailored for ASAN bots as a > normal build would need too many iterations to consistently crash. > > R=neis@chromium.org, petermarshall@chromium.org > > Bug: v8:9161 > Change-Id: Ic089928652f75865bfdb11e7453806faa6ecb988 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581641 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61004} Bug: v8:9161 Change-Id: Idffc3fbb5f28f4966c8f1ac6770d5b5d6003a7e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583726Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61011}
-
Frederik Gossen authored
Verify that baseline and top tier compilation are finished when expected. Test cases will use the newly exposed functions {baseline_compilation_finished} and {top_tier_compilation_finished} for this. Bug: v8:9003 Change-Id: I023af3390ed5e087a3b40efe7c340d7e93071a51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581941Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Frederik Gossen <frgossen@google.com> Cr-Commit-Position: refs/heads/master@{#61010}
-
Michael Achenbach authored
TBR=sergiyb@chromium.org NOTRY=true Bug: v8:9176 Change-Id: I83dd4a76f8b112f4e134d303cc6247ad6636a994 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583766Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#61009}
-
Frederik Gossen authored
Print callee in mjsunit tests. Bug: v8:9003 Change-Id: I9d2abf52a61288f3a58bfd2aee7aeea4a19a25b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582410Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Frederik Gossen <frgossen@google.com> Cr-Commit-Position: refs/heads/master@{#61008}
-
Michael Achenbach authored
This reverts commit 3d846115. Reason for revert: The test hangs flakily on windows: https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/20612 https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20nosnap%20-%20shared/33147 https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/19945 Original change's description: > [typedarray] Fix crash when sorting SharedArrayBuffers > > TypedArray#sort has a fast-path when the user does not provide a > comparison function. This fast-path utilizes std::sort which operates > directly on the raw data. Per spec, std::sort requires the "less than" > operation to be anti-symmetric and transitive. > > When sorting SharedArrayBuffers (SAB) that are concurrently modified during > sorting, the "less than" operator stops being consistent as the > underlying data is constantly modified. This breaks some invariants > in std::sort resulting in infinite loops or straight out segfaults. > > This CL fixes this by copying the data before sorting SABs and > writing the sorted result back. > > Note: The added regression test is tailored for ASAN bots as a > normal build would need too many iterations to consistently crash. > > R=neis@chromium.org, petermarshall@chromium.org > > Bug: v8:9161 > Change-Id: Ic089928652f75865bfdb11e7453806faa6ecb988 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581641 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61004} TBR=neis@chromium.org,petermarshall@chromium.org,szuend@chromium.org Change-Id: I046da3e4228bb1a8a3aa89d9c9d8de11875a9273 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9161 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583725Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#61007}
-
Georg Neis authored
An email pattern like *@*foo.bar matches unintended addresses such as bla@foofoo.bar. Split it into *@foo.bar and *@*.foo.bar instead. This corresponds to what is done in chromium's AUTHORS file. Change-Id: I2f463fbc41cfcfced1151542f64d054dbe85e563 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581642Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61006}
-
peterwmwong authored
It shipped in Chrome 73. Bug: v8:6890 Change-Id: Idd8c98cf05a0d6e8fa58c5b0a34d079631f68b1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582879Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#61005}
-
Simon Zünd authored
TypedArray#sort has a fast-path when the user does not provide a comparison function. This fast-path utilizes std::sort which operates directly on the raw data. Per spec, std::sort requires the "less than" operation to be anti-symmetric and transitive. When sorting SharedArrayBuffers (SAB) that are concurrently modified during sorting, the "less than" operator stops being consistent as the underlying data is constantly modified. This breaks some invariants in std::sort resulting in infinite loops or straight out segfaults. This CL fixes this by copying the data before sorting SABs and writing the sorted result back. Note: The added regression test is tailored for ASAN bots as a normal build would need too many iterations to consistently crash. R=neis@chromium.org, petermarshall@chromium.org Bug: v8:9161 Change-Id: Ic089928652f75865bfdb11e7453806faa6ecb988 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581641Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61004}
-
Simon Zünd authored
This CL refactors and extends the infrastructure around sending diagnostic notifications. This enables publishing lint errors as warnings after a compilation run. R=sigurds@chromium.org, tebbi@chromium.org Bug: v8:8880 Change-Id: Ia64d2d490c1449021c92f5dc45eb7f8dab21e60a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582405 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61003}
-
Michael Achenbach authored
Bug: chromium:775123 Change-Id: I970bdbb9759f765257167531110a16cb4257af10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581607 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#61002}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Bug: v8:9058 Change-Id: I61a3f28565e703304315ef5758c7d1796ec4cb1e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582406Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#61001}
-
Jakob Gruber authored
When the snapshot blob is not aligned properly, loading it can cause a crash on platforms such as arm. This was exposed by a SIGBUS/BUS_ADRALN crash on arm when accessing the blob_data symbol (declared as a byte array) through a reinterpret cast to uintptr_t in an internal snapshot build. Thanks to florian.dold@gmail.com for the initial patch. Bug: v8:9171 Change-Id: I99b071dec3733416f2f01b58a770e30d8f2dcdf2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582402 Commit-Queue: Dan Elphick <delphick@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61000}
-
Jakob Gruber authored
This reverts commit 7a2651cb. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Android%20Arm64%20-%20N5X/4126 Original change's description: > [arm64] Cleanup TODO around handling of x18 > > Use `padreg` instead of x18 to maintain alignment in the CPURegList. > > Also clean up some comments and tidy up RequiredStackSizeForCallerSaved > and PushCallerSaved. > > Change-Id: I80a780e5649e69a1746c43f37c2d1d875120c7a0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581609 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> > Cr-Commit-Position: refs/heads/master@{#60987} TBR=jgruber@chromium.org,martyn.capewell@arm.com,joey.gouly@arm.com Change-Id: Id95ac26142717f6503d284d20ca03b9de33a9122 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582403Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60999}
-
v8-ci-autoroll-builder authored
Rolling v8/base/trace_event/common: https://chromium.googlesource.com/chromium/src/base/trace_event/common/+log/ebb658a..63246bb Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/5160e91..8ab7b3e Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/429d9b4..ab7b8fe Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/0d82718..bdc80cb TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Id0b0c5d63e8330487e01e1f4e479f125516bc560 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582836Reviewed-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@{#60998}
-
Kevin Gibbons authored
Bug: v8:9160 Change-Id: If3f624c1ccf1ed397daa3e30b3a7ec2a73b7c9b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578279Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Kevin Gibbons <bakkot@gmail.com> Cr-Commit-Position: refs/heads/master@{#60997}
-
- 24 Apr, 2019 20 commits
-
-
Sathya Gunasekaran authored
Make sure to adapt the formal parameters for the Promise.allSettled method. Bug: v8:7834 Change-Id: I255fc695f5ac0d62ed18f5aad78665feb38c241a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1580239 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#60996}
-
Z Duong Nguyen-Huu authored
Also, fix CSA generator for call runtime with return type of object. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver Bug: v8:6664 Change-Id: I61ce1fa72a498520dd811f034e182f060f115330 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1573042 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60995}
-
Sathya Gunasekaran authored
This reverts commit 98bbe37e. Reason for revert: breaks gc_stress bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/22113 Original change's description: > Remove always-true --harmony-object-from-entries runtime flag > > It shipped in Chrome 73. > > Bug: v8:8021 > Change-Id: I82875829ff081ce055a0184170b15c65efca1c38 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581647 > Commit-Queue: Mathias Bynens <mathias@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Auto-Submit: Mathias Bynens <mathias@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60992} TBR=gsathya@chromium.org,mathias@chromium.org Change-Id: I812d62a7e8b70a8646e606da5f0f8812fac330c7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8021 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582882 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#60994}
-
Z Duong Nguyen-Huu authored
Bug: v8:6831 Change-Id: I4d4d9b65a346384b8f6c6dc2cfe0c1ce88116e18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1574503 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60993}
-
Mathias Bynens authored
It shipped in Chrome 73. Bug: v8:8021 Change-Id: I82875829ff081ce055a0184170b15c65efca1c38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581647 Commit-Queue: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#60992}
-
Clemens Hammacher authored
This reverts commit 81dd67db. Reason for revert: Breaks gc-stress: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/22111 Original change's description: > Improve test coverage for non-extensible holey array in optimized code > > Bug: v8:6831 > Change-Id: Icb4b504771e623b3c9503c6daffd7b771fbef3a6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1575036 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#60990} TBR=verwaest@chromium.org,duongn@microsoft.com Change-Id: I0a581c1e47d9883a2727000843ad4e9ede2e411d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6831 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581648Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60991}
-
Z Duong Nguyen-Huu authored
Bug: v8:6831 Change-Id: Icb4b504771e623b3c9503c6daffd7b771fbef3a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1575036Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60990}
-
Ross McIlroy authored
This is a reland of d6121fd1 Original change's description: > [Interpreter] Ensure Test*Handler don't allocate a frame for fast-path. > > Avoids allocating a frame for the fast-path in TestEqual, TestEqualStrict and > TestLess/GreaterThan bytecode handlers. Also changes how feedback is tracked > to try and avoid needing to keep feedback to "combine" with if it's unecessary > which reduces the liveranges of the registers holding this data. > > This reduces the time needed for a tight loop in Ignition (e.g., > while (i < 1000000000) ++i;) from 12.8s to 10.8s. > > BUG=v8:9133 > > Change-Id: I686b9da89541d15d233635db3276de3dad2fa282 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570020 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60906} TBR=jgruber@chromium.org Bug: v8:9133 Change-Id: Ie9940d029d412986e6713438630565a98fe3c51c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1582401Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#60989}
-
Hannes Payer authored
Bug: v8:9093 Change-Id: I6d71e8ebd34e2495312b01facbb896e0d5ae8a8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581645 Auto-Submit: Hannes Payer <hpayer@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60988}
-
Joey Gouly authored
Use `padreg` instead of x18 to maintain alignment in the CPURegList. Also clean up some comments and tidy up RequiredStackSizeForCallerSaved and PushCallerSaved. Change-Id: I80a780e5649e69a1746c43f37c2d1d875120c7a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581609Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#60987}
-
Tobias Tebbi authored
The order of the typeswitch branches causes repeated Smi-checks. This CL fixes this by putting the Number case first. However, the generated code is still worse due to repeated Map and InstanceType loads. This will be fixed by a future load elimination for Torque/CSA. Bug: chromium:955976 Change-Id: I0f59ef795878f65b3cb11246626738bc33f8aff5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581644 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60986}
-
Mathias Bynens authored
It shipped in Chrome 72. Bug: v8:7782 Change-Id: I9ddee4370dd65821020dd7292d9e9b9850d060df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581603Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#60985}
-
Tobias Tebbi authored
Add suport for large object space allocations in Turbofan and use it from CSA when young large objects are enabled. This maintains the Turbofan invariant that the generation is statically predictable. In principle, this enables write barrier elimination for large objects allocated from Torque/CSA. But it doesn't seem to trigger much yet, probably we have to improve the MemoryOptimizer. Bug: v8:7793 Change-Id: I7ea7d0cb549573db65fafe5df5edf67e0ce90893 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1565905Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60984}
-
Simon Zünd authored
This CL changes lint errors to not be printed directly to stderr. Instead, they are collected in a list that gets surfaced via the TorqueCompilerResult. This is done so they can be presented to language server clients. This change also removes the "abort_on_lint_errors" option. API users can now decide for themselves what to do, depending on the presence of lint errors in the returned list. R=sigurds@chromium.org, tebbi@chromium.org Bug: v8:8880 Change-Id: I44601010491aafcf4c8609fd8c115219317506a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581608Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60983}
-
Igor Sheludko authored
... and make the checks stricter. Bug: chromium:954852 Change-Id: Ib28246d275b0cadff00012f02f8aca4c4c235cc5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581599 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60982}
-
Jakob Gruber authored
When collecting JS block coverage, we track block execution counts on so-called CoverageInfo objects. Generated bytecode and native code contains inlined snippets of code to increment the appropriate counters. These used to be implemented as calls to the IncBlockCounter runtime function. Each call incurred the entire CEntry overhead. This CL reduces that overhead by moving logic over into a new IncBlockCounter TFS builtin. The builtin is called directly from bytecode, and lowered to the same builtin call for optimized code. Drive-by: Tweak CoverageInfo layout to generate faster code. Tbr: jarin@chromium.org Bug: v8:9149, v8:6000 Change-Id: I2d7cb0db649edf7c56b5ef5a4683d27b1c34605c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1571420Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60981}
-
Sergiy Belozorov authored
The --run-count-multiplier flag was used to run an experiment and is not needed anymore. It will be superceeded by another parameter that will run benchmarks as many times as needed until needed confidence is achieved. R=machenbach@chromium.org No-Try: true No-Tree-Checks: true Bug: chromium:880724 Change-Id: Iedd3d0f900a838f97cfa3339f582f6d02cce3e93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578504 Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60980}
-
peterwmwong authored
Bug: v8:8976 Change-Id: Idc896770fd0f448c37d8d83b7970e3f8e16f5f2e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1572682 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60979}
-
Jaroslav Sevcik authored
This fixes the bounds check for the 'in' operator to handle the negative index case properly (by using the same machinery as the potentially out-of-bounds loads/stores use). Bug: chromium:952586 Change-Id: I2225acae8be7dcedbcde745e8ef202e789085041 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581179Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60978}
-
Michael Starzinger authored
This extends the existing test coverage of interactions between the exception handling and the reference type proposal. Now "any-func" and "except-ref" can both be encoded as an exception value. Missing switch cases have been added. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-anyref[-interpreter] BUG=v8:8091,v8:7581 Change-Id: Ie2e9819fe66b4daab623390f27bb19007131f619 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581600Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60977}
-