Commit Graph

24 Commits

Author SHA1 Message Date
なつき 09261c2950 [vm] Compile binaryen on C++17
Closes https://github.com/dart-lang/sdk/pull/57075

GitOrigin-RevId: fa1cbdc1f618e2aadfe57f1b72b26096f786db11
Change-Id: I9d6842b2176902ae638e28ca6dd62a96bc468070
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/394920
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2024-11-13 21:08:53 +00:00
Ryan Macnak 0a238b3828 [vm] Update to C++20.
- There is no C20, so that stays at C17
 - Math between different enum types disallowed, use explicit cast
 - operator++ removed from volatile types
 - stream print for wchar_t removed

TEST=build
Bug: https://github.com/dart-lang/sdk/issues/42074
Change-Id: Ie552b0bf24f8ac8991336c61fd4bd4913da42909
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/393622
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2024-11-12 20:28:50 +00:00
Martin Kustermann 287632f005 [dart2wasm] Roll to newest g3 binaryen
Change-Id: I04386761d2a5b189f1e033bef2eb1c0a32447107
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/381220
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2024-08-21 13:00:33 +00:00
Ömer Ağacan eace2ba7e0 Revert "[deps] Update binaryen"
This reverts commit a6e8b4eebf.

Reason for revert: Broke Windows SDK targets, binaryen does not seem 
to build with the C++ compiler used on Windows.

Original change's description:
> [deps] Update binaryen
>
> Update to the latest g3 version.
>
> This version includes https://github.com/WebAssembly/binaryen/pull/6794
> which unblocks https://dart-review.googlesource.com/c/sdk/+/378421.
>
> Change-Id: I9f4e41df9eb9b49d1048e45d4a12f019412e9887
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/379580
> Commit-Queue: Ömer Ağacan <omersa@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

Change-Id: Icb4d51283cff077e40ca0312e51527480a71c3a5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/379600
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2024-08-08 08:56:38 +00:00
Ömer Sinan Ağacan a6e8b4eebf [deps] Update binaryen
Update to the latest g3 version.

This version includes https://github.com/WebAssembly/binaryen/pull/6794
which unblocks https://dart-review.googlesource.com/c/sdk/+/378421.

Change-Id: I9f4e41df9eb9b49d1048e45d4a12f019412e9887
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/379580
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-08-08 07:48:20 +00:00
Daco Harkes 059624e5e2 [gardening] Fix SDK build
https://dart-review.googlesource.com/c/sdk/+/365581 rolled Binaryan.
This caused the following error:
../../third_party/binaryen/src/src/support/small_vector.h:39:32: error: unknown warning group '-Wmaybe-uninitialized', ignored [-Werror,-Wunknown-warning-option]

Prevent the error by adding `-Wno-unknown-warning-option`.

TEST=local SDK build on arm64 MacOS

Change-Id: I0c1315bdc0a94db3158f657de9d155d6c796b3c8
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-arm64-try,dart-sdk-linux-riscv64-try,dart-sdk-linux-try,dart-sdk-mac-arm64-try,dart-sdk-mac-try,dart-sdk-win-arm64-try,dart-sdk-win-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/365583
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-05-07 14:56:10 +00:00
Jonas Termansen 5c9d67edcd Fix binaryen build being unreproducible.
The source files were linked in filesystem order rather than sorted
order, which meant the binaryen programs were not built reproducibly.

The binaryen config.h contains the version of the binaryen based on the
git tag, however gclient sync does not pull down additional git tags
when the checkout is updated. Effectively the git tags are frozen and
the wrong version may be reported, leading to divergent builds and lack
of remote build cache sharing. Use the git commit instead.

Fix the gitignore rules to not ignore the files actually checked into
the Dart SDK.

Fixes: b/333761738
Change-Id: Ib2d812a04e629e5ce3da7185869051e30457d7e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362187
Commit-Queue: Jonas Termansen <sortie@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Auto-Submit: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-04-10 21:35:39 +00:00
Martin Kustermann 045cb8a087 [gardening] Attempt to fix riscv64 sdk build after binaryen roll
The riscv64 sdk builders build with --no-clang, thereby issuing
different set of warnings from clang.

Change-Id: I8c9a222bd9ea03fb78b5779fc5c652c22afb0543
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351085
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-02-09 16:18:54 +00:00
Martin Kustermann e7e681264a [dart2wasm] Roll to binaryen to same version as g3 (which is much newer)
Change-Id: I7517463aa311335932e0d8b304df852326798ce0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350582
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2024-02-09 14:23:37 +00:00
Jackson Gardner 13a425d941 [dart2wasm] Switch to final GC encodings & Roll Chrome 119 + D8
Change-Id: If63a5b3caa8fe300d97a722c3d42929457bae1e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326300
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Jackson Gardner <jacksongardner@google.com>
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2023-10-13 17:09:19 +00:00
Ryan Macnak 842e3f7c85 [build] Fix MSVC build.
Broken in a2c47adfba.

Change-Id: I67a7252ab47ff2b5fdd01cc107e83ed0f53c86e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/327662
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2023-09-25 20:23:49 +00:00
Aske Simon Christensen a2c47adfba Update Binaryen to a51bd6df919a5b79574f0996a760cc20cb05697e
This version fixes an issue with optimizing tuple-valued blocks, which
would arise when inlining functions with multiple return values.

Use the newly added `--type-unfinalizing` and `--type-finalizing`
options to improve the effectiveness of the TypeSSA and TypeMerging
passes.

https://github.com/WebAssembly/binaryen/issues/5923
https://github.com/WebAssembly/binaryen/issues/5933

Change-Id: I1d5bc1052a355bf404f81a420a2352270030fd4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/327000
Reviewed-by: William Hesse <whesse@google.com>
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2023-09-21 11:47:59 +00:00
Ryan Macnak 1f87e88a97 [build] Fix MSVC build.
Change-Id: I0336a501e81392ce8e416958242e61d6b3226a9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317560
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-08-01 22:09:08 +00:00
Ömer Sinan Ağacan b45d62959f [dart2wasm] Update Binaryen
New version supports final encodings used in [1], `array.fill` used in
[2], and updates some other encodings to match V8, as noted in [3].

[1]: https://dart-review.googlesource.com/c/sdk/+/310163
[2]: https://dart-review.googlesource.com/c/sdk/+/315120
[3]: https://dart-review.googlesource.com/c/sdk/+/310560

Change-Id: Ib5627f02327a1301909fd7708856a6f726234293
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312800
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2023-07-21 08:42:49 +00:00
Jackson Gardner b890ed4cc3 Reland x3 [dart2wasm] Include wasm-opt in the shipped dart-sdk.
Hide this behind a flag, so that we can disable it when building in the flutter in-tree build.

The flag will be set to false for the in-tree flutter build, see
https://github.com/flutter/engine/pull/40195

Change-Id: I248376985d05bfb248a2eab6fa377cbb01d75654
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/288040
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2023-03-10 18:34:10 +00:00
Jackson Gardner e3661b7d2f Revert "Reland "Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk."""
This reverts commit faecf41be1.

Reason for revert: Flutter HHH bots are broken: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8788949281966049297/+/u/build_host_debug/stdout

Original change's description:
> Reland "Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk.""
>
> This is a reland of commit b19091385a
>
> Fixed the calculation of the paths of binaryen source files so that they
> work properly when building as a dependency (inside the flutter engine
> repo).
>
> Original change's description:
> > Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk."
> >
> > This is a reland of commit 6271d26baf
> >
> > The change broke the gcc riscv64 builders, due to a `unused-variable`
> > warning coming from binaryen sources. That warning has now been
> > disabled for binaryen targets.
> >
> > Original change's description:
> > > [dart2wasm] Include wasm-opt in the shipped dart-sdk.
> > >
> > > Change-Id: Ib224f0b92fa28019ad3cf67d7ba2bef5c31b92ef
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280840
> > > Reviewed-by: Martin Kustermann <kustermann@google.com>
> > > Commit-Queue: Jackson Gardner <jacksongardner@google.com>
> > > Reviewed-by: Aske Simon Christensen <askesc@google.com>
> >
> > Change-Id: I76bf4ad5d1f6a8116631df4b91cbc5a52cac4f31
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283240
> > Reviewed-by: Martin Kustermann <kustermann@google.com>
> > Commit-Queue: Jackson Gardner <jacksongardner@google.com>
>
> Change-Id: I5cc269daebc5e2068c084bb72b2bd7cb58ba6fbe
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283721
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Jackson Gardner <jacksongardner@google.com>

TBR=kustermann@google.com,askesc@google.com,joshualitt@google.com,jacksongardner@google.com,dart-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: If4e864b3dfb5d9ff840846bff0690247256b2762
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283745
Reviewed-by: Jackson Gardner <jacksongardner@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2023-02-17 09:04:50 +00:00
Jackson Gardner faecf41be1 Reland "Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk.""
This is a reland of commit b19091385a

Fixed the calculation of the paths of binaryen source files so that they
work properly when building as a dependency (inside the flutter engine
repo).

Original change's description:
> Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk."
>
> This is a reland of commit 6271d26baf
>
> The change broke the gcc riscv64 builders, due to a `unused-variable`
> warning coming from binaryen sources. That warning has now been
> disabled for binaryen targets.
>
> Original change's description:
> > [dart2wasm] Include wasm-opt in the shipped dart-sdk.
> >
> > Change-Id: Ib224f0b92fa28019ad3cf67d7ba2bef5c31b92ef
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280840
> > Reviewed-by: Martin Kustermann <kustermann@google.com>
> > Commit-Queue: Jackson Gardner <jacksongardner@google.com>
> > Reviewed-by: Aske Simon Christensen <askesc@google.com>
>
> Change-Id: I76bf4ad5d1f6a8116631df4b91cbc5a52cac4f31
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283240
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Jackson Gardner <jacksongardner@google.com>

Change-Id: I5cc269daebc5e2068c084bb72b2bd7cb58ba6fbe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283721
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
2023-02-16 22:10:18 +00:00
Daco Harkes 97d085c84b Revert "Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk.""
This reverts commit b19091385a.

Reason for revert: This breaks the Flutter build.
'../../third_party/dart/third_party/dart/third_party/binaryen/src/src/ir/memory-utils.cpp', needed by 'obj/third_party/dart/third_party/dart/third_party/binaryen/src/src/ir/binaryen_sources.memory-utils.o', missing and no known rule to make it

Original change's description:
> Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk."
>
> This is a reland of commit 6271d26baf
>
> The change broke the gcc riscv64 builders, due to a `unused-variable`
> warning coming from binaryen sources. That warning has now been
> disabled for binaryen targets.
>
> Original change's description:
> > [dart2wasm] Include wasm-opt in the shipped dart-sdk.
> >
> > Change-Id: Ib224f0b92fa28019ad3cf67d7ba2bef5c31b92ef
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280840
> > Reviewed-by: Martin Kustermann <kustermann@google.com>
> > Commit-Queue: Jackson Gardner <jacksongardner@google.com>
> > Reviewed-by: Aske Simon Christensen <askesc@google.com>
>
> Change-Id: I76bf4ad5d1f6a8116631df4b91cbc5a52cac4f31
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283240
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Jackson Gardner <jacksongardner@google.com>

TBR=kustermann@google.com,askesc@google.com,joshualitt@google.com,jacksongardner@google.com,dart-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Iee8e909d701d22abac00d199dee7591bf9bf5f7a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283560
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2023-02-16 09:07:35 +00:00
Jackson Gardner b19091385a Reland "[dart2wasm] Include wasm-opt in the shipped dart-sdk."
This is a reland of commit 6271d26baf

The change broke the gcc riscv64 builders, due to a `unused-variable`
warning coming from binaryen sources. That warning has now been
disabled for binaryen targets.

Original change's description:
> [dart2wasm] Include wasm-opt in the shipped dart-sdk.
>
> Change-Id: Ib224f0b92fa28019ad3cf67d7ba2bef5c31b92ef
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280840
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Jackson Gardner <jacksongardner@google.com>
> Reviewed-by: Aske Simon Christensen <askesc@google.com>

Change-Id: I76bf4ad5d1f6a8116631df4b91cbc5a52cac4f31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283240
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
2023-02-15 19:09:07 +00:00
William Hesse a9fe60b1f9 Revert "[dart2wasm] Include wasm-opt in the shipped dart-sdk."
This reverts commit 6271d26baf.

Reason for revert: The build is broken on linux-riscv64 with this change.

Original change's description:
> [dart2wasm] Include wasm-opt in the shipped dart-sdk.
>
> Change-Id: Ib224f0b92fa28019ad3cf67d7ba2bef5c31b92ef
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280840
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Jackson Gardner <jacksongardner@google.com>
> Reviewed-by: Aske Simon Christensen <askesc@google.com>

TBR=kustermann@google.com,askesc@google.com,joshualitt@google.com,jacksongardner@google.com,dart-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I520d9be6d43b55551694a58a22c0ae8ae3e7344f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281802
Commit-Queue: William Hesse <whesse@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2023-02-08 19:24:46 +00:00
Jackson Gardner 6271d26baf [dart2wasm] Include wasm-opt in the shipped dart-sdk.
Change-Id: Ib224f0b92fa28019ad3cf67d7ba2bef5c31b92ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280840
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2023-02-08 18:51:48 +00:00
Josh Soref f7a2ea5e06 Spelling
Closes https://github.com/dart-lang/sdk/pull/50922

GitOrigin-RevId: 58fd7cfd5ef470a65a52ea28e0407244d853c917
Change-Id: I2e5a5ed991cb05270170a18b8f0169daa9eabdb7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278537
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-01-24 18:00:25 +00:00
Jason Simmons c100e1fa57 [dart2wasm] Remove unnecessary rebase_path when running list_sources.py
Change-Id: I5ebadb79f20f6380e74a61722c119ada864b2e56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270900
Commit-Queue: Jason Simmons <jsimmons@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2022-11-19 22:53:26 +00:00
Martin Kustermann 0fdeaee8f6 [dart2wasm] Add building binaryen as part of our GN build
We use binaryen from googlesource mirror with commits that have already
been rolled into g3.

Since binaryen doesn't come with GN files (it uses cmake), we add
our own in third_party/binaryen/BUILD.gn.

TEST=ci

Change-Id: Iee5c37c9d391ee41dc57250d7a33177cbe9ed2aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270640
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2022-11-18 10:58:54 +00:00