)]}'
{
  "commit": "60029f6ab919db230f9dd91fdee2cece192ca8c1",
  "tree": "124dfa2120f05682eb75e564295510958796443c",
  "parents": [
    "6a41bc1a39a52b613cd45b204afac168d05f3db1"
  ],
  "author": {
    "name": "Nathaniel Wesley Filardo",
    "email": "wes.filardo@scisemi.com",
    "time": "Fri Oct 25 01:55:00 2024 +0000"
  },
  "committer": {
    "name": "Nathaniel Wesley Filardo",
    "email": "VP331RHQ115POU58JFRLKB7OPA0L18E3@cmx.ietfng.org",
    "time": "Thu Nov 21 22:28:24 2024 +0000"
  },
  "message": "switcher: avoid a 2nd read of mtdc on error path\n\nWhen in .Lskip_compartment_call, t0 is spare, in that it will be\noverwritten by one of...\n- us, in a few instructions (the zeroAllRegistersExcept), or\n- zeroAllRegistersExcept in .Ltherad_exit, via\n  .Lset_mcause_and_exit_thread, or\n- the exception path (.Lforce_unwind via .Lhandle_error_in_switcher)\n  bringing us back here, one TrustedFrame further up.\n\nWe can use it instead of tp for a temporary value, avoiding the need to\nreload mtdc.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "09f2e25dfbfd75c0aaa11113c138e750c6d2ba23",
      "old_mode": 33188,
      "old_path": "sdk/core/switcher/entry.S",
      "new_id": "3fe407e2c429d62710971dedf84e52b9f0abbde7",
      "new_mode": 33188,
      "new_path": "sdk/core/switcher/entry.S"
    }
  ]
}
