c19f1819

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Store source file path in MutationRecord; cache source read per module

- Add mutRecSourceFile :: Maybe (Path Rel File) to MutationRecord, serialized
  as a plain string in JSON with backward-compatible optional decoding
- Read the source file once per module in runInstrument (via ms_location from
  ModSummary) and store the lines in InstrumentEnv, so all mutation sites in
  a module share the same read instead of re-reading the file per site
- formatMutationLog uses mutRecSourceFile directly instead of reconstructing
  the path from the module name

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 2s 2s 2s
Eval 3s 48s 48s 51s
Build 7s 20m21s 8m05s 8m12s
Test - - - -
Deploy - - - -
Suite 0s 21m13s 8m12s 8m12s

Timeline

0s1m2m3m4m5m6m7m8m