)]}'
{
  "commit": "0704741ad29c06129fa0cf09956d3c55b38a8b88",
  "tree": "dbd5d29d2bfa2df2b69e6aeb6cfa956ae60dd7e8",
  "parents": [
    "72a967363995cd0e805edfb35876aad9063a6d36"
  ],
  "author": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Thu Dec 03 20:48:09 2020 -0800"
  },
  "committer": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Thu Dec 03 20:51:22 2020 -0800"
  },
  "message": "Rework the use of `usize` versus `u32` in RawSyscalls.\n\nI previously used `usize` for every value, because `usize` is register-sized on all platforms. However, I no longer think that is the correct thing to do. Having the values be register-sized only matters for `libtock_runtime::TockSyscalls`; it does not matter for `libtock_unittest::FakeSyscalls`. For the fake system calls, it is better to pass u32 where possible to minimize the number of invalid value representable in the API.\n\nThis rework follows a simple rule: values that can potentially contain pointers have type `usize`; all other register values have type `u32`. This extends to the function signature of `subscribe` callbacks: unsafe extern fn(u32, u32, u32, usize).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5a87b2dfe2783e1f05d3ace60b8a661c16d2c970",
      "old_mode": 33188,
      "old_path": "core/platform/src/raw_syscalls.rs",
      "new_id": "1743e3fc52a6426f65c9666433375e6bd3bb1a7a",
      "new_mode": 33188,
      "new_path": "core/platform/src/raw_syscalls.rs"
    }
  ]
}
