The flutter engine DEPS got new icu/boringssl so this CL can safely
land and roll into engine. A small change is made in Patchset 1..3.
This removes special logic for creating the `dart-sdk` we distribute
which used to build release and product mode and copied some binaries
from the latter into the former, before the SDK was actuallly ready to
test and distribute.
This changes the GN build rules to build the necessary
gen_snapshot/dart_precompiled_runtime product binaries during the normal
release build.
Normally during --mode=product builds the global build config in
//build/config/BUILDCONFIG.gn will set `-fvisibility=false`.
=> Doing so results in much smaller binaries - because only explicitly
exported symbols are visible, the rest can be tree shaken by the linker.
Since we are building --mode=release, the `-fvisibility=false` will not
be set. In order to set the flag for the 2 special product-mode binaries
we need to add -fvisibility=hidden manually, in:
* dart_product_config: Which is used for compiling VM sources.
* 3rd party double-conversion library
* 3rd party boringssl library
* 3rd party icu library
The upstream CLs are:
* BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482
* ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407
Issue https://github.com/dart-lang/sdk/issues/42230
Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This reverts commit a88a328b7f.
Reason for revert: Auto roller hasn't rolled previous changes from
Dart yet. Those changes updated DEPS for icu/boringssl. We have to
wait with this CL until the DEPS changes have been done in the engine.
Original change's description:
> [vm] Build dart2native dependencies with the normal "create_sdk" target
>
> This removes special logic for creating the `dart-sdk` we distribute
> which used to build release and product mode and copied some binaries
> from the latter into the former, before the SDK was actuallly ready to
> test and distribute.
>
> This changes the GN build rules to build the necessary
> gen_snapshot/dart_precompiled_runtime product binaries during the normal
> release build.
>
> Normally during --mode=product builds the global build config in
> //build/config/BUILDCONFIG.gn will set `-fvisibility=false`.
>
> => Doing so results in much smaller binaries - because only explicitly
> exported symbols are visible, the rest can be tree shaken by the linker.
>
> Since we are building --mode=release, the `-fvisibility=false` will not
> be set. In order to set the flag for the 2 special product-mode binaries
> we need to add -fvisibility=hidden manually, in:
>
> * dart_product_config: Which is used for compiling VM sources.
> * 3rd party double-conversion library
> * 3rd party boringssl library
> * 3rd party icu library
>
> The upstream CLs are:
>
> * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482
> * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407
>
> Issue https://github.com/dart-lang/sdk/issues/42230
>
> Change-Id: I3e47664d9fadb9ed1ad033bb17d46e769442f741
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150524
> Commit-Queue: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Alexander Thomas <athom@google.com>
> Reviewed-by: Zach Anderson <zra@google.com>
TBR=kustermann@google.com,zra@google.com,athom@google.com,asiva@google.com
Change-Id: Ied0f2f5b58dceb2b59bc2ac6e11e5fd717c8885e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151382
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
This removes special logic for creating the `dart-sdk` we distribute
which used to build release and product mode and copied some binaries
from the latter into the former, before the SDK was actuallly ready to
test and distribute.
This changes the GN build rules to build the necessary
gen_snapshot/dart_precompiled_runtime product binaries during the normal
release build.
Normally during --mode=product builds the global build config in
//build/config/BUILDCONFIG.gn will set `-fvisibility=false`.
=> Doing so results in much smaller binaries - because only explicitly
exported symbols are visible, the rest can be tree shaken by the linker.
Since we are building --mode=release, the `-fvisibility=false` will not
be set. In order to set the flag for the 2 special product-mode binaries
we need to add -fvisibility=hidden manually, in:
* dart_product_config: Which is used for compiling VM sources.
* 3rd party double-conversion library
* 3rd party boringssl library
* 3rd party icu library
The upstream CLs are:
* BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482
* ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407
Issue https://github.com/dart-lang/sdk/issues/42230
Change-Id: I3e47664d9fadb9ed1ad033bb17d46e769442f741
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150524
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Make them form its own source set (libdart_compiler) and completely exclude
them from AOT runtime targets.
Previously we had some inconsistencies, with some files were using
DART_PRECOMPILED_RUNTIME to fully or partially exclude either contents
from their headers or from implementation, while other files did nothing
and relied on linker to throw their contents away.
This change tries to address this inconsistency.
A follow up change would include a check in most compiler headers which
would prohibit to use them while building AOT runtime.
Change-Id: Ief11b11cbc518b301d3e93fce80580a31bbad151
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142993
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Linking on Fuchsia is more constrained because libdart is a shared library on Fuchsia and a static library everywhere else.
Change-Id: If97385ee0b23b6ed75abd28b14dae5de123915f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100625
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.
Reland with fix to NativeArgument setup in simulator_arm.cc
Change-Id: Ib9b4df6eb4d997dfbe361188b8a127828c1d9c6f
Reviewed-on: https://dart-review.googlesource.com/74003
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
As the interpreter matures it will hopefully be merged into the regular
jit configuration, but for now we make a separate configuration for it.
Change-Id: Ie287ffccadbf34243d64d90ee43cf5d429966082
Reviewed-on: https://dart-review.googlesource.com/69420
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
GN not_needed functions now checks whether the variable exists and
invoking not_needed on non-existent variable is considered an error.
Change-Id: I45bcb0c06228920d41db3482a0e50eae3b26eb0d
Reviewed-on: https://dart-review.googlesource.com/62022
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>