)]}'
{
  "commit": "df3dfc0ea5a37f89884463de2aba2da13c1a21a0",
  "tree": "6522e869feda3b4d5526225911d04fbfd82ae1ec",
  "parents": [
    "40f07c0126cb93ac596c5ced47b95842411944c7"
  ],
  "author": {
    "name": "MPACT-Sim team",
    "email": "no-reply@google.com",
    "time": "Thu Jan 29 17:07:44 2026 -0600"
  },
  "committer": {
    "name": "Tor Jeremiassen",
    "email": "torerik@google.com",
    "time": "Thu Feb 12 10:59:09 2026 -0600"
  },
  "message": "Compensate for instruction increment when writing to counter CSRs\n\n- Derive RiscVPerformanceCounterCsr{High} from RiscVCounterCsr\n- Decrement offset in Set to account for the retiring instruction.\n- High::Set handles carry and propagates offset adjustments for high counter CSRs.\n- Add unit tests for minstret and minstreth to verify write compensation.\n\nPiperOrigin-RevId: 862918613\nChange-Id: I04dc67e1137dc9d82402006411d91a6e3c894423\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c20c269a1f196770bd57073137cb19596e025bc4",
      "old_mode": 33188,
      "old_path": "riscv/riscv_counter_csr.h",
      "new_id": "f2a0a4fd1018ee3a7ae7f58bc60f42bc5c785227",
      "new_mode": 33188,
      "new_path": "riscv/riscv_counter_csr.h"
    },
    {
      "type": "modify",
      "old_id": "135bbf9c446a0167bc99a7c0d2468b8808d69874",
      "old_mode": 33188,
      "old_path": "riscv/riscv_state.cc",
      "new_id": "b53ffb8dd5c4bc57ede472fe51baa68ff37954c6",
      "new_mode": 33188,
      "new_path": "riscv/riscv_state.cc"
    },
    {
      "type": "modify",
      "old_id": "0dc6dc4eb911aaaea6a2602b6f352b195b6377ce",
      "old_mode": 33188,
      "old_path": "riscv/test/riscv_counter_csr_test.cc",
      "new_id": "abb053fd73a30d5244c1f9321140ed1e45776f89",
      "new_mode": 33188,
      "new_path": "riscv/test/riscv_counter_csr_test.cc"
    }
  ]
}
