- 03 Jul, 2019 1 commit
-
-
Johannes Henkel authored
New Revision: d48ba2079ffcdaf2d99f4153127aab6dbe32a954 Change-Id: Idde7388b4f92492609c1714fc003ec3234c8bf82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1686451 Auto-Submit: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#62503}
-
- 01 Jul, 2019 1 commit
-
-
Johannes Henkel authored
New Revision: aec57d43b6a2c41c37fb0a2507108e89a9342177 This includes Junliang's fix for big endian. https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/1680051 Bug: v8:9355 Change-Id: I21aa77b20bbaa3c897391a85cb1862f943c12e22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682607Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62480}
-
- 28 Jun, 2019 1 commit
-
-
Johannes Henkel authored
New Revision: 8b7ea912e516a6daa61487c700687a9426e3a396 Update v8 files / build config accordingly. - There's now a new library in third_party/inspector_protocol, bindings/bindings.h, which is configured much like encoding/encoding.h. It doesn't have much stuff in it yet, but will soon get more code that would otherwise need to go into jinja templates. It also comes with a new test, only a smoke test thus far. Change-Id: I9c00a54a840c214b4bb744a3b272e5ce221954fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678273Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62442}
-
- 21 Jun, 2019 1 commit
-
-
Sigurd Schneider authored
Rework the implementation of non-external Torque classes to use Struct machinery rather than FixedArray machinery. This allows Torque-only defined 'internal' classes to the automatically generate class verifiers and printers. As part of this change, generate C++ boilerplate accessors for internal Torque classes, since this is a pre-requisite for the verifiers, printers and other Struct-based functionality. Moreover, augment the header-generating functionality in Torque to create separate header files for field offset definitions, internal class C++ definitions and instance types. Bug: v8:7793 Change-Id: I47d5f1570040c2b44d378f23b6cf95d3d132dacc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607645 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62317}
-
- 19 Jun, 2019 1 commit
-
-
Simon Zünd authored
This CL changes the generic version of Array#sort to use 'strict' DeleteProperty when "moving" holes to the end of the sort range. This brings V8 not only in line with the proposed Array#sort spec change, but also closer to what other engines do. Now all engines throw a TypeError when the new test case is run. R=jgruber@chromium.org, mathias@chromium.org Bug: v8:8714 Change-Id: Ic5bcd152ad55fd534c1e9e3218393bfe4a50667e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1666995 Commit-Queue: Simon Zünd <szuend@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62273}
-
- 18 Jun, 2019 1 commit
-
-
Seth Brenith authored
For every @noVerifier in base.tq, this change either removes it or ensures that it has some annotation explaining why it can't be removed. The @noVerifier usages that can't be removed fall into the following categories: 1. Classes that don't have their own instance types and therefore have no meaningful way to do an Is...() check 2. Fields that might not exist 3. Fields that are waiting for MaybeObject support in Torque Bug: v8:9311 Change-Id: Id452d4151ec07347ae96a9b5f3b26e2ac8065d31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1659134Reviewed-by:
Daniel Clifford <danno@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#62263}
-
- 15 Jun, 2019 1 commit
-
-
Johannes Henkel authored
New revision: 83b1154a9661d22bba9a368d368214cc20880419 This updates the usages of the protocol types to the new definitions, using std::vector-based implementations of protocol::Array. Change-Id: Ibb095862fed7db23f1a0b4b5b726bddbe1e2585e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1654091 Commit-Queue: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#62194}
-
- 14 Jun, 2019 3 commits
-
-
Tobias Tebbi authored
This is a reland of 6eff6cc9 Original change's description: > [torque] introduce separate implicit parameters for JavaScript calling convention > > Implicit parameters for builtins with JavaScript linkage are now separate, using > the keyword "js-implicit". They have to be one of: > - context: Context > - receiver: Object (this in JS) > - target: JSFunction (arguments.callee in JS) > - newTarget: Object (new.target in JS) > > Bug: v8:9120 v8:7793 > > Change-Id: I916f60971bb53d5046b6006725d0ce39291ca55e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658159 > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62174} TBR=tmrts@chromium.org Bug: v8:9120 v8:7793 Change-Id: Idb25d316d9d87e345ab74c2df583ff2648da012c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660483 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62182}
-
Yang Guo authored
This reverts commit 6eff6cc9. Reason for revert: Presubmit failure. Original change's description: > [torque] introduce separate implicit parameters for JavaScript calling convention > > Implicit parameters for builtins with JavaScript linkage are now separate, using > the keyword "js-implicit". They have to be one of: > - context: Context > - receiver: Object (this in JS) > - target: JSFunction (arguments.callee in JS) > - newTarget: Object (new.target in JS) > > Bug: v8:9120 v8:7793 > > Change-Id: I916f60971bb53d5046b6006725d0ce39291ca55e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658159 > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62174} TBR=sigurds@chromium.org,tebbi@chromium.org,tmrts@chromium.org,szuend@chromium.org Change-Id: Ide206788745bd15677bd60fe32d2476321967069 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9120 v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660482Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62175}
-
Tobias Tebbi authored
Implicit parameters for builtins with JavaScript linkage are now separate, using the keyword "js-implicit". They have to be one of: - context: Context - receiver: Object (this in JS) - target: JSFunction (arguments.callee in JS) - newTarget: Object (new.target in JS) Bug: v8:9120 v8:7793 Change-Id: I916f60971bb53d5046b6006725d0ce39291ca55e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658159Reviewed-by:
Tamer Tas <tmrts@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62174}
-
- 11 Jun, 2019 1 commit
-
-
Simon Zünd authored
This CL adds a lint error for variables that are unnecessarily bound with 'let' when they could be bound using 'const. This test is skipped for struct types. For struct types, the "constness" also depends on the struct methods called and whether these methods write to the struct or not. This is not straight-forward to detect. Drive-by: Fix all the newly introduced lint errors. Bug: v8:7793 Change-Id: I0522ffcc4321350eef2e9573b8430bc78200ddce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645322 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62085}
-
- 07 Jun, 2019 1 commit
-
-
Johannes Henkel authored
New rev: 91eb1c8784ab3d88ca1e327ffa727d922dd2ce70 Change-Id: I0be17a324ff64b2ee6c2657e3c2cea5d09f6c494 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649227 Auto-Submit: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#62060}
-
- 06 Jun, 2019 1 commit
-
-
Simon Zünd authored
This CL adds lint errors when 'let' bindings, arguments and labels are not used. Note that errors for 'const' bindings will be added later. In cases where arguments are actually needed to match the signature, the warning can be silenced by prefixing identifiers with "_". This might be needed for generic specializations or builtins called from TurboFan. Trying to use a variable or label that was marked with "_" results in a compilation error. Implicit arguments are not linted. They are implemented using exact string matching. Prefixing an implicit argument with "_" in a callee would break all callers as the names would no longer match. Drive-by: Fix all new lint errors in the existing Torque code. Bug: v8:7793 Change-Id: I68b3c59c76b956e9f88709e9388a40a19546ce52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645092 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62027}
-
- 03 Jun, 2019 1 commit
-
-
Yang Guo authored
R=rmcilroy@chromium.org NOPRESUBMIT=true Bug: v8:9247 Change-Id: I355ac92c323ab34e1898c0764856ebadc3357dcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635691 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#61960}
-
- 31 May, 2019 1 commit
-
-
Yang Guo authored
R=rmcilroy@chromium.org Bug: v8:9247 Change-Id: I2644436fd44ecf0e206a81cf28071cccb49793df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635690 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61936}
-
- 29 May, 2019 1 commit
-
-
Johannes Henkel authored
New revision: e8ba1a7665bdcd8336915d5ca4b390e0cf6b1f6f Change-Id: I6a916f003a29b0b9436ad031bbd43eddfa189e63 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1634938 Auto-Submit: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#61923}
-
- 27 May, 2019 2 commits
-
-
Simon Zünd authored
When allocating large arrays on 32-bit systems, the length conversion caused the work array capacity to become negative. As the sort range is currently clamped at kSmiMaxValue anyway, the fix is to also clamp the work capacity to that value. R=jgruber@chromium.org Bug: chromium:967065 Change-Id: I9ea60464c5b7f3796c5389cbaf668b990eddecf6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630672 Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61845}
-
Simon Zünd authored
COW arrays were previously handled in the C++ pre-processing runtime function. The Torque version forgot a "EnsureWritableFastElements". This CL fixes that. Bug: chromium:967254 Change-Id: Ifbf89e57cfe724e61316b8abc226f7e8a262fce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630675Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61835}
-
- 24 May, 2019 3 commits
-
-
Simon Zünd authored
This is a reland of 2b0ac2fb The layout test that caused this revert was fixed with: https://crrev.com/c/1627386 Original change's description: > [array] Move Array#sort pre-processing to Torque > > This CL removes the "PrepareElementsForSort" runtime function, and > replaces it with a simpler version in Torque. The biggest difference > is that certain sparse configurations no longer have a fast-path. > > The Torque pre-processing step replaces the existing Torque mechanism that > copied already pre-processed elements into the "work" FixedArray. The Torque > compacting works as follows: > - Iterate all elements from 0 to {length} > - If the element is the hole: Do nothing. > - If the element is "undefined": Increment undefined counter. > - In all other cases, push the element into the "work" FixedArray. > > Then the "work" FixedArray is sorted as before. Writing the elements from > the "work" array back into the receiver, after sorting, has three steps: > 1. Copy the sorted elements from the "work" FixedArray to the receiver. > 2. Add previously counted number of "undefined" to the receiver. > 3. Depending on the backing store either delete properties or > set them to the Hole up to {length}. > > Bug: v8:8714 > Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756 > Commit-Queue: Simon Zünd <szuend@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61812} TBR: jgruber@chromium.org Bug: v8:8714 Change-Id: If7613f6e5f37c5e0d649e8192195594bc6c32100 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627977 Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61827}
-
Simon Zünd authored
This reverts commit 2b0ac2fb. Reason for revert: Breaks scrollingcoordinator/non-fast-scrollable-region-nested.html layout test on https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/32241 Original change's description: > [array] Move Array#sort pre-processing to Torque > > This CL removes the "PrepareElementsForSort" runtime function, and > replaces it with a simpler version in Torque. The biggest difference > is that certain sparse configurations no longer have a fast-path. > > The Torque pre-processing step replaces the existing Torque mechanism that > copied already pre-processed elements into the "work" FixedArray. The Torque > compacting works as follows: > - Iterate all elements from 0 to {length} > - If the element is the hole: Do nothing. > - If the element is "undefined": Increment undefined counter. > - In all other cases, push the element into the "work" FixedArray. > > Then the "work" FixedArray is sorted as before. Writing the elements from > the "work" array back into the receiver, after sorting, has three steps: > 1. Copy the sorted elements from the "work" FixedArray to the receiver. > 2. Add previously counted number of "undefined" to the receiver. > 3. Depending on the backing store either delete properties or > set them to the Hole up to {length}. > > Bug: v8:8714 > Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756 > Commit-Queue: Simon Zünd <szuend@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61812} TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,tebbi@chromium.org,szuend@chromium.org Change-Id: If1c1bc07f38dfbd4bf6b6ce8f9d70714e7526877 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8714 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627976Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61814}
-
Simon Zünd authored
This CL removes the "PrepareElementsForSort" runtime function, and replaces it with a simpler version in Torque. The biggest difference is that certain sparse configurations no longer have a fast-path. The Torque pre-processing step replaces the existing Torque mechanism that copied already pre-processed elements into the "work" FixedArray. The Torque compacting works as follows: - Iterate all elements from 0 to {length} - If the element is the hole: Do nothing. - If the element is "undefined": Increment undefined counter. - In all other cases, push the element into the "work" FixedArray. Then the "work" FixedArray is sorted as before. Writing the elements from the "work" array back into the receiver, after sorting, has three steps: 1. Copy the sorted elements from the "work" FixedArray to the receiver. 2. Add previously counted number of "undefined" to the receiver. 3. Depending on the backing store either delete properties or set them to the Hole up to {length}. Bug: v8:8714 Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61812}
-
- 22 May, 2019 1 commit
-
-
Andrey Lushnikov authored
New revision: fe0467fd105a9ea90fbb091dc2a7b4cdbf539803 Change-Id: I0c53935b719194f16ade131f703d656749ace3d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1623586Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Auto-Submit: Andrey Lushnikov <lushnikov@chromium.org> Cr-Commit-Position: refs/heads/master@{#61720}
-
- 18 May, 2019 1 commit
-
-
Johannes Henkel authored
New Revision: 8ec18cf0885bef0b5c2a922c5dc3813cbf63e962 Change-Id: I65e271066599ed1aa1f9f8281be5b76e424d548d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1618159Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61627}
-
- 17 May, 2019 1 commit
-
-
Johannes Henkel authored
New revision: 0aafd2876f7485db7b07c513c0457b7cbbbe3304 https://chromium.googlesource.com/deps/inspector_protocol/+/0aafd2876f7485db7b07c513c0457b7cbbbe3304 Change-Id: I6e9babc8401a5af3085cce81b963f288d0392c07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613478Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61620}
-
- 15 May, 2019 1 commit
-
-
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++). Reland Change: Support pointer compression operands. R=jarin@chromium.org TBR=mvstanton@chromium.org Bug: v8:7793 Change-Id: I84e1831eb6bf9be14f36db3f8b485ee4fab6b22e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612904 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61522}
-
- 09 May, 2019 2 commits
-
-
Johannes Henkel authored
New revision: 50a14c3884caf012f3a5fc666d5eb8033d8a184a Change-Id: I7b4b99e8ec537373d3ec5b1390461824e58285b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1603217Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61394}
-
Johannes Henkel authored
This brings in third_party/inspector_protocol/encoding/encoding_test.cc from the upstream project and makes it work for v8's unittest suite. encoding_test_helper.h is a V8 specific implementation, which delegates to src/inspector/v8-string-conversions{.h,.cc}, for the utf8 / utf16 conversion routines. I'm also fixing / updating roll.py, for future rolls. Change-Id: I08e4784838ff81ef3ac328f783512b42c91b6bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1597215Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61393}
-
- 06 May, 2019 1 commit
-
-
Johannes Henkel authored
New revision: 2039736177ee11d96a096cdab9c58cc1d78faa43 This modifies roll.py to update namespaces and header guards. Also I'm removing --reverse, to avoid making this more complicated. third_party/encoding/encoding{.h,cc} are already up to date, since I manually propaged them earlier. So this is why this change is only updating the template. Change-Id: I5ddb075c9d6dad28b5665348023860683e964841 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1596392Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61253}
-
- 03 May, 2019 1 commit
-
-
Johannes Henkel authored
Keep the existing method for compatibility, by converting to json from CBOR using the inspector_protocol_encoding library, via a v8 specific interface library that directs routines for converting between strings and doubles to v8's implementations. This change also brings in the encoding.h / encoding.cc files from the upstream inspector_protocol project. The only modification here are the header guards, and the namespace. I will fix roll.py to make it so that we pick up future changes. third_party/inspector_protocol/BUILD.gn is specific to v8, by necessity. third_party/inspector_protocol/.clang-format is a copy of the upstream file. If we don't put this, we'll find ourselves auto-formatting the roll, which is annoying. This is a reland of https://chromium-review.googlesource.com/c/v8/v8/+/1590627 with the only modification in the DEPS file; this time I'm including third_party/inspector_protocol/encoding/encoding{.h,cc} in addition to the relative include there. Not sure why this is needed but I'm hoping it gets me past the presubmit which may resolve the include path relative to the V8 base (the ../../third_party is needed for when V8 is embedded into Chromium). Change-Id: Ic76b2b5faa7e1cbdceb15aff3f369e9a303e3e85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593646Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61214}
-
- 02 May, 2019 2 commits
-
-
Johannes Henkel authored
This reverts commit b7134d3a. Reason for revert: breaks presubmit Original change's description: > [DevTools] Add V8InspectorSession::state(), which returns binary (CBOR). > > Keep the existing method for compatibility, by converting > to json from CBOR using the inspector_protocol_encoding library, > via a v8 specific interface library that directs routines for > converting between strings and doubles to v8's implementations. > > This change also brings in the encoding.h / encoding.cc files from the > upstream inspector_protocol project. The only modification here > are the header guards, and the namespace. I will fix roll.py to > make it so that we pick up future changes. > > third_party/inspector_protocol/BUILD.gn is specific to v8, by necessity. > third_party/inspector_protocol/.clang-format is a copy of the upstream > file. If we don't put this, we'll find ourselves auto-formatting the roll, > which is annoying. > > Change-Id: I20fa8759164e7a39f8a7c30e0d2a3f8a7e4be227 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590627 > Reviewed-by: Alexei Filippov <alph@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Commit-Queue: Johannes Henkel <johannes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61187} TBR=dgozman@chromium.org,alph@chromium.org,caseq@chromium.org,johannes@chromium.org Change-Id: I67f297ef8454499036c94bf88e0d23657a579140 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1592130Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61189}
-
Johannes Henkel authored
Keep the existing method for compatibility, by converting to json from CBOR using the inspector_protocol_encoding library, via a v8 specific interface library that directs routines for converting between strings and doubles to v8's implementations. This change also brings in the encoding.h / encoding.cc files from the upstream inspector_protocol project. The only modification here are the header guards, and the namespace. I will fix roll.py to make it so that we pick up future changes. third_party/inspector_protocol/BUILD.gn is specific to v8, by necessity. third_party/inspector_protocol/.clang-format is a copy of the upstream file. If we don't put this, we'll find ourselves auto-formatting the roll, which is annoying. Change-Id: I20fa8759164e7a39f8a7c30e0d2a3f8a7e4be227 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590627Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61187}
-
- 30 Apr, 2019 1 commit
-
-
Johannes Henkel authored
New Rev: 8c3f1afc2dc5b8588bc2dc5f12a93255383d7236 Change-Id: I88fcc74b969d114cc6c491c9d1aa5872245f8f5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590624Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61138}
-
- 26 Apr, 2019 1 commit
-
-
Ross McIlroy authored
This reverts commit da7322c0. Reason for revert: Breaking the pointer compression bots, e.g.: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20pointer%20compression/3047 Original change's description: > [csa] verify skipped write-barriers in MemoryOptimizer > > 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} TBR=mvstanton@chromium.org,jarin@chromium.org,tebbi@chromium.org Change-Id: I36877cd6d08761726ef8dce8a3e3f2ce3eebe6cf No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585732Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61038}
-
- 25 Apr, 2019 1 commit
-
-
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}
-
- 17 Apr, 2019 2 commits
-
-
Jakob Kummerow authored
Plus a script to compile/link/run them. Change-Id: Iac8ffcda3a73902261c07a7b4e5d967a19414c75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564058 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60911}
-
Jakob Kummerow authored
Imported from https://github.com/WebAssembly/wasm-c-api/ and updated to work inside V8. Tests will be added in an upcoming CL. This is experimental; it is not yet recommended to rely on it. Change-Id: I05914f4b63298bf7c848c4d4c8811f0f6eb882e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516478 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60910}
-
- 16 Apr, 2019 1 commit
-
-
Johannes Henkel authored
To Revision 16b370abe6f4b59efea00377473b5dddb438defb. Also make roll.py executable (chmod u+x roll.py). Change-Id: Ib3b3767f7fc9c3eef044779c142f62f3d6923242 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1568651Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#60883}
-
- 11 Apr, 2019 1 commit
-
-
peterwmwong authored
Change-Id: Ic31b33ef4c290aee31be2d66295978908f568775 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1563410Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#60775}
-
- 05 Apr, 2019 1 commit
-
-
Vadim Gorbachev authored
For details see: https://python-future.org/compatible_idioms.html#file Bug: chromium:948824 Change-Id: Ib06568963073621bd8edf2c8edb89bf8253d3bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1549169Reviewed-by:
Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#60660}
-
- 04 Apr, 2019 1 commit
-
-
Tobias Tebbi authored
This changes the syntax for constructing structs and classes to explicitly mention the fieldnames, similar to JavaScript object literals. The fields still have to be listed in the same order as in the struct/class declaration. As in Javascript, {foo: foo} can be abbreviated as {foo}. Example: macro NewJSArray(implicit context: Context)( map: Map, elements: FixedArrayBase): JSArray { return new JSArray{ map, properties_or_hash: kEmptyFixedArray, elements, length: elements.length }; } Drive-by cleanup: Make struct and class constructors follow the same pattern in the parser and the AST. Bug: v8:9018 v8:7793 Change-Id: I22ff7f68270e4f406aa80731a709d41ea52f52bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1551999Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60622}
-