464bbdde7e
We encode line/column in a single 64-bit integer and derive offset from this using the lineStarts stored on the kernel Source object. Saves 90-100MB of memory within the emitter phase on a large program. Most of that is from the smaller deserialized SourceLocation objects but some memory is also saved due to the smaller output size from the compact serial representation. The input to the emitter phase is ~14MB smaller (with the savings split across multiple codegen shards). Change-Id: Ic71231fb43fc746293b6f6f77e0ee2c3b17742cf Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291900 Commit-Queue: Nate Biggs <natebiggs@google.com> Reviewed-by: Stephen Adams <sra@google.com>