- 10 Oct, 2019 3 commits
-
-
Joyee Cheung authored
This patch implements https://github.com/tc39/proposal-class-fields/pull/269 and makes sure we always throw TypeError when there is invalid private name access in computed property keys. Before this patch, private name variables of private fields and methods are initialized together with computed property keys in the order they are declared. Accessing undefined private names in the computed property keys thus fail silently. After this patch, we initialize the private name variables of private fields before we initialize the computed property keys, so that invalid access to private fields in the computed keys can be checked in the IC. We now also initialize the brand early, so that invalid access to private methods or accessors in the computed keys throw TypeError during brand checks - and since these accesses are guarded by brand checks, we can create the private methods and accessors after the class is defined, and merge the home object setting with the creation of the closures. Bug: v8:8330, v8:9611 Change-Id: I01363f7befac6cf9dd28ec229b99a99102bcf012 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846571 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64225}
-
Joshua Litt authored
While removing dead code, v8 currently removes jump targets, but leaves suspend points, resulting in bytecode analysis issues. This cl simply removes the suspend point if the remainder of the block is dead. Bug: v8:9825 Change-Id: Ib147ca01cf64c695c0316017852d61f52fd10cf4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849197 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#64223}
-
Joyee Cheung authored
This patch refactors the declaration and allocation of the class variable, and implements static private methods: - The class variable is declared in the class scope with an explicit reference through class_scope->class_variable(). Anonymous classes whose class variable may be accessed transitively through static private method access use the dot string as the class name. Whether the class variable is allocated depending on whether it is used. Other references of the class variable in the ClassLiteral AST node and the ClassInfo structure are removed in favor of the reference through the class scope. - Previously the class variable was always (stack- or context-) allocated if the class is named. Now if the class variable is only referenced by name, it's stack allocated. If it's used transitively by access to static private methods, or may be used through eval, it's context allocated. Therefore we now use 1 less context slots in the class context if it's a named class without anyone referencing it by name in inner scopes. - Explicit access to static private methods or potential access to static private methods through eval results in forced context allocation of the class variables. In those cases, we save its index in context locals in the ScopeInfo and deserialize it later, so that we can check that the receiver of static private methods is the class constructor at run time. This flag is recorded as HasSavedClassVariableIndexField in the scope info. - Classes that need the class variable to be saved due to access to static private methods now save a ShouldSaveClassVariableIndexField in the preparse data so that the bits on the variables can be updated during a reparse. In the case of anonymous classes that need the class variables to be saved, we also re-declare the class variable after the reparse since the inner functions are skipped and we need to rely on the preparse data flags to remember declaring it. Design doc: https://docs.google.com/document/d/1rgGRw5RdzaRrM-GrIMhsn-DLULtADV2dmIdh_iIZxlc/edit Bug: v8:8330 Change-Id: Idd07803f47614e97ad202de3b7faa9f71105eac5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781011 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64219}
-
- 09 Oct, 2019 1 commit
-
-
Santiago Aboy Solanes authored
CheckedInt32ToTaggedSigned -> ChangeTaggedSignedToCompressedSigned was being simplified to CheckedInt32ToCompressedSigned. However, sometimes the effect chain is not propagated correctly. Since we have plans to remove the Compressed MachineRepresentation, we can remove this optimization now. Bug: v8:7703, chromium:1011980 Change-Id: I9198c73666848f89db96928259af68400d442229 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847363Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64178}
-
- 08 Oct, 2019 6 commits
-
-
Jakob Kummerow authored
Tbr: clemensb@chromium.org No-Tree-Checks: true No-Try: true Change-Id: Id4ca5f618d035de13174e54ff4d617b03d839033 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847364Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64164}
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set)Global' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set)Global\b/kExprGlobal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I064a6448cd95bc24d31a5931b5b4ef2464ea88b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847355 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64163}
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set|Tee)Local' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set|Tee)Local\b/kExprLocal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I1617f1b2a100685a3bf56218e76845a9481959c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847354Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64161}
-
Jakob Kummerow authored
The particular combination of (1) having callee-saved registers in the stub per the C++ calling convention, (2) passing arguments to the callee on the stack, and (3) that callee throwing an exception, caused the saved registers to be restored to bogus values. To fix this, the stack unwinder needs to compute the stub's frame size correctly (i.e. without stack parameters). Bug: chromium:1007608 Change-Id: Iadd99f10764f49f9e3c620c05723e09172c73cf7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847352Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64160}
-
Mythri A authored
Empty slow element dictionary had the sticky bit set. This bit was used to indicate that the dictionary cannot go to the fast mode either because the dictionary had elements with attributed or elements at large indices. There is no reason for the empty dictionary to have this bit set. This causes bugs in some corner cases. Bug: chromium:1003732 Change-Id: Ib29e1cda784869b9deb9361d8e6b5539f7154a38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1833686Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64158}
-
Clemens Backes authored
The test creates 10000 modules, which runs in less then one second in release builds, but can take much longer with stress flags and on special bots. It timed out on the tsan isolates bot in a variant passing --stress-wasm-code-gc. Since the test should only verify that we support more than 1000 modules in a single isolate, we do not need to run it in that variant. Thus just skip it. R=fgm@chromium.org Bug: v8:9814 Change-Id: Ie3a4f62a053b1f7cff2c2206f39ddd71a533ae3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845229Reviewed-by:
Francis McCabe <fgm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64153}
-
- 07 Oct, 2019 3 commits
-
-
Thibaud Michaud authored
R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: Ie404eb6cb07ea033a10d29dd1b9aba6cb1f03b69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826663 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64134}
-
Santiago Aboy Solanes authored
... and make sure that the arm64 ptr-compr bots proceed testing V8 without pointer compression in order to keep testing the other config. Bug: v8:7703 Change-Id: I0017345273d5328d95a338064dd80b44974c1c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844780Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64132}
-
Dan Elphick authored
Fixes spurious DCHECK triggering due to bug introduced in https://chromium-review.googlesource.com/c/v8/v8/+/1836258. Bug: chromium:1011596 Change-Id: Ia3b1eb25d326e465b3239f191aad11d90a2e56a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844777Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64125}
-
- 04 Oct, 2019 2 commits
-
-
Dan Elphick authored
This deletes unresolved VariableProxy objects created for labels in the preparser which prevents shadowed variables in enclosing scopes from being context-allocated. Previously this was only done in the full parser, which leads to bytecode mismatches with lazy source positions. Bug: chromium:1009728, v8:8510 Change-Id: If2d0c345346116a7f5aacbcd0cf3638e9f7e04cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1836258Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64104}
-
Maya Lekova authored
This reverts commit f47706a7. Reason for revert: Breaks V8 Linux bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/34070 Original change's description: > [wasm] Add tests for SIMD JS-API errors > > Change-Id: I7fc2eb95f9a2d1ea45bc84543a05c84e32bb6d31 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1838924 > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64098} TBR=gdeepti@chromium.org,ahaas@chromium.org,zhin@chromium.org Change-Id: I6640ba207e30200e6846a16cab0bd522cabf3108 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1839651Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64099}
-
- 03 Oct, 2019 1 commit
-
-
Deepti Gandluri authored
Change-Id: I7fc2eb95f9a2d1ea45bc84543a05c84e32bb6d31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1838924Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#64098}
-
- 02 Oct, 2019 2 commits
-
-
Michael Lippautz authored
Fix corner case where we would try to read a property when having a pending or scheduled exception. Re-add tests. Bug: chromium:1006640 Change-Id: I2fc84ee0f6145db2d200a8b9abf57fdc4b12a5a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835531Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#64083}
-
Michael Lippautz authored
Bug: chromium:1006640 Change-Id: I0f38ed9c44b6a2a6cfd52fdd9e177768f57beb11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1833692 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#64077}
-
- 01 Oct, 2019 1 commit
-
-
Ana Peško authored
This is a reland of cfb60d43 Original change's description: > [regexp] Eagerly tier-up for very long strings > > For very long subject strings, the regexp interpreter is currently much slower > than the native machine code execution. This CL implements eager tier-up to the > compiler to avoid the performance penalty for subject strings of length greater > than 1000. > > Change-Id: I244ccbd60255e0f3bedc493b1cc3d25cdd42133e > Bug: v8:9566 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829273 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Ana Pesko <anapesko@google.com> > Cr-Commit-Position: refs/heads/master@{#64046} Bug: v8:9566 Change-Id: I81a10728c64ce3b35258c31eb8178e458d3de205 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832167Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Ana Pesko <anapesko@google.com> Cr-Commit-Position: refs/heads/master@{#64063}
-
- 30 Sep, 2019 6 commits
-
-
Suraj Sharma authored
Since slow handler was previously not a Smi. The DCHECK assumed any Smi Handler on this path should be a proxy handler. Now it Checks for both, and should continue if the current handler is a slow handler. Bug: chromium:1008632 Change-Id: I079960894d7320d8d658d0990e8c32db51703206 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1828480Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Suraj Sharma <surshar@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64052}
-
Z Nguyen-Huu authored
Bug: v8:9781 Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64049}
-
Ana Pesko authored
This reverts commit cfb60d43. Reason for revert: Several bots timing out, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24717 Original change's description: > [regexp] Eagerly tier-up for very long strings > > For very long subject strings, the regexp interpreter is currently much slower > than the native machine code execution. This CL implements eager tier-up to the > compiler to avoid the performance penalty for subject strings of length greater > than 1000. > > Change-Id: I244ccbd60255e0f3bedc493b1cc3d25cdd42133e > Bug: v8:9566 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829273 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Ana Pesko <anapesko@google.com> > Cr-Commit-Position: refs/heads/master@{#64046} TBR=yangguo@chromium.org,petermarshall@chromium.org,anapesko@google.com TBR=yangguo@chromium.org Change-Id: Id8dd362617988c8c5efa87ae157ee91c96cb1fdf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9566 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832163Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Ana Pesko <anapesko@google.com> Cr-Commit-Position: refs/heads/master@{#64047}
-
Ana Peško authored
For very long subject strings, the regexp interpreter is currently much slower than the native machine code execution. This CL implements eager tier-up to the compiler to avoid the performance penalty for subject strings of length greater than 1000. Change-Id: I244ccbd60255e0f3bedc493b1cc3d25cdd42133e Bug: v8:9566 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829273Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Ana Pesko <anapesko@google.com> Cr-Commit-Position: refs/heads/master@{#64046}
-
Dan Elphick authored
This is a short-term fix to prevent any merging of feedback slots for dynamic globals, while we work on a longer term solution to make it consistent between eager and lazy compilation. Bug: chromium:1008414, v8:8510 Change-Id: I4a5977046f53454d6f8a6ea2f41046abdf73418f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829270 Commit-Queue: Dan Elphick <delphick@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#64041}
-
Georg Neis authored
This fixes a bug in the optimization concerning detached or re-attached global proxies. Bug: v8:7790 Change-Id: Ifd30b88361914430bb373d4b64a76e33ccde37e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809361Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64035}
-
- 26 Sep, 2019 6 commits
-
-
Ross McIlroy authored
This is a reland of c70de45c Original change's description: > [TurboProp] Add MidTierMachineLoweringPhase to avoid Late/MemoryOptimizationPhases > > Adds a MidTierMachineLoweringPhase which does select and memory lowering to machine > nodes. This allows TurboProp to avoid the LateOptimizationPhase and > MemoryOptimizationPhase phases while still lowering all simplified nodes to > machine nodes before instruction selection. > > BUG=v8:9684 > > Change-Id: I60533db93152ff044a2fa8c1c31adedeb3747856 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815130 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63981} TBR=neis@chromium.org Bug: v8:9684 Change-Id: I9cf3d087b81bb81a09a725168da9dc19238da91f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826726 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#64003}
-
Thibaud Michaud authored
The current implementation only supports arrays and proxies as multi-return values in Wasm to JS calls. This adds support for any iterable including generators, as specified by the multi-value proposal (https://github.com/WebAssembly/multi-value/). R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: I2c9be1f7e03824b1aabba525244e5b7f76a98f99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824938 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63996}
-
Sathya Gunasekaran authored
This reverts commit c70de45c. Reason for revert: speculative revert Original change's description: > [TurboProp] Add MidTierMachineLoweringPhase to avoid Late/MemoryOptimizationPhases > > Adds a MidTierMachineLoweringPhase which does select and memory lowering to machine > nodes. This allows TurboProp to avoid the LateOptimizationPhase and > MemoryOptimizationPhase phases while still lowering all simplified nodes to > machine nodes before instruction selection. > > BUG=v8:9684 > > Change-Id: I60533db93152ff044a2fa8c1c31adedeb3747856 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815130 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63981} TBR=rmcilroy@chromium.org,neis@chromium.org Change-Id: I99cddb2c435ad6347bdc9b61b95d48dca94294c7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9684 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826720Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#63984}
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: I71824f52802c125dbee51216054575f44d08d534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825243 Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org> Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63983}
-
Ross McIlroy authored
Adds a MidTierMachineLoweringPhase which does select and memory lowering to machine nodes. This allows TurboProp to avoid the LateOptimizationPhase and MemoryOptimizationPhase phases while still lowering all simplified nodes to machine nodes before instruction selection. BUG=v8:9684 Change-Id: I60533db93152ff044a2fa8c1c31adedeb3747856 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815130Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#63981}
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: Idedb3d80382c876f09c545cf0f1cc7387b9ad805 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825242 Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63979}
-
- 25 Sep, 2019 1 commit
-
-
Thibaud Michaud authored
Allows JS functions returning array-like objects to be imported as multi-return functions in WebAssembly modules. Importing a generator does not work as required by the specification yet. R=mstarzinger@chromium.org Bug: v8:9492 Change-Id: Iaf61a0f718eb50676913aa1486fb39cebecfc090 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815246 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63965}
-
- 24 Sep, 2019 4 commits
-
-
Dan Elphick authored
Always unmark arrowhead parameters as assigned directly after their initialization as the parser doesn't know when it first sees the "assignment" that it may be in an arrowhead. Bug: chromium:1003403, v8:8510 Change-Id: Iad5a4136d5ec06331fc43b81a809fd72cee2dd65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815131 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#63947}
-
Joshua Litt authored
Adds support for parsing top level await to V8, as well as many tests. This is the final cl in the series to add support for top level await to v8. Spec is here: https://tc39.es/proposal-top-level-await/#sec-execute-async-module Bug: v8:9344 Change-Id: Ie8f17ad8c7c60d1f6996d134ae154416cc1f31e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1703878Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63946}
-
Jakob Gruber authored
This introduces a limit for the interpreter's BacktrackStack to match the limit used by generated code (RegExpStack::kMaximumStackSize). Bug: chromium:1006670 Change-Id: I0b7613698e61257aecca89535ad9109c7e454692 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1821458 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#63945}
-
Michael Starzinger authored
This reduces the number of label indices accepted by {br_table} from the full function body size to specifically 65520 labels. Note that TurboFan already had a similar limitation on switches, but caused a crash during compilation up until now. This change just makes the limit explicit and avoids the crash during compilation. R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-9759 BUG=v8:9759 Change-Id: I3a9a4406b19a7f98fc36707b3b946be846170a15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1821457 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes [né Hammacher] <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63944}
-
- 23 Sep, 2019 4 commits
-
-
Ulan Degenbaev authored
Bug: chromium:1006629,v8:9380 Change-Id: I8e45759fe3ad1b0ef8f1ebdb33919c84e1e8a044 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815244Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63928}
-
Michael Starzinger authored
This fixes how arguments of a call to {fround} are being parsed. It now accepts a single "AssignmentExpression" only instead of an "Expression" which could potentially be a whole comma-separated list of expressions. R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-1006592 BUG=chromium:1006592 Change-Id: Ifaf0c2b048e4ec18429cc6039c0e7dcdecc1d0bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815255Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63926}
-
Michael Starzinger authored
This loads the call builtin from the Isolate root instead of embedding it into the instruction stream. This can be more efficient, but more importantly it fixes an issue with tracing and eventually allows for background compilation of these wrappers. R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-crbug-1006631 BUG=chromium:1006631 Change-Id: Ife1bc513340d233a3c01789c7b56126fe3b87f6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1815245Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63924}
-
Dan Elphick authored
Change Parser::AllowsLazyParsingWithoutUnresolvedVariables to return false if it may be parsing an arrow function. Bug: v8:9758, v8:8510 Change-Id: Ic5d213d4358ff954a169c03e449197c3f050880c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1816510Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#63920}
-