- 10 Jul, 2019 1 commit
-
-
Clemens Hammacher authored
This reverts commit 8f8ae4f8. Reason for revert: Still failing layout tests: https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/33036 Original change's description: > Reland: Serialize native errors > > This is a reland of https://crrev.com/c/v8/v8/+/1649257. The original > change was reverted because it conflicted with a blink-side serialization > tag. > > Make native errors serializable. > > The implementation is mostly straightforward, but there is one > exception: the stack property. Although the property is not specified, > the spec for error cloning asks us to preserve the property if > possible. This implementation serializes the property only when it is > a string, and otherwise ignores it. > > Spec: https://github.com/whatwg/html/pull/4665 > Intent-to-Ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/f8JngIi8qYs > > Bug: chromium:970079 > Change-Id: Ic1ff07be2c5be415bfb564fa3975bc1a55a06a72 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1692366 > Reviewed-by: Simon Zünd <szuend@chromium.org> > Commit-Queue: Yutaka Hirano <yhirano@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62607} TBR=jbroman@chromium.org,yhirano@chromium.org,szuend@chromium.org Change-Id: Ia52b3e3997663fc293e9d217e5a56544b28d050d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:970079 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695462Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62614}
-
- 09 Jul, 2019 4 commits
-
-
Yutaka Hirano authored
This is a reland of https://crrev.com/c/v8/v8/+/1649257. The original change was reverted because it conflicted with a blink-side serialization tag. Make native errors serializable. The implementation is mostly straightforward, but there is one exception: the stack property. Although the property is not specified, the spec for error cloning asks us to preserve the property if possible. This implementation serializes the property only when it is a string, and otherwise ignores it. Spec: https://github.com/whatwg/html/pull/4665 Intent-to-Ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/f8JngIi8qYs Bug: chromium:970079 Change-Id: Ic1ff07be2c5be415bfb564fa3975bc1a55a06a72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1692366Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#62607}
-
Yutaka Hirano authored
This reverts commit 85bc4ef6. Reason for revert: The tag 'e' conflicts with a blink serialization tag: kFileIndexTag. Original change's description: > Serialize native errors > > Make native errors serializable. > > The implementation is mostly straightforward, but there is one > exception: the stack property. Although the property is not specified, > the spec for error cloning asks us to preserve the property if > possible. This implementation serializes the property only when it is > a string, and otherwise ignores it. > > Spec: https://github.com/whatwg/html/pull/4665 > Intent-to-Ship: <TBD> > > Bug: chromium:970079 > Change-Id: I7f36b8b4fc5dff22d726d849ccfb9748d0888365 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649257 > Commit-Queue: Yutaka Hirano <yhirano@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62584} TBR=jbroman@chromium.org,yhirano@chromium.org,adamk@chromium.org,domenic@chromium.org,szuend@chromium.org Change-Id: Ia0cc902eaa1419cdb0cfec377d8a40fa914612c9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:970079 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1692365 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62589}
-
Yutaka Hirano authored
Make native errors serializable. The implementation is mostly straightforward, but there is one exception: the stack property. Although the property is not specified, the spec for error cloning asks us to preserve the property if possible. This implementation serializes the property only when it is a string, and otherwise ignores it. Spec: https://github.com/whatwg/html/pull/4665 Intent-to-Ship: <TBD> Bug: chromium:970079 Change-Id: I7f36b8b4fc5dff22d726d849ccfb9748d0888365 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649257 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62584}
-
Simon Zünd authored
This CL changes non-const reference arguments to either a const reference, or pass-by-value combined with std::move. Bug: v8:9429 Change-Id: Iabace132f855462612ac31922fbd8b456d8ae20d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690827Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62583}
-
- 08 Jul, 2019 7 commits
-
-
Bill Budge authored
Change-Id: Ia506f4741e6ff9f024199d1b1fa7abb7dafe2b25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682835 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#62581}
-
Clemens Hammacher authored
This reverts commit 31cd5d83. Reason for revert: It breaks my heart to revert this, but it fails differently on several bots, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/26671. Original change's description: > [arraybuffer] Rearchitect backing store ownership > > This CL completely rearchitects the ownership of array buffer backing stores, > consolidating ownership into a {BackingStore} C++ object that is tracked > throughout V8 using unique_ptr and shared_ptr where appropriate. > > Overall, lifetime management is simpler and more explicit. The numerous > ways that array buffers were initialized have been streamlined to one > Attach() method on JSArrayBuffer. The array buffer tracker in the > GC implementation now manages std::shared_ptr<BackingStore> pointers, > and the construction and destruction of the BackingStore object itself > handles the underlying page or embedder-allocated memory. > > The embedder API remains unchanged for now. We use the > v8::ArrayBuffer::Contents struct to hide an additional shared_ptr to > keep the backing store alive properly, even in the case of aliases > from live heap objects. Thus the embedder has a lower chance of making > a mistake. Long-term, we should move the embedder to a model where they > manage backing stores using shared_ptr to an opaque backing store object. > > R=mlippautz@chromium.org > BUG=v8:9380,v8:9221 > > Change-Id: I48fae5ac85dcf6172a83f252439e77e7c1a16ccd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584323 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62572} TBR=ulan@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org Change-Id: Ib35788ba8c31192d90cbc72df3dbc41030f109de No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9380, v8:9221 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691034Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62578}
-
Ben L. Titzer authored
This CL completely rearchitects the ownership of array buffer backing stores, consolidating ownership into a {BackingStore} C++ object that is tracked throughout V8 using unique_ptr and shared_ptr where appropriate. Overall, lifetime management is simpler and more explicit. The numerous ways that array buffers were initialized have been streamlined to one Attach() method on JSArrayBuffer. The array buffer tracker in the GC implementation now manages std::shared_ptr<BackingStore> pointers, and the construction and destruction of the BackingStore object itself handles the underlying page or embedder-allocated memory. The embedder API remains unchanged for now. We use the v8::ArrayBuffer::Contents struct to hide an additional shared_ptr to keep the backing store alive properly, even in the case of aliases from live heap objects. Thus the embedder has a lower chance of making a mistake. Long-term, we should move the embedder to a model where they manage backing stores using shared_ptr to an opaque backing store object. R=mlippautz@chromium.org BUG=v8:9380,v8:9221 Change-Id: I48fae5ac85dcf6172a83f252439e77e7c1a16ccd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584323 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62572}
-
Andreas Haas authored
When I implemented these instructions, I copied the naming scheme of {GetGlobal}. That's not appropriate for the table.get instruction though, and I decided I suffered enough from that bad name now. R=clemensh@chromium.org Bug: v8:7581, v8:9396 Change-Id: Id1796425458f3d06a2da774374f02c49d665d2c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690835Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62563}
-
Santiago Aboy Solanes authored
This CL aims to address the regressions that we saw in Octane 2.1, particularly in the DeltaBlue test. This CL brings a 5% improvement in said test by doing CompressedSigned -> Word32 conversion (instead of CompressedSigned -> TaggedSigned -> Word32). There seems to be room for optimizations doing more specialized conversions regarding representation changes. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I24e5b6c06436fdda9fa6a1ac4699dc55c3d67abd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1684075 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62557}
-
Clemens Hammacher authored
R=ahaas@chromium.org Bug: v8:9429, v8:9396 Change-Id: I2a66142c04b2ec0e3ed57ea2392dda6d17d53b38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687895 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62554}
-
Clemens Hammacher authored
Cpplint usually checks for non-const reference arguments. They are forbidden in the style guide, and v8 does not explicitly make an exception here. This CL re-enables that warning, and fixes all current violations by adding an explicit "NOLINT(runtime/references)" comment. In follow-up CLs, we should aim to remove as many of them as possible. TBR=mlippautz@chromium.org Bug: v8:9429 Change-Id: If7054d0b366138b731972ed5d4e304b5ac8423bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687891Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62551}
-
- 05 Jul, 2019 2 commits
-
-
Maya Lekova authored
Got rid of the following circular header dependency chains: compilation-dependencies <-> js-heap-broker <-> access-info types <-> js-heap-broker <-> access-info Extracted former CompilationDependencies::Dependency class into its own header. Extracted *Ref classes into their own header. This should enable building on older GCC versions, e.g. 5.4.0. Bug: v8:9440 Change-Id: Ia345bc227d8f7806d0b8622b706346a7ce6d01ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687415 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62541}
-
Sigurd Schneider authored
And make --trace-turbo-alloc honor --trace-turbo-filter This is useful to filter out a specific compile job, e.g. if mksnapshot is crashing it easily produces 5GB of logs without filter. TBR=bmeurer@chromium.org Change-Id: Ic7dea0a4cef793b517d98ca2ba1f6ea6eeac63ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521111 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#62536}
-
- 03 Jul, 2019 1 commit
-
-
Mike Stanton authored
In native context specialization, reducing a JSResolvePromise node requires us to know that there are no "then" properties on the resolution object's maps. This work must be done at serialization time. Bug: v8:7790 Change-Id: If905513a028bc3d71379e2a31e86fff1d3383141 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1666988Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62519}
-
- 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}
-
- 24 Jun, 2019 2 commits
-
-
Santiago Aboy Solanes authored
This is a CL that aims to do a general cleanup of DecompressionElimination to make it easier for devs to look at it, and to create new test cases. Combined direct decompression & compression tests since they can be summarized with a for loop in just one test that tries out all the combinations. Also created 'global' accesses to stop repeating them in every test. Same for compression and decompression ops. Added EXPECT in test cases that had none. Added dots after comments. Variables now use underscore instead of camelCase. Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:8977, v8:7703, v8:9183 Change-Id: I38a5c6549e0b4ff89c3271ead23b626e8b6b4843 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628788Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#62345}
-
Clemens Hammacher authored
We have a global test/OWNERS that has "file://COMMON_OWNERS". This CL removes redundant OWNERS files in test/ subdirectories and removes redundant entries from OWNERS files we need to keep for special per-file entries. R=yangguo@chromium.org, machenbach@chromium.org CC=jkummerow@chromium.org Bug: v8:9247 Change-Id: Ic2e8cbe8e379d7d23c86c6164305e65807f28ed3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1674024Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62336}
-
- 21 Jun, 2019 2 commits
-
-
Ross McIlroy authored
Calling FindIndexInScript performs a linear search on the script functions and can take considerable time. With Bytecode flushing we will lose the function_literal_id and have to call FindIndexInScript if we ever recompile the flushed function. This can take a significant proportion of the recompilation time and has caused regressions in rendering times for some web applications (e.g, 395ms in FindIndexInScript for 132ms spent lazily re-compiling code). To avoid this, add function_literal_id back into the SFI and remove it from UnoptimizedCompileInfo. This will slightly regress memory usage (particularly in cases where many of the SFIs are compiled), however it means we can remove the FindIndexInScript function and avoid these long-tail regressions when bytecode is flushed. BUG=chromium:965833 Change-Id: Ia31e82eb6c871a6d698a518326a8555822a7a1d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669700Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#62319}
-
Sigurd Schneider authored
v8memory.h does not have V8 specific definitions, and having it in base makes it clear that every component may include the file. It also ensures that including it does not create spurious dependencies on v8_base. Change-Id: I565f63b25f33a9ada19d7b2ac5990863ab17f4a7 Bug: v8:9183, v8:8855 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657923 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62309}
-
- 18 Jun, 2019 3 commits
-
-
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}
-
Mythri A authored
Bug: v8:8394, v8:8801, v8:9183 Change-Id: I29ff1a6dda97e89335b30fcc8c380bcb4055e1fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664690Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#62254}
-
Georg Schmid authored
We previously only optimized cases like Parent <- Decompression <- Compression <- Child to Parent <- Child This CL also adds the complementary optimization, namely, it reduces Parent <- Compression <- Decompression <- Child as above. Such a cases became apparent after a recent extension of CSA load elimination (see https://chromium-review.googlesource.com/c/v8/v8/+/1660626), breaking a load elimination test case and thus the pointer compression build. R=jarin@chromium.org, solanes@chromium.org Change-Id: Ic730d05175f214e7055f94704141744ca44fefe5 Bug: v8:9353 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664070 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62246}
-
- 17 Jun, 2019 2 commits
-
-
Jaroslav Sevcik authored
This in in preparation for generic (off-heap/on-heap) bytecode array accessor. Bug: v8:7790 Change-Id: Ib419831ba1db95ab938179723ef5f130f01ae0d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635895 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#62222}
-
Georg Schmid authored
This is a reland of a66e3e57 Original change's description: > [csa] Tweak CSA pipeline to eliminate more redundant checks > > - Lower LoadObjectField to LoadFromObject > - Mark LoadFromObject and StoreToObject as non-allocating > - Use optimizable BitcastTaggedSignedToWord in TaggedIsNotSmi check > > R=jarin@chromium.org, tebbi@chromium.org > > Change-Id: I42992d46597be795aee3702018f7efd93fcc6ebf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657926 > Commit-Queue: Georg Schmid <gsps@google.com> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62173} R=tebbi@chromium.org Change-Id: Id7ae13ba17a2083fd4109f34ce026030716ececb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660622 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62202}
-
- 14 Jun, 2019 2 commits
-
-
Yang Guo authored
This reverts commit a66e3e57. Reason for revert: Likely to have caused UBSAN issues: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/6671 Original change's description: > [csa] Tweak CSA pipeline to eliminate more redundant checks > > - Lower LoadObjectField to LoadFromObject > - Mark LoadFromObject and StoreToObject as non-allocating > - Use optimizable BitcastTaggedSignedToWord in TaggedIsNotSmi check > > R=jarin@chromium.org, tebbi@chromium.org > > Change-Id: I42992d46597be795aee3702018f7efd93fcc6ebf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657926 > Commit-Queue: Georg Schmid <gsps@google.com> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62173} TBR=jarin@chromium.org,tebbi@chromium.org,gsps@google.com Change-Id: I0a1c0515a8a61d32f77a392f1efc0751b6aae2a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660485Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62179}
-
Georg Schmid authored
- Lower LoadObjectField to LoadFromObject - Mark LoadFromObject and StoreToObject as non-allocating - Use optimizable BitcastTaggedSignedToWord in TaggedIsNotSmi check R=jarin@chromium.org, tebbi@chromium.org Change-Id: I42992d46597be795aee3702018f7efd93fcc6ebf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657926 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62173}
-
- 12 Jun, 2019 2 commits
-
-
Mike Stanton authored
As a component of the wider Turbofan logging scheme, it makes sense for JSHeapBroker logging to come through flags specified in the OptimizedCompilationInfo class, which uses --trace-turbo-filter to control which functions are logged. Bug: v8:7790 Change-Id: I3b068d8be78867ab0bd9607dda9eca4123b9d7b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1655297Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62111}
-
Benedikt Meurer authored
API calls made via the CallApiCallback builtin, which is used from the ICs and optimized code, are currently misattributed to the wrong counter InvokeFunctionCallback instead of FunctionCallback. In addition we don't use the C trampoline when only runtime call stats are enabled, but the Chrome DevTools profiler is not active, which means that these calls will not be attrituted properly at all, and that had to be worked around using all kinds of tricks (i.e. disabling fast-paths in ICs when RCS is active and not inlining calls/property accesses into optimized code depending on the state of RCS). All of this was really brittle and only due to the fact that the central builtin didn't properly check for RCS (in addition to checking for the CDT profiler). With this fix it's now handled in a central place and attributed to the correct category, so user code doesn't need to worry about RCS anymore and can just call straight into the fast-path. Drive-by-fix: Do the same for AccessorInfo getter calls, which share the core hand-written native code with the API callback logic. Bug: v8:9183 Change-Id: Id0cd99d3dd676635fe3272b67cd76a19a9a9cea4 Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1651470 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62109}
-
- 11 Jun, 2019 3 commits
-
-
Simon Zünd authored
This CL adds lint errors for unused Torque macros. To prevent lots of noisy warnings, the check is rather narrow. Macros declared as "extern" or marked with "@export" are ignored. Also macros starting with "Convert", "Cast" or "FromConstexpr" are not checked. Drive-by: Removing some unused macros. Bug: v8:7793 Change-Id: Ie0d2e445f8882a9b0ebbda45876b342abf341248 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645312 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62092}
-
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}
-
Simon Zünd authored
This CL introduces an 'import' statement. It does not produce any AST node. The AST contextual directly collects what source id imports what other source id. Currently the import map is unused. In the future, import syntax will be used to implement partial compilation. Bug: v8:7793 Change-Id: I5f09e6254d7ca2e7bc1a93d2e2d82e202cafc8ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649357 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62080}
-
- 08 Jun, 2019 1 commit
-
-
Ben Smith authored
PrintWasmText is used for disassembling wasm code in DevTools, but many instructions are not implemented. This test should make it easier to remember to implement this when adding new instructions. Change-Id: I6030a70113320f11a1ac0436bf0d220b5c41e6d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1647475 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62063}
-
- 07 Jun, 2019 1 commit
-
-
Georg Schmid authored
Currently, decompression elimination may reduce phis by pushing decompressions in the value inputs of the phi "down" and replacing it by a single decompression following the phi node. Because of the way that the replacement is currently done, other reducers in the same phase will not generally get a chance to revisit the modified phi. In the specific case of v8:9335 this blocked an additional optimization in CommonOperatorReducer from being applied, causing the overall load elimination test to fail. This CL fixes the replacement behavior in decompression elimination to also allow for revisitations of the modified phi node. Bug: v8:9335 v8:9336 Change-Id: I3ca5686dacb41a525160b08456905ba77cf28b39 Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Change-Id: I3ca5686dacb41a525160b08456905ba77cf28b39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648238Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Schmid <gsps@google.com> Cr-Commit-Position: refs/heads/master@{#62054}
-
- 06 Jun, 2019 3 commits
-
-
Ulan Degenbaev authored
If the embedder specifies an initial heap size, then we can take it as a hint to skip full GCs below that threshold. Bug: v8:9306 Change-Id: I42a4c597bf75c6ba9845ed7a6bd9946012979005 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1646515Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62030}
-
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}
-
Ulan Degenbaev authored
The new API function is called ConfigureDefaultsFromHeapSize and accepts two parameters: the initial and the maximum heap size. Based on the given limits the function computes the default size for the young and the old generation. The patch also cleans up the existing functions to make them consistent in terms of units and heap structure. Bug: v8:9306 Change-Id: If2200a9cdb45b0b818a373207efe4e6426f7b688 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631593 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62017}
-
- 05 Jun, 2019 1 commit
-
-
Tobias Tebbi authored
TBR: yangguo@chromium.org Bug: v8:7793 Change-Id: Ie680d72a1da23038d3136f82532496eabbd9c363 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632227 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62004}
-
- 04 Jun, 2019 2 commits
-
-
Joey Gouly authored
On Windows, long is 32-bits, so the 'L' suffix shouldn't be used if a 64-bit value is needed. This caused a test failure in 'Int64MulWithImmediate'. Change-Id: I93c43a1f166aa0e5bcd53aaf7a860fffd006fd0b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627538 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61986}
-
Leszek Swirski authored
Avoid the linear lookup of function literal id when getting the shared function info TraceID, by optionally passing through a FunctionLiteral. Additionally, use the FunctionLiteralId helper when a FunctionLiteral is not available, since it can also fast-path in some cases. As a drive-by, allow using a ScriptIterator without an Isolate pointer (e.g. manually creating a handle) to allow calling FunctionLiteralId without an Isolate pointer. Bug: v8:9325 Change-Id: Ibfa053f300d6d5005485c67174a848264a5d1372 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1643429 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61983}
-