- 27 Nov, 2018 1 commit
-
-
Daniel Clifford authored
Change-Id: I57e21c5bc754ca07f52032f85ec8aeff96448dd0 Reviewed-on: https://chromium-review.googlesource.com/c/1342929 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57855}
-
- 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}
-
- 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}
-
- 11 Oct, 2018 1 commit
-
-
Daniel Clifford authored
The implicit parameter syntax adds a second parameter list before the explicit parameter list when declaring macros, builtins and runtime functions: extern macro MyMacro(implicit a: Smi)(b: Oddball); when calling the macro, only the formal parameters can be provided at the call site. The implicit parameters are implicitly looked-up by name in the scope of the call and prepended to the explicit parameter list. The values that are found by name for each implicit parameter must be castable the corresponding implicit parameter type: MyMacro(Null); // Error, a is not defined ... const a: Smi = 0; MyMacro(Null); // OK ... const a: Object = 0; MyMacro(Null); // Error, a has wrong type For external macros, builtins and runtime functions, the formal parameter list expected on the C++ side is the concatenation of the implicit and explicit parameter lists. As a drive-by: fix the formatting of typeswitch statements in the the presence of deferred-marked blocks and funky white space. Bug: v8:7793 Change-Id: I40da8405c706d7cdeca35367c9c954d0b33f6bf4 Reviewed-on: https://chromium-review.googlesource.com/c/1270996 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56555}
-
- 24 Sep, 2018 1 commit
-
-
Daniel Clifford authored
Issues/problems addressed: - Fix line-wrapping and indenting for long declarations including strings, e.g. generates and constexpr clauses. - Implement proper formatting for typeswitch statements - Fix formatting of operator declarations - Fix formatting of constexpr if-clauses (the constexpr is now included on the same line as the if and it doesn't mess up the formatting that - Fix formatting of label declarations on callables, the "label" keyword now always starts a new line with indentation. - Remove space after identifier name in generic parameter declarations, e.g. "<a : T>" is now "<a: T>" which is consistent with type specification formatting elsewhere. - Indent "otherwise" clauses that have been pushed to the next line. Also ran the formatter over all existing .tq files. Bug: v8:7793 Change-Id: I5adbb2ffa3d573deed062f9a5c1da57348c8fc71 Reviewed-on: https://chromium-review.googlesource.com/1238580 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56158}
-
- 21 Sep, 2018 1 commit
-
-
Daniel Clifford authored
Bug: v8:7793 Change-Id: I3ab2cf1b6190014eff29f6983c27872b4d79a9dc Reviewed-on: https://chromium-review.googlesource.com/1233760 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56134}
-
- 11 Sep, 2018 1 commit
-
-
Simon Zünd authored
To make the changes in base.tq work, there were 2 changes needed on the C++ side: - calls to "FromConstexpr" are generated by the compiler for implicit conversions. - type switch is desugared and uses "Cast" R=jgruber@chromium.org, tebbi@chromium.org Change-Id: I085f1a393f93e501e6bbcaeacb0d6568259a4714 Reviewed-on: https://chromium-review.googlesource.com/1219629 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55794}
-
- 07 Sep, 2018 1 commit
-
-
Mike Stanton authored
An unnecessary call to ToString() on the array index caused trips to the runtime. The fix also includes performance micro-benchmarks so we'll have a harder time regressing this case in future. TBR=tebbi@chromium.org Bug: v8:8112 Change-Id: I781e8b1bbe2eb56db961cf33b0dca8523868b83d Reviewed-on: https://chromium-review.googlesource.com/1213207 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55733}
-
- 06 Sep, 2018 1 commit
-
-
Michael Stanton authored
This reverts commit 34625fdb. Reason for revert: Test caused timeout, investigating. Original change's description: > [Builtins] Array.prototype.forEach perf regression on dictionaries. > > An unnecessary call to ToString() on the array index caused trips to > the runtime. The fix also includes performance micro-benchmarks so > we'll have a harder time regressing this case in future. > > Bug: v8:8112 > Change-Id: Iada5bd2e3c6d2246fb1225e7094f3d9c66ddafbd > Reviewed-on: https://chromium-review.googlesource.com/1206355 > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55653} TBR=mvstanton@chromium.org,tebbi@chromium.org Change-Id: I21de9b9b33edf03f2173f579c4ba0fc3dfd8ff88 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8112 Reviewed-on: https://chromium-review.googlesource.com/1209288Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#55681}
-
- 05 Sep, 2018 1 commit
-
-
Mike Stanton authored
An unnecessary call to ToString() on the array index caused trips to the runtime. The fix also includes performance micro-benchmarks so we'll have a harder time regressing this case in future. Bug: v8:8112 Change-Id: Iada5bd2e3c6d2246fb1225e7094f3d9c66ddafbd Reviewed-on: https://chromium-review.googlesource.com/1206355 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55653}
-
- 22 Aug, 2018 1 commit
-
-
Tobias Tebbi authored
This reverts commit cdaaa311. Reason for revert: chromium:876445 chromium:876453 chromium:876443 Original change's description: > [builtins] Reland Array.prototype.splice() Torque implementation. > > Before, splice was implemented with a C++ fast path and a > comprehensive JavaScript version. > > This impl. is entirely in Torque with a fastpath for SMI, > DOUBLE and OBJECT arrays, and a comprehensive slow path. > The same level of "sparse" array support as given by the > array.js implementation is included. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ia7334a30b401988309e9909cfa0069da0bb6fb9f > Reviewed-on: https://chromium-review.googlesource.com/1169466 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55263} TBR=mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org Change-Id: I5b750a98e671b7284474ffcabc6b4d37a9d1219e No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1184741Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55289}
-
- 21 Aug, 2018 1 commit
-
-
Tobias Tebbi authored
Before, splice was implemented with a C++ fast path and a comprehensive JavaScript version. This impl. is entirely in Torque with a fastpath for SMI, DOUBLE and OBJECT arrays, and a comprehensive slow path. The same level of "sparse" array support as given by the array.js implementation is included. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ia7334a30b401988309e9909cfa0069da0bb6fb9f Reviewed-on: https://chromium-review.googlesource.com/1169466Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55263}
-
- 10 Aug, 2018 2 commits
-
-
Simon Zünd authored
This CL adds a ToObject_Inline CSA macro that avoids the "ToObject" builtin call if the passed argument is already a JSReceiver. The CL also replaces all occurences of ToObject in Torque code with ToObject_Inline. R=jgruber@chromium.org Change-Id: I1cd66d5d51dde5a93d9a0c55489b13a6f4ba9dc2 Reviewed-on: https://chromium-review.googlesource.com/1169819 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55039}
-
Simon Zünd authored
This CL replaces 'let' with 'const' where applicable. This will generate TNodes instead of TVARIABLEs in the resulting CSA code. R=jgruber@chromium.org Bug: v8:8015 Change-Id: I806702c1bfa141e4c934a83c34dd49c321e18ce7 Reviewed-on: https://chromium-review.googlesource.com/1169811Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#55033}
-
- 09 Aug, 2018 2 commits
-
-
Simon Zünd authored
This CL changes the order of the parameters of HasProperty to be more consistent with other CSA macros. Drive-by-change: Use HasProperty stub directly in Torque. R=jgruber@chromium.org Bug: v8:8015 Change-Id: I73d1096afbb86d52e2af67c1969549f1158448a7 Reviewed-on: https://chromium-review.googlesource.com/1166831 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#55025}
-
Michael Hablich authored
This reverts commit ff4fa92e. Reason for revert: blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/1167969 ... see https://chromium-swarm.appspot.com/task?id=3f344f7ada4e0110&refresh=10&show_raw=1 for stacktrace. Original change's description: > [builtins] Enable Torque Array.prototype.splice > > Before, splice was implemented with a C++ fast path and a > comprehensive JavaScript version. > > This impl. is entirely in Torque with a fastpath for SMI, > DOUBLE and OBJECT arrays, and a comprehensive slow path. > The same level of "sparse" array support as given by the > array.js implementation is included. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ibfa3407ed75b9ad15ac54cce446b3952e38f90a9 > Reviewed-on: https://chromium-review.googlesource.com/1039190 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54974} TBR=danno@chromium.org,yangguo@chromium.org,mvstanton@chromium.org,tebbi@chromium.org,szuend@google.com Change-Id: I900f667b30a0cf673ead9621618a9988cf85ffdf No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1168902 Commit-Queue: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54998}
-
- 08 Aug, 2018 1 commit
-
-
Mike Stanton authored
Before, splice was implemented with a C++ fast path and a comprehensive JavaScript version. This impl. is entirely in Torque with a fastpath for SMI, DOUBLE and OBJECT arrays, and a comprehensive slow path. The same level of "sparse" array support as given by the array.js implementation is included. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ibfa3407ed75b9ad15ac54cce446b3952e38f90a9 Reviewed-on: https://chromium-review.googlesource.com/1039190Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54974}
-
- 07 Aug, 2018 1 commit
-
-
Mike Stanton authored
The CSA HasProperty has an inlining that makes it rather large. Also, tighten up some type usage. ToObject() returns a JSReceiver and we can do with less casting if we make use of this. Change-Id: I56d2443b5d409314cc3c74a5a079810d857727ad Reviewed-on: https://chromium-review.googlesource.com/1165241 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54951}
-
- 02 Jul, 2018 1 commit
-
-
Daniel Clifford authored
In the process, create a shared array utility GetLengthProperty that fast-paths accessing the length properties of JSArray. Bug: v8:7793 Change-Id: I6d7f0007c162794773dc0fc3e8bf12b3adf12fa0 Reviewed-on: https://chromium-review.googlesource.com/1116221 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54133}
-
- 13 Jun, 2018 1 commit
-
-
Daniel Clifford authored
In the process and as a test case of the module/file-handling, separate Array.p.forEach into its own Torque file. Bug: v8:7793 Change-Id: If45103a9df3bf8fade34e7bcf7c7c9c060e25966 Reviewed-on: https://chromium-review.googlesource.com/1097755Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53703}
-