)]}'
{
  "commit": "f3d1f46dff6dd5d014fdcdeac1d1e31b6af5f7c8",
  "tree": "c22ee1b047d603a82be918ae9e496eef3282ce47",
  "parents": [
    "fc98dbfe65aa28dd628f117e8240aa2cd775aeba"
  ],
  "author": {
    "name": "Than McIntosh",
    "email": "thanm@google.com",
    "time": "Wed Apr 10 10:47:51 2019 -0400"
  },
  "committer": {
    "name": "Than McIntosh",
    "email": "thanm@google.com",
    "time": "Wed Apr 10 18:21:24 2019 +0000"
  },
  "message": "gollvm: fix bug in call-\u003einvoke instruction rewriting\n\nDuring the control flow generation pass in gollvm, there is a pass\nthat rewrites call instructions to invoke instructions in situations\nwhere this is needed due to the presence of a defer. The rewriter\nwasn\u0027t properly handling the case where a given Bexpression was\ninheriting the LLVM value of a child expression, and as a result the\ncompiler was crashing when trying to access a stale (deleted) LLVM\nvalue.\n\nFixes golang/go#31388.\n\nChange-Id: I6abc5ec87b3f63d2974126355a9d8fe18ec5ed1f\nReviewed-on: https://go-review.googlesource.com/c/gollvm/+/171357\nReviewed-by: Cherry Zhang \u003ccherryyz@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a3a1ac93192e64fc8ff7bc64480c81938fffa7ff",
      "old_mode": 33188,
      "old_path": "bridge/go-llvm-bnode.cpp",
      "new_id": "0e8e0068ab14527c161a517cc78aa7de267d8a84",
      "new_mode": 33188,
      "new_path": "bridge/go-llvm-bnode.cpp"
    },
    {
      "type": "modify",
      "old_id": "ca63b7f93c3338fd143e4afe25fa40b2b43733dc",
      "old_mode": 33188,
      "old_path": "bridge/go-llvm-bnode.h",
      "new_id": "fff709f3b60f54d950e9d5ba8347c999f0f07b45",
      "new_mode": 33188,
      "new_path": "bridge/go-llvm-bnode.h"
    },
    {
      "type": "modify",
      "old_id": "53bccbe94b8c0e071178f3a721d9f995f271b3b9",
      "old_mode": 33188,
      "old_path": "bridge/go-llvm.cpp",
      "new_id": "86e56e8d76ace704a10d99112b096a2ce4fa37d2",
      "new_mode": 33188,
      "new_path": "bridge/go-llvm.cpp"
    }
  ]
}
