)]}'
{
  "commit": "52f654fd91447bb361a8db02ef1ccc4cd5d77be3",
  "tree": "016b4a1cb25575838fa68d28afbbee297dc06083",
  "parents": [
    "d620f96b89a1f9561fdf880c33e427b6e0475586"
  ],
  "author": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Tue Mar 30 18:51:11 2021 -0700"
  },
  "committer": {
    "name": "Johnathan Van Why",
    "email": "jrvanwhy@google.com",
    "time": "Tue Mar 30 20:13:51 2021 -0700"
  },
  "message": "Overhaul RawSyscalls to work with ARM, -Zmiri-track-raw-pointers, the revised Yield, and Exit.\n\n1. RawSyscalls now supports Yield\u0027s new return value semantics as well as the yield-no-wait variant of Yield.\n2. RawSyscalls now supports Exit.\n3. RawSyscalls is now usable in Miri with the `-Zmiri-track-raw-pointers` flag.\n4. RawSyscalls can now be implemented on ARM: previously, `class` was a runtime value, but it needs to be an immediate value on ARM.\n5. The explanation for the design of RawSyscalls was completely overhauled. Instead of listing a bunch of \"design considerations\" with no connection to the final design, it shows how testing and efficiency considerations incrementally lead to its design. The new design should be a bit more future-proof than the previous design as well.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d57644bdd1ac3fdde1aa6723f9235d9be50d95a7",
      "old_mode": 33188,
      "old_path": "core/platform/src/lib.rs",
      "new_id": "78293e3ea9f571c46a86fc320b791ebabd503d38",
      "new_mode": 33188,
      "new_path": "core/platform/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "f4e37b8697f2e407293aa6734c997616203813f1",
      "old_mode": 33188,
      "old_path": "core/platform/src/raw_syscalls.rs",
      "new_id": "cd5115ffd4bb6ef79534bfa56a691044540e3831",
      "new_mode": 33188,
      "new_path": "core/platform/src/raw_syscalls.rs"
    },
    {
      "type": "modify",
      "old_id": "8d85380bdce914bbca2a0d52796bfd0c7ce755b3",
      "old_mode": 33188,
      "old_path": "core/platform/src/syscalls.rs",
      "new_id": "d5ff0bc63343c559ac759c2f4e5ea7633452e8eb",
      "new_mode": 33188,
      "new_path": "core/platform/src/syscalls.rs"
    },
    {
      "type": "modify",
      "old_id": "506ad641f9bceffb460361290c736a9813dc2123",
      "old_mode": 33188,
      "old_path": "core/platform/src/syscalls_impl.rs",
      "new_id": "c86da40bd98e03b2a313313d3447087c69f773f0",
      "new_mode": 33188,
      "new_path": "core/platform/src/syscalls_impl.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "12dd961ccaa6ebd0c7b6e93166c41c177263be68",
      "new_mode": 33188,
      "new_path": "core/platform/src/yield_types.rs"
    },
    {
      "type": "modify",
      "old_id": "7e2e1ca1072c1954d4033f134c2b35a2dca1d309",
      "old_mode": 33188,
      "old_path": "core/runtime/src/lib.rs",
      "new_id": "bd890eaace200ddc25cbf88de70da24d29423d36",
      "new_mode": 33188,
      "new_path": "core/runtime/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "3e635e878cdc8ac939c07bc4f8f4d744ce91df9e",
      "old_mode": 33188,
      "old_path": "core/runtime/src/syscalls_impl_riscv.rs",
      "new_id": "2ae90c2591b70793eb403cdcca437fc7cbe69ce2",
      "new_mode": 33188,
      "new_path": "core/runtime/src/syscalls_impl_riscv.rs"
    }
  ]
}
