ExecutableProgram.kt

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Allow scripts larger than 64KB

By storing large scripts as a resource instead of a script constant in

the emitted bytecode.

Resolves #1305

  1. … 5 more files in changeset.
Move kotlin-dsl in a sub directory

  1. … 1579 more files in changeset.
Make the script compilation cache relocatable

By storing the post-processed second stage script text as a constant

in the emitted bytecode instead of keeping it in an external file.

  1. … 6 more files in changeset.
Don't store original script path in the residual program

But take it from the given `ScriptSource` and cache it in the script

host.

  1. … 5 more files in changeset.
Avoid setting up the embedded Kotlin repository

The embedded Kotlin repository and the version of the embedded

libraries don't need to be configured for:

- script plugins without a `buildscript` / `initscript` block, for no

libraries will ever be resolved

- top-level `Settings` scripts without a `buildscript` block

  1. … 7 more files in changeset.
Move decision of computing accessors classpath to specialized program

And make the accessors classpath hash part of `ProgramId`.

  1. … 5 more files in changeset.
Remove unused code

  1. … 1 more file in changeset.
Apply base plugins to `Project` targets

  1. … 18 more files in changeset.
Specialize `Project` scripts containing a `plugins` block

  1. … 4 more files in changeset.
Enable partial evaluation optimisation for `Project` script plugins

  1. … 6 more files in changeset.
Polish `Interpreter`

  1. … 2 more files in changeset.
Enable location aware exception handling for `Settings` scripts

  1. … 5 more files in changeset.
Preserve original source hash across invocations

This avoids recomputing the source hash once when the stage 2 program

is first compiled and it preserves the original source hash (the

specialized stage2 program source will usually be different from the

original source due to the stage 1 fragments being erased).

  1. … 4 more files in changeset.
Optimise script execution via partial evaluation techniques

For now only enabled for `Settings` scripts.

See the documentation on the `Interpreter` class for more details.

    • -0
    • +60
    ./ExecutableProgram.kt
  1. … 24 more files in changeset.