Skip to content
  • Vyacheslav "Slava" Egorov's avatar
    a4dd314c
    [tools] Allow precompiling gen_kernel and compile_platform · a4dd314c
    Vyacheslav "Slava" Egorov authored
    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.
    
    This relands 5cda2a87 with fixes
    for Flutter build.
    
    TEST=manually tested
    
    Change-Id: I552861c80c152890655e41baaf6ea3fb3b03a57e
    Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367961
    
    
    Reviewed-by: default avatarMartin Kustermann <kustermann@google.com>
    Commit-Queue: Slava Egorov <vegorov@google.com>
    a4dd314c
    [tools] Allow precompiling gen_kernel and compile_platform
    Vyacheslav "Slava" Egorov authored
    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.
    
    This relands 5cda2a87 with fixes
    for Flutter build.
    
    TEST=manually tested
    
    Change-Id: I552861c80c152890655e41baaf6ea3fb3b03a57e
    Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367961
    
    
    Reviewed-by: default avatarMartin Kustermann <kustermann@google.com>
    Commit-Queue: Slava Egorov <vegorov@google.com>
Loading