- 19 Jul, 2019 2 commits
-
-
Toon Verwaest authored
This is a reland of e55e0aa5 Original change's description: > [runtime] Fix protector invalidation > > Protectors trigger when special properties are modified or masked. Previously > we would check whether the property stored on the holder would invalidate the > protector. Stores to to the receiver rather than the holder, however, so this > CL changes holder for receiver, and adds additional checks that were missing. > > Bug: v8:9466 > Change-Id: I81bc3d73f91381da0d254e9eb79365ae2d25d998 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708468 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62805} Tbr: leszeks@chromium.org Bug: v8:9466 Change-Id: I693c73577ca9a35a271f509770cc1c87e5cc4b73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1709420 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62829}
-
Michael Starzinger authored
This makes sure the language mode of the module is correctly propagated through the WebAssembly module, so that exported functions are allocated with the correct language mode. It extends the existing {ModuleOrigin} enum to consist of three values now. R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-985154 BUG=chromium:985154 Change-Id: Id7b566738b1e710cc5001b894022bcd0f2c01bc3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708484 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#62826}
-
- 18 Jul, 2019 7 commits
-
-
Clemens Hammacher authored
This reverts commit bc33f5ae. Reason for revert: Still failing (OOM on win32): https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/22210 Original change's description: > Reland "[arraybuffer] Rearchitect backing store ownership" > > This is a reland of 31cd5d83 > > 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} > > Bug: v8:9380, v8:9221 > Change-Id: If3f72967a8ebeb067c0edcfc16ed631e36829dbc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691906 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62809} TBR=ulan@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org Change-Id: Iea755df9aaa1e95d284135bd0a6681b1340b6832 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/+/1708487Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62811}
-
Ben L. Titzer authored
This is a reland of 31cd5d83 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} Bug: v8:9380, v8:9221 Change-Id: If3f72967a8ebeb067c0edcfc16ed631e36829dbc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691906 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62809}
-
Sathya Gunasekaran authored
This reverts commit e55e0aa5. Reason for revert: speculative revert for tsan breakage https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8907588363297935904/+/steps/Check__flakes_/0/logs/regress-437713/0 Original change's description: > [runtime] Fix protector invalidation > > Protectors trigger when special properties are modified or masked. Previously > we would check whether the property stored on the holder would invalidate the > protector. Stores to to the receiver rather than the holder, however, so this > CL changes holder for receiver, and adds additional checks that were missing. > > Bug: v8:9466 > Change-Id: I81bc3d73f91381da0d254e9eb79365ae2d25d998 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708468 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62805} TBR=leszeks@chromium.org,verwaest@chromium.org Change-Id: Id8fc36525b7c5631589a67073ad1fd5815ea2775 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9466 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708482Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62807}
-
Toon Verwaest authored
Protectors trigger when special properties are modified or masked. Previously we would check whether the property stored on the holder would invalidate the protector. Stores to to the receiver rather than the holder, however, so this CL changes holder for receiver, and adds additional checks that were missing. Bug: v8:9466 Change-Id: I81bc3d73f91381da0d254e9eb79365ae2d25d998 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708468 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#62805}
-
Ben L. Titzer authored
This test fails in --stress-opt mode because backing stores of memories/arraybuffers that are postMessage()'d leak in d8. In normal mode, only ~16 memories are allocated, which is not enough to OOM, but in stress mode, it can be 5x that number. Should be fixed by upcoming ownership changes. BUG=v8:9380 R=clemensh@chromium.org Change-Id: Iecec07d15339cf43b23f128f13d570dfe3b32130 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708475Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62802}
-
Ross McIlroy authored
If we flush the bytecode from a SFI we might recompile a JSFunction while the function still has its old feedback vector. This should usually be fine since the new and old feedback vectors have the same layout, however some bugs in the parser mean that it's possible for eagerly and lazily compiled eval functions to have different bytecode and so potentially different feedback vector layouts. For now reset the feedback vector if it doesn't have the same size when we compile the JSFunction, and recreate a new one of the correct layout. This will be replaced with a CHECK once the parser bugs are fixed. BUG=chromium:984344,v8:9511 Change-Id: Ib8976f2541516f7a07e4d4ab7dc3c750dfe9b5d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708474 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#62800}
-
Andreas Haas authored
With recent spec changes, table.copy of length 0 does not trap anymore, and we copy backwards whenever src < dst. R=binji@chromium.org Change-Id: I48e2b65083565631abc41bf4fdf4971f80fdf440 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706471 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#62797}
-
- 17 Jul, 2019 9 commits
-
-
Tobias Tebbi authored
Adding two small builtins pushed this test over the OOM threshold, so we disable it for now. Bug: v8:9488 Change-Id: I6c0696c260cd8ef9e6ee59caec4848aab439fdf2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706049Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62783}
-
Clemens Hammacher authored
If multiple isolates are involved, we can run OOM when creating many wasm memories, because we only trigger GC in one isolate at a time. TBR=titzer@chromium.org No-Try: true Change-Id: I037b5a13c670c5da2abe54b5045df94637c94f72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706484Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62782}
-
Ben L. Titzer authored
TBR=clemensh@chromium.org No-Try: true Bug: v8:9506 Change-Id: Id7d0379f82fc0327063c910a650034fba831802d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706483Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62780}
-
Andreas Haas authored
By having the proposal tests now as part of the wasm-spec-tests, we do not need them here anymore. R=clemensh@chromium.org CC=binji@chromium.org Change-Id: I2530a4d2e2e8caa6fe8ef4d7e7b8b6da550a5134 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706475Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62778}
-
Clemens Hammacher authored
TBR=titzer@chromium.org No-Try: true Bug: v8:9506 Change-Id: Id8ab56654395ad6e8fd6f9bef8830f0efffda2f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706479Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62775}
-
Ben L. Titzer authored
This CL adds more stress-tests for both shared array buffers and WebAssembly memories. Because of an existing memory leak that will be fixed in upcoming CLs, some new tests are disabled. R=mstarzinger@chromium.org BUG=v8:9380 Change-Id: I2662e3d0a764a032a0c267b2d99e3ccd1a4951d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1697252 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62770}
-
Maya Lekova authored
Bug: v8:7790 Change-Id: If2a8123e5657f0ea9a007b5f1a82e9d1a91c80f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1679493Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62763}
-
Sathya Gunasekaran authored
This reverts commit 21e34c71. Reason for revert: breaks TSAN https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/27444 Original change's description: > [cleanup][test] split es6/classes.js into different tests > > es6/classes.js is large and causes timeouts and OOM on some of the > configurations. > > Bug: v8:9246 > Change-Id: Iaabfc39dd8f9554e16f67d66ce64acd3dd56b9ee > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1704103 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62758} TBR=mythria@chromium.org,gsathya@chromium.org Change-Id: I296d51ed682f51a3e6794858ab96b9407cc8ec56 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9246 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706058Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62760}
-
Mythri A authored
es6/classes.js is large and causes timeouts and OOM on some of the configurations. Bug: v8:9246 Change-Id: Iaabfc39dd8f9554e16f67d66ce64acd3dd56b9ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1704103Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#62758}
-
- 16 Jul, 2019 1 commit
-
-
Tianyou Li authored
Add CPU trace mark extension for adding a magic instruction like 'cpuid' to the code stream when perform trace collection. This feature can be enabled by --expose-cputracemark-as=THE_NAME_YOU_SPECIFIED option. Change-Id: I33e94793cddf4956dbb3ddddf2f599420aa4a945 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1699749 Commit-Queue: Tianyou Li <tianyou.li@intel.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62749}
-
- 15 Jul, 2019 5 commits
-
-
Nico Hartmann authored
RepresentationChanger::GetTaggedPointerRepresentation did not handle kCompressed cases correctly for BigInts. This led to a crash of BigInt benchmarks in js-perf-test. Bug: v8:9407 Change-Id: Id1d60a81afc528c8d4180bd5de9d237f2f0abd0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701848Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62718}
-
Michael Starzinger authored
Also see: https://github.com/WebAssembly/exception-handling/pull/84 R=ahaas@chromium.org BUG=v8:8091 Change-Id: Ibcf9a2bba019cbd634884cb217e1507231a5bcf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1700077Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62717}
-
Georg Neis authored
The bytecode graph builder may insert additional jumps for the SwitchOnGeneratorState bytecode and for loop headers. This plays into what the graph builder considers dead/alive. We want the serializer to process all the bytecodes that the graph builder will process, so the serializer needs to do something similar. Bug: v8:7790 Change-Id: I1f1d51f4a8951149e365b3c998cef7f613bb4953 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1647694 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62712}
-
Benedikt Meurer authored
When passing promises from other contexts to an `await`, the --harmony-await-optimization doesn't kick in, and as such the promise will be wrapped in a "native promise" (from this context). That means the promises aren't chained immediately, but delayed via a PromiseResolveThenableJob, which chains these promises on the next turn of this contexts' microtask queue. If there's anything happening on the macro task queue in between this and the point when an exception is raised, the chaining will have happened and we actually find our way back via the promise chains. And this CL adds support for exactly that case. For other cases, it's currently impossible to reconstruct the async stack unfortunately, but we hope that this will help with the major use cases, where the developer awaits on I/O. Bug: v8:7522, v8:8673, v8:9487 Ref: nodejs/node#28680 Change-Id: Icc06c7df12644c2d8d43b6c7580ee06bb8f1024a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701847 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62709}
-
Georg Neis authored
This test no longer fails with concurrent inlining. (Concurrent inlining is actually disabled in 'future' at the moment but will be turned on again soon.) Bug: v8:9094 Change-Id: I4d3f8021a7accff8cd670f3fef95a7995f1a9ba7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1700076Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#62702}
-
- 12 Jul, 2019 4 commits
-
-
Igor Sheludko authored
Bug: chromium:979401 Change-Id: I99ab2fd04bd2e23b4d7a494cecc056ec74cb9d04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687422 Auto-Submit: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62674}
-
Sathya Gunasekaran authored
Previously, we didn't have access checks for the megamorphic case cause we'd never get to this IC state for a receiver that doesn't hold the right private field. But now with lazy feedback allocation we share the megamorphic case code paths for the uninitialized loads as well, which exposes our bug. Bug: chromium:982702 Change-Id: I419406bcfc52575260a85d05520c1662735e15f8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1697256Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62668}
-
Nico Hartmann authored
This change implements lowering of speculative BigInt addition as well as BigInt heap constants to corresponding int64 versions, if they are used in a context where the result is truncated to the least significant 64 bits (e.g. using asUintN). The JSHeapBroker is extended to provide access to the BigInt's least significant digit during concurrent compilation. The BigInt context (required to introduce correct conversions) is recognized in the RepresentationChanger by either the output type propagated downward or the TypeCheckKind propagated upward. This is necessary, because the TypeCheckKind may only be set by nodes that may potentially deopt (and sit in the effect chain). This is the case for SpeculativeBigIntAdd, but not for BigIntAsUintN. This CL contains a simple fix to prevent int64-lowered BigInts to flow into state values as the deoptimizer cannot handle them yet. A more sophisticated solution to allow the deoptimizer to materialize truncated BigInts will be added in a following CL. Bug: v8:9407 Change-Id: I96a293e9077962f53e5f199857644f004e3ae56e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1684183 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62665}
-
Georg Schmid authored
This CL adds the --assert-types flag to d8, which is intended to insert additional runtime checks after typed nodes, verifying the validity of our typing rules. So far, only range types are checked. Thanks to Neil Patil for suggesting something similar. R=neis@chromium.org, tebbi@chromium.org Change-Id: I5eb2c482235ec8cd07ee802ca7c12c86c2d3dc40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678372 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62664}
-
- 11 Jul, 2019 8 commits
-
-
Ben Smith authored
The alignment should be 3 (i.e. 8 bytes), but was specified as 2 (i.e. 4 bytes). Bug: v8:9425 Change-Id: I0beb09df25fe0281ed604909e894afd804f5411e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1693836Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#62657}
-
Mythri A authored
With lazy feedback allocation and bytecode flushing we need to call %PrepareFunctionForOptimize before we call %OptimizeFunctionOnNextCall/ %OptimizeOsr. This cl: 1. Adds an additional state in pending optimized table to check if the optimization was triggered manually. 2. Changes the compilation pipeline to delete the entry from pending optimized table only if the optimization was triggered through %OptimizeFunctionOnNextCall / %OptimizeOsr. 3. Adds a check to enforce %PrepareFunctionForOptimize was called. 4. Adds a new run-time flag to only check in the d8 test runner. We don't want this check enabled in other cases like clusterfuzz that doesn't ensure %PrepareFunctionForOptimize is called. Bug: v8:8394, v8:8801, v8:9183 Change-Id: I9ae2b2da812e313c746b6df0b2da864c2ed5de51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664810 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#62653}
-
Mythri A authored
GetOwnPropertyNameTryFast uses ENUMERABLE_STRINGS filter to trigger fast path in KeyAccumulator::GetKeys conditionally when all properties on the receiver are enumerable. It is not easy to verify if all properties are enumerable and the current check is incorrect in some cases. For ex: when we have non-enumerable properties when we have elements on the receiver. This cl removes this try_fast path from the builtin. This could impact performance. The long term fix for this would be to fix KeyAccumulator::GetKeys to use fast path for more cases. Bug: chromium:977870 Change-Id: Iecde730739c2c452ffa0d893d0d1b3612a45d1b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1679499Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#62649}
-
Andreas Haas authored
R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I9db3d2e4b2e2a685f81b516da8e6737db01c1238 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695470 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62648}
-
Ben L. Titzer authored
In the atomics stress, the search for sequential sequences creates lots of new WebAssembly.Memory objects. This memory pressure is not central to this test, so reuse the same memory to make them less flaky. R=mstarzinger@chromium.org Change-Id: I8d135e7b82d572cb1df38f37a4e2f6393f6b2e05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1697247Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62644}
-
Michael Starzinger authored
This adds support for properly importing {WebAssembly.Function} objects that were constructed in JavaScript and just wrap a JavaScript callable. R=ahaas@chromium.org TEST=mjsunit/wasm/type-reflection BUG=v8:7742 Change-Id: I00e01db0d85b83d405eb28517d00fba62c253985 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690949 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62641}
-
Michael Starzinger authored
This fixes a corner-case where a {WasmExportedFunction} that represents a re-export of a JavaScript callable from another module was identified correctly, but not all corner-cases were correctly covered. Concretely we failed to check for function signatures incompatible with JavaScript. R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-9447 BUG=v8:9447 Change-Id: Ia6c73c82f4c1b9c357c08cde039be6af100727d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690941 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62632}
-
Dan Elphick authored
This reverts commit e8d86597. Reason for revert: crbug.com/981701 Original change's description: > [parsing] Improve elision of hole checks for default parameters > > Use the position of the next parameter to be declared as the end of the > initializer for default parameters, so that hole checks can be elided > for initializers using previous parameters in arrow functions. > > This fixes a source of bytecode mismatches when collecting source > positions lazily. > > Bug: chromium:980422, v8:8510 > Change-Id: I5ab074231248b661156e7d8e47c01685448b56d5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1683267 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62525} TBR=verwaest@chromium.org,delphick@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:980422, v8:8510 Change-Id: I3abd70a1fb00967e58b46177655a0078e24db720 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1697242Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#62630}
-
- 10 Jul, 2019 1 commit
-
-
Michael Starzinger authored
This adds test coverage for calling "table.set" with a constructed {WebAssembly.Function} object that uses a signature incompatible with JavaScript. R=ahaas@chromium.org TEST=mjsunit/wasm/type-reflection BUG=v8:7742 Change-Id: I939d63db85b4eb9cffe5a901efe477397f20f925 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691917Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62616}
-
- 09 Jul, 2019 3 commits
-
-
Seth Brenith authored
Bug: v8:9337 Change-Id: Ib17a205d1f0d70c0d422dd6cd85239e71355da84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1692195Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#62609}
-
Z Nguyen-Huu authored
a7732341 missed a case when receiver is Smi in TryPrototypeChainLookup. Bug: chromium:980292, chromium:980226 Change-Id: Ife6be4541d6b280253a7e87cf6f57c96efe8300f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687283 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#62608}
-
Z Nguyen-Huu authored
This DCHECK is unnecessary because the object can be sealed or frozen before it is set as a prototype map. The repro is Object.seal(Object);// Object is HOLEY_FROZEN_ELEMENTS const v3 = Object(); v3.__proto__ = Object; // Set prototype map bit and dictionary map bit const v6 = Object.seal(Object); // Turn Object to DICTIONARY_ELEMENTS Bug: chromium:980168 Change-Id: Iec50249d0ff0c5ed959201707b837871fcb88a02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687280 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#62606}
-