- 12 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id2a93f8ac8c512dbc5cdeb43a97e04d8d6684954 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196130 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67748}
-
- 20 Nov, 2019 1 commit
-
-
Tobias Tebbi authored
That's possible because JS builtins are JSFunctions that embed a NativeContext. Bug: v8:7793 Change-Id: Id2bf7844fcfb53df733100f1e3e554f25a78482a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1926150Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65068}
-
- 18 Oct, 2019 1 commit
-
-
Mike Stanton authored
also TypedArrays. Change-Id: I542a09a979c7fe9a3893ad4ae7cea4e057b17359 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864944 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64371}
-
- 26 Aug, 2019 1 commit
-
-
Tobias Tebbi authored
Changes in the reland: Rebased and added a check that JavaScript-linkage builtins use JSAny in parameters and return type, plus the necessary cleanups for this test to pass. Design Doc: https://docs.google.com/document/d/1z6j0pWHnNIfId0v00uWN2HBrGRDJxJfYuCr5K7Kr1xA This reverts commit 4418a7b9. Original change's description: > Revert "[torque] introduce JSAny type for user-accessible JavaScript values" > > This reverts commit 79b00555. > > Reason for revert: needs more discussion > > Original change's description: > > [torque] introduce JSAny type for user-accessible JavaScript values > > > > This CL introduces a JSAny type for user-exposed JavaScript values and > > a few new types to define it. Especially, it splits Symbol into > > PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed > > symbols). > > > > The change is mostly mechanical, but a few things are interesting: > > - PropertyKey and JSPrimitive were designed to coincide with the spec > > notions of IsPropertyKey() and primitive value, respectively. > > - Since Name is an open type, we define AnyName to be the known > > subtypes of Name. This is not too elegant, but by using AnyName > > instead of Name, typeswitch can properly conclude something if a > > subtype of Name is excluded. > > > > Small drive-by changes, which were necessary: > > - Allow subtyping on label parameters. > > - Fix the formatting of typeswitch, it was broken with union types > > in case types. > > > > Bug: v8:7793 > > Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#63114} > > TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org > > Change-Id: Ifde7881d74afe407628f40047997339d54cb2424 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:7793 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741652 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63115} TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7793 Change-Id: Icca34e3824f55009b984d9348fd21884400f0081 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769316 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63395}
-
- 07 Aug, 2019 2 commits
-
-
Tobias Tebbi authored
This reverts commit 79b00555. Reason for revert: needs more discussion Original change's description: > [torque] introduce JSAny type for user-accessible JavaScript values > > This CL introduces a JSAny type for user-exposed JavaScript values and > a few new types to define it. Especially, it splits Symbol into > PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed > symbols). > > The change is mostly mechanical, but a few things are interesting: > - PropertyKey and JSPrimitive were designed to coincide with the spec > notions of IsPropertyKey() and primitive value, respectively. > - Since Name is an open type, we define AnyName to be the known > subtypes of Name. This is not too elegant, but by using AnyName > instead of Name, typeswitch can properly conclude something if a > subtype of Name is excluded. > > Small drive-by changes, which were necessary: > - Allow subtyping on label parameters. > - Fix the formatting of typeswitch, it was broken with union types > in case types. > > Bug: v8:7793 > Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63114} TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org Change-Id: Ifde7881d74afe407628f40047997339d54cb2424 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741652Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63115}
-
Tobias Tebbi authored
This CL introduces a JSAny type for user-exposed JavaScript values and a few new types to define it. Especially, it splits Symbol into PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed symbols). The change is mostly mechanical, but a few things are interesting: - PropertyKey and JSPrimitive were designed to coincide with the spec notions of IsPropertyKey() and primitive value, respectively. - Since Name is an open type, we define AnyName to be the known subtypes of Name. This is not too elegant, but by using AnyName instead of Name, typeswitch can properly conclude something if a subtype of Name is excluded. Small drive-by changes, which were necessary: - Allow subtyping on label parameters. - Fix the formatting of typeswitch, it was broken with union types in case types. Bug: v8:7793 Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#63114}
-
- 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}
-
- 03 Apr, 2019 1 commit
-
-
Daniel Clifford authored
In the process turn the Torque's Arguments type into a real struct and add interoperability with it and CSA's CodeStubArguments. This change is motivated by the desire to include Arguments in structs (e.g. iterators), which is not possible for constexpr fields. Bug: v8:7793 Change-Id: I840538b84c4c58fee75e0b9cd3bdbb3b96a6b948 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1549162 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#60597}
-
- 01 Mar, 2019 1 commit
-
-
Mike Stanton authored
If we make use of this in the generic Array.prototype.filter case we get a performance boost of over 60%. Bug: v8:8213, chromium:920187 Change-Id: Ia116a852f355a9f037850aee86db7284f0023929 Reviewed-on: https://chromium-review.googlesource.com/c/1484297Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59979}
-
- 30 Jan, 2019 1 commit
-
-
Takuto Ikuta authored
By using different namespace, generated code split into different files. By this CL, build time of torque_generated_initializers is improved from 80 seconds to 40 seconds on Z840 Linux measured by following command: # Remove generated code to re-compile all generated files. ~/v8/v8$ rm -rf out/x64.release/gen/ # GOMA_STORE_ONLY=true disables goma's backend cache. ~/v8/v8$ time GOMA_STORE_ONLY=true autoninja -C out/x64.release/ torque_generated_initializers Bug: v8:8732 Change-Id: I64545f9994aea7e4209ac3852aadf4e2e9f4bc93 Reviewed-on: https://chromium-review.googlesource.com/c/1446331Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Takuto Ikuta <tikuta@chromium.org> Cr-Commit-Position: refs/heads/master@{#59215}
-
- 13 Nov, 2018 1 commit
-
-
Mike Stanton authored
BUG=v8:7793 Change-Id: Ibcf16998ef9a44ae899a2536ccf02af1b7b7193d Reviewed-on: https://chromium-review.googlesource.com/c/1333410 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57469}
-
- 31 Oct, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: chromium:899029 Change-Id: I0fc724d5c77e5cbf2580de53f48934ae6f968934 Reviewed-on: https://chromium-review.googlesource.com/c/1310196Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57189}
-
- 29 Oct, 2018 1 commit
-
-
Daniel Clifford authored
In the process implement TopType to express undefined values and transient types after they no longer are valid, as well as checks to make sure that transtioning callables are transitively marked to express if they or their call chain modify transient types. Bug: v8:7793 Change-Id: Idb237e878d3a511a4f460b6510ffd4876593951d Reviewed-on: https://chromium-review.googlesource.com/c/1297963 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57052}
-
- 24 Oct, 2018 1 commit
-
-
Mathias Bynens authored
Spec: https://tc39.github.io/ecma262/#sec-array.of Note that the `IsConstructor` abstract operation [1] is implemented as a `typeswitch`. [1] https://tc39.github.io/ecma262/#sec-isconstructor Bug: v8:8321 Change-Id: I17af918c1d928faf8a630b35432876baa96da217 Reviewed-on: https://chromium-review.googlesource.com/c/1296464Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#56935}
-