)]}'
{
  "log": [
    {
      "commit": "724f77e2fed038d57a3d08fdcf656d703e3473ea",
      "tree": "a9ce49e4e345defa257df168f354710159a818ff",
      "parents": [
        "38c20d4a694eea44a1bd3af32a6a99512c139358"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Feb 11 00:43:10 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 13 16:52:07 2017 -0800"
      },
      "message": "Revert^4 \"Make class redefinition work with native methods on stack.\"\n\nWe had a problem where there was a brief period of time where the dex\nfile for an obsolete method could not be obtained. This meant that not\nall functions of ArtMethod could safely be called, causing some\nproblems.\n\nThis reverts commit 38c20d4a694eea44a1bd3af32a6a99512c139358.\n\nReason for revert: Fixed issues with interp-ac and relocate-npatchoat\n\nTest: ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT\u003dtrue \\\n      ART_TEST_INTERPRETER_ACCESS_CHECKS\u003dtrue \\\n      mma -j40 test-art-host\n\nChange-Id: I04991f3e76813831b6446f97636b6fa404397f36\n"
    },
    {
      "commit": "38c20d4a694eea44a1bd3af32a6a99512c139358",
      "tree": "f5981b3ef21e41a4df6edc203615f15f23e93ad5",
      "parents": [
        "4493f92dfc70e01d95ad57bc4c0c38f59a616f70"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Feb 11 00:38:35 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Feb 11 00:38:35 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Make class redefinition work with native methods on stack.\"\"\"\n\nThis reverts commit 4493f92dfc70e01d95ad57bc4c0c38f59a616f70.\n\nReason for revert: Fails interpreter-ac and relocate-npatchoat\n\nChange-Id: I15eb4964c9101fa04e34b52acf9ffe25e6d4e60d\nTest: revert\n"
    },
    {
      "commit": "4493f92dfc70e01d95ad57bc4c0c38f59a616f70",
      "tree": "8762ba0636b735e43cdd714755cd622ef718580b",
      "parents": [
        "806ac631e53f12061cb0ae7640aa9cd0dd79243d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 10 16:33:26 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 10 11:46:56 2017 -0800"
      },
      "message": "Revert \"Revert \"Make class redefinition work with native methods on stack.\"\"\n\nWhen we were scanning the stack for tracing we were getting the wrong\nstack-frame size for obsolete native methods. This fixes it by\ncreating real obsolete native methods so we can recognize them and\nthen doing the (rather long) calculation to find their real\nstack-frame size.\n\nThis reverts commit 7558d27ccd0837fef7c4bfbff7fc82f07a787316.\n\nReason for revert: Fixed tracing failures.\n\nTest: mma -j40 test-art-host\nTest: ART_TEST_TRACE\u003dtrue ART_TEST_INTERPRETER\u003dtrue mma -j40 test-art-host\n\nChange-Id: Ic65da1b51a43733ff60131832753afa0c4ce66b1\n"
    },
    {
      "commit": "7558d27ccd0837fef7c4bfbff7fc82f07a787316",
      "tree": "89515676fc9882d04e317a1c7cf8f719a16804dc",
      "parents": [
        "2863f67f4335c37e92f8923d23b2443bc3316c88"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 10 10:01:47 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 10 10:01:47 2017 +0000"
      },
      "message": "Revert \"Make class redefinition work with native methods on stack.\"\n\nTest fails.\n\nThis reverts commit 2863f67f4335c37e92f8923d23b2443bc3316c88.\n\nChange-Id: If56cf90eced2d30e046304e0c38220a3c9728842\n"
    },
    {
      "commit": "2863f67f4335c37e92f8923d23b2443bc3316c88",
      "tree": "d1168f2b58757d9270f116cf13ee7871c42b573a",
      "parents": [
        "e4530079672682ff3900d84c08b666a6a899d973"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 09 14:49:13 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 09 14:53:37 2017 -0800"
      },
      "message": "Make class redefinition work with native methods on stack.\n\nPreviously we would crash if we tried to redefine a class with native\nmethods if it had any native frames on a stack. This happened when we\ntried to create an obsolete method for the native method.\n\nSince native methods cannot really become obsolete in the same way\nthat regular java ones can we simply do not make any obsolete methods\nfor these native methods.\n\nTest: mma -j40 test-art-host\nChange-Id: Ib677f73faae52627a478aa7cfe870c1f2c4fb503\n"
    }
  ]
}
