5cda2a871c
When iterating on core library changes or changes in the AOT compiler many seconds are wasted waiting on gen_kernel/compile_platform to parse Dart code. This happens because we are running these tools from sources on prebuilt Dart SDK. This CL allows SDK developer to opt-in into AOT compiling these tools by adding `precompile_tools=true` to their DART_GN_ARGS. AOT compilation is performed using prebuilt SDK - so these executables do not need to be recompiled if core libraries or VM changes reducing iteration cycles. pkg/vm/tool/precompiler2 is tweaked to detect when DART_GN_ARGS contains `precompile_tools=true` and use precompiled gen_kernel.exe instead of running it from source. Using precompiled compile_platform takes vm_platform_strong.dill build from 20 seconds to 3 seconds. Using precompiled gen_kernel takes small benchmark build from ~10 seconds to 2 seconds. TEST=manually tested Change-Id: Ieec6ad4e1081023d140eb744f0a3cd0c754414ca Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367940 Commit-Queue: Slava Egorov <vegorov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>