c3b992dcd8
As requested in #31691 the incremental compiler should be able to initialize its state from a previously generated dill file. This CL introduces that functionally. It is tested, but actual usage (e.g. proper invalidation of old files) should live outside of the front-end (i.e. it's the callers responsibility). One option would be for the caller to load the dill file and use the included sources to invalidate changed files. On my machine a from-scratch compile of dart2js takes ~5 seconds, one initialized from such an output and with a single file invalidated (though it actually hasn't changed) it takes ~1 second and the resulting dill file is bit-perfect compared to the from-scratch compiled one. Closes #31691. Change-Id: I07f5efca5f2684d73f6c252f2dbc2ad04e9b5cd0 Reviewed-on: https://dart-review.googlesource.com/37260 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Kevin Millikin <kmillikin@google.com>