)]}'
{
  "commit": "0a58f8f69db58f27fd09697ba90d47c63f6b8227",
  "tree": "e32bea6154a2eb235591e56aeb2b4cd3a50c1c40",
  "parents": [
    "2105f289ad64d1d8b8599555677dc5f9c429c568"
  ],
  "author": {
    "name": "Nathaniel Wesley Filardo",
    "email": "wes.filardo@scisemi.com",
    "time": "Mon Dec 23 16:53:07 2024 +0000"
  },
  "committer": {
    "name": "Nathaniel Wesley Filardo",
    "email": "VP331RHQ115POU58JFRLKB7OPA0L18E3@cmx.ietfng.org",
    "time": "Mon Jan 13 12:03:33 2025 -0500"
  },
  "message": "Hardware revoker: correct wait for indicated epoch\n\nThe commentary says that we wait for the indicated (even) epoch to have\nfinished, but in practice we were merely waiting for the next one to\nbegin.  Because has_revocation_finished_for_epoch() had the intended\nsemantics and is the actual function used to gate release from\nquarantine, wait_for_completion()\u0027s incorrect waiting was merely\nineffecient, making malloc_internal spin a bit in the \"Quarantine has\nenough memory to satisfy allocation\" case.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c05ab9ce853894c585d41802f060e6e55beaa8a7",
      "old_mode": 33188,
      "old_path": "sdk/core/allocator/main.cc",
      "new_id": "492ebf262bd2f685be63c585f2840df9807d708b",
      "new_mode": 33188,
      "new_path": "sdk/core/allocator/main.cc"
    },
    {
      "type": "modify",
      "old_id": "c039cce81d2c8d9ca192eaf17b90ed5a33e24580",
      "old_mode": 33188,
      "old_path": "sdk/include/platform/ibex/platform-hardware_revoker.hh",
      "new_id": "965fa05582d858eecb8882f81084f428dd2184fd",
      "new_mode": 33188,
      "new_path": "sdk/include/platform/ibex/platform-hardware_revoker.hh"
    },
    {
      "type": "modify",
      "old_id": "9cb7d67a0cdcc6935d1fbaf61a947e8b30812c5c",
      "old_mode": 33188,
      "old_path": "tests.extra/hardware_revoker_IRQs/top.cc",
      "new_id": "7347934ad2c253463e06617f9db9415367d6dacc",
      "new_mode": 33188,
      "new_path": "tests.extra/hardware_revoker_IRQs/top.cc"
    }
  ]
}
