3dce89fbe0
Not having to do the read-allocate-copy dance for files to add a 0-byte at the end results in these changes when using the CFE to compile (a fixed version of) the CFE: ``` msec task-clock:u: -1.7356% +/- 0.2164% (-73.16 +/- 9.12) page-faults:u: -2.6957% +/- 0.0111% (-2914.83 +/- 12.00) cycles:u: -1.7128% +/- 0.2223% (-297927979.70 +/- 38660477.01) instructions:u: -1.6814% +/- 0.0002% (-361315766.86 +/- 36853.71) branch-misses:u: -3.3289% +/- 0.9669% (-2153126.00 +/- 625370.97) seconds time elapsed: -1.7372% +/- 0.2154% (-0.07 +/- 0.01) seconds user: -1.5998% +/- 0.2740% (-0.06 +/- 0.01) seconds sys: -4.1451% +/- 2.9801% (-0.01 +/- 0.01) Scavenge( new space) goes from 62 to 61 ``` TEST=Existing test coverage. Change-Id: I8e182bcee39839f6ed1e658c30c85c40ecf0b259 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/385722 Reviewed-by: Johnni Winther <johnniwinther@google.com> Reviewed-by: Morgan :) <davidmorgan@google.com> Reviewed-by: Daco Harkes <dacoharkes@google.com> Reviewed-by: Srujan Gaddam <srujzs@google.com> Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Mayank Patke <fishythefish@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
The frontend_server package is used by both the flutter command line tool and the frontend_server_client package (used by webdev and package:test).
API Stability
Changes to the command line API or behavior should be tested against the following test suites (in addition to normal HHH testing):
- flutter_tools: https://github.com/flutter/flutter/tree/master/packages/flutter_tools
- frontend_server_client: https://github.com/dart-lang/webdev/tree/master/frontend_server_client
Otherwise these changes will need to be carefully coordinated with the flutter tooling and frontend_server_client teams.
This API stability does not cover any of the source code APIs.
Stable subset
- The frontend_server kernel compilation and expression evaluation for kernel should be considered "stable".
- The frontend_server JavaScript compilation is semi-stable, but clients should anticipate coordinated breaking changes in the future.
- The frontend_server JavaScript expression evaluation is experimental and is expected to change significantly from Dec 2020 through the end of 2021.
- Specific flags may be added for experimentation and should not be considered stable.