)]}'
{
  "commit": "654f01cd509ca11eae22177d4e764f1241fb3a53",
  "tree": "d17db438be0691a5e4e6b4721b670530e336690e",
  "parents": [
    "028c7efaf7321a1e253fb4d9dcc5d85e8a9e6d68"
  ],
  "author": {
    "name": "Vladimir Marko",
    "email": "vmarko@google.com",
    "time": "Wed May 26 16:40:20 2021 +0100"
  },
  "committer": {
    "name": "Treehugger Robot",
    "email": "treehugger-gerrit@google.com",
    "time": "Fri May 28 00:31:54 2021 +0000"
  },
  "message": "Fix lock visiting for synchronized native methods.\n\nThe `GetGenericJniSynchronizationObject()` function was used\nin the wrong context. As documented, it can be used only for\na method with a GenericJni frame and also on the top of the\nstack. When visiting locks, we can have a non-GenericJni\nmethod frame as well as a method deeper in the stack.\nReplace the wrong use with specialized code.\n\nTest: Added regression test to 178-app-image-native-methods\nTest: testrunner.py --host --debug --ndebug\nBug: 172332525\nBug: 189235039\nChange-Id: Ia26f0b980c04a766e31b1588a1c011bcf46c90d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "01e8911611c08a09e0557a88c57407c1ad896b11",
      "old_mode": 33188,
      "old_path": "runtime/entrypoints/entrypoint_utils-inl.h",
      "new_id": "84299d5077eacf3ecc066ac0ed4972ea6c162fba",
      "new_mode": 33188,
      "new_path": "runtime/entrypoints/entrypoint_utils-inl.h"
    },
    {
      "type": "modify",
      "old_id": "2f590227af7d6efbc83331444d199f0aec2ba97e",
      "old_mode": 33188,
      "old_path": "runtime/monitor.cc",
      "new_id": "f2189e16acdfbfb56e2c4d2e1513b2b5c6eb1df1",
      "new_mode": 33188,
      "new_path": "runtime/monitor.cc"
    },
    {
      "type": "modify",
      "old_id": "0669deb4b335b038ff26483457d949b09067da47",
      "old_mode": 33188,
      "old_path": "test/178-app-image-native-method/native_methods.cc",
      "new_id": "709c5dfe64183eabac47c003baa3a09d638b8934",
      "new_mode": 33188,
      "new_path": "test/178-app-image-native-method/native_methods.cc"
    },
    {
      "type": "modify",
      "old_id": "e6c76ffc5f60cffff950eda091930f1b85d7fa9b",
      "old_mode": 33188,
      "old_path": "test/178-app-image-native-method/src/Main.java",
      "new_id": "294ad4739b43a075abbe7689fe3eb019bb0a85b2",
      "new_mode": 33188,
      "new_path": "test/178-app-image-native-method/src/Main.java"
    }
  ]
}
