)]}'
{
  "commit": "84d45cd032e5aa9266f55f8b3c87029884ca36cb",
  "tree": "116719969b2355f5f7acc2c76bb22722e87625bc",
  "parents": [
    "4a1003ca5cf5623b9eff79f4394371227407fcee"
  ],
  "author": {
    "name": "Ryan Macnak",
    "email": "rmacnak@google.com",
    "time": "Thu Mar 31 22:10:05 2022 +0000"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Mar 31 22:10:05 2022 +0000"
  },
  "message": "[vm, ffi] Restore PP after leaf callouts on RISC-V.\n\nPP is a volatile register on RISC-V to take advantage of compressed instructions, and a preserved register on the other architectures.\n\nTEST\u003dffi_2/function_structs_test\nBug: https://github.com/dart-lang/sdk/issues/48164\nChange-Id: I947d6fd8171b8c0c7aa8eb524537038655177e27\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/238720\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9ac9875ee204cd4f9e60c1e4dc671e62381dfc9e",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/assembler/assembler_riscv.cc",
      "new_id": "335f0ead9fcbb328ce6855d938ce2134d1d2181c",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/assembler/assembler_riscv.cc"
    },
    {
      "type": "modify",
      "old_id": "d340a1164775ec7d6ff708aa626e8b6a64b6acaf",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/assembler/assembler_riscv.h",
      "new_id": "d24ea42f0d7cd88114c252569f4e147552994429",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/assembler/assembler_riscv.h"
    },
    {
      "type": "modify",
      "old_id": "3dab29ace0e9884832c6441aec0dc0f54f60fb89",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_arm.cc",
      "new_id": "c04289b87e54b85392f02f069a5eaa567de42b43",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_arm.cc"
    },
    {
      "type": "modify",
      "old_id": "7ba8603016013b5f6375f01997d8a856f3cdf0d9",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_arm64.cc",
      "new_id": "2467df75f12587f67db6b2aa4b7674ee49b296eb",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_arm64.cc"
    },
    {
      "type": "modify",
      "old_id": "d6086370e941882c6d7a14437edaa0583e6b3037",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_ia32.cc",
      "new_id": "0d29e71cde22e7aa99ce99cf60a96aeb7b9e57e1",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_ia32.cc"
    },
    {
      "type": "modify",
      "old_id": "9f576c937e82c00264244e0fde1849e045eaea4f",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_riscv.cc",
      "new_id": "5f31d92e87acb036a853052012b1b6905dcd0a06",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_riscv.cc"
    },
    {
      "type": "modify",
      "old_id": "9a12a656b28127277a9dff9e911faf45a3fbdeb2",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il_x64.cc",
      "new_id": "f4617610ce6dc0d0c9f25177b20773b09061b3f9",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il_x64.cc"
    }
  ]
}
