)]}'
{
  "log": [
    {
      "commit": "a3ad0cdd711857f04f477e2cdc5b56a2c74a3018",
      "tree": "7e0e4c7888c2497d86ce96c9574d7c9886721ccf",
      "parents": [
        "abd9e1515bc6be88372c61071971c5432a51553d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 04 10:06:38 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 09 11:11:09 2018 +0100"
      },
      "message": "ART: Move JNI files to runtime/jni/ .\n\nTest: Rely on TreeHugger.\nChange-Id: I9cae11191ef1567ae9453be498882a7767285140\n"
    },
    {
      "commit": "55256cb60e11d4fac71affb4b9760a2931a3598d",
      "tree": "fc1ed6885b013e0aa2bcfd9ef4dd94fec29bd382",
      "parents": [
        "64bae9fb677aa0e2406d13ea9f8ebaa92e16f978"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 21 17:07:11 2017 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 22 10:11:39 2017 -0800"
      },
      "message": "Extensions to check JNI.\n\nEnsure critical lock isn\u0027t held when returning from a down-call.\nLog a warning if the critical lock is held for a significant period of\ntime.\nRefactor JNIEnvExt to be a class rather than a struct.\n\nTest: mma test-art-host\n\nChange-Id: I4d149cb04d3a7308a22b92b196e51e2f1ae17ede\n"
    },
    {
      "commit": "b486a98aadc95d80548953410cf23edba62259fa",
      "tree": "b113b7d50a4a015502873b7742c9ece00d293e84",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 13:45:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 02 08:24:02 2017 -0700"
      },
      "message": "ART: Introduce thread-current-inl.h\n\nFactor out Thread::Current() code into its own -inl file to remove\ntransitive includes.\n\nThis requires at the same time correcting mutex.h, i.e., moving\nsome functions into mutex-inl.h.\n\nTest: m test-art-host\nChange-Id: I88f888b604e0897368d9b483edce6ce4332dd9c9\n"
    },
    {
      "commit": "bc5669ee83f45d74e46a6377ad9b2b57f64c2bec",
      "tree": "340664c098b4894ad58dc8aa5399fd007ebb8549",
      "parents": [
        "7dbf20abe99eb6c1d9c137e592c2025af725fa06"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 13 17:22:13 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 13 17:22:13 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Revert \"Revert some flaky unloading\"\"\"\"\"\n\nWith go/aog/238641 this should pass on the buildbots again.\n\nBug: 28406866\n\nThis reverts commit 7dbf20abe99eb6c1d9c137e592c2025af725fa06.\n\nChange-Id: I1038fe454491488fd561f5fce2e51a27487dce20\n"
    },
    {
      "commit": "7dbf20abe99eb6c1d9c137e592c2025af725fa06",
      "tree": "84d7b664e0a01948227ec9697510e3f9339f7a65",
      "parents": [
        "340f486aa0126facb67494449b5c2ee46a1a75e6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 08 23:12:45 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 08 23:12:45 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Revert some flaky unloading\"\"\"\"\n\nFugu is still unhappy\n\nBug: 28406866\n\nThis reverts commit 340f486aa0126facb67494449b5c2ee46a1a75e6.\n\nChange-Id: I45fc77f924d991669d27b99c1458b2def8692664\n"
    },
    {
      "commit": "340f486aa0126facb67494449b5c2ee46a1a75e6",
      "tree": "340664c098b4894ad58dc8aa5399fd007ebb8549",
      "parents": [
        "83968f1a0949972e728d2302a26f9ae98dff34b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 07 10:34:46 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 08 11:00:22 2016 -0700"
      },
      "message": "Revert \"Revert \"Revert \"Revert some flaky unloading\"\"\"\n\nEnsure that all threads are in the JNI code before destroying the\nruntime.\n\nBug: 28406866\n\nThis reverts commit b2716bbf321293ddbd0b96f0ea999794b0e9b09b.\n\nChange-Id: I7f6189a9d0d8a1bf7af5535026804bc2183466c9\n"
    },
    {
      "commit": "48b2b3e57e0510f549e9dc5c5a61f50eec697cf5",
      "tree": "acceae3657d83adf4cb7c76cd1433d63a95884f0",
      "parents": [
        "043f83226ea0cd5a2840e805249e92a75380de10"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 05 15:31:12 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 05 17:07:48 2016 -0700"
      },
      "message": "Fix libarttest to be non debug\n\nPreviously both libarttest and libarttestd had debug enabled. This\nmade it hard to know which one was loaded (couldn\u0027t look at\nkIsDebugBuild).\n\nFixes test 136 with ART_TEST_RUN_TEST_NDEBUG configuration.\n\nBug: 28406866\n\nChange-Id: I92983f71374b211f96f5b346fec326ea8543f876\n"
    },
    {
      "commit": "06fd2cff238cbdd8f6ceb4a85273c5a7fd0db023",
      "tree": "a8761c36f7ec3a9f67a940b3af0cceefbc425fb6",
      "parents": [
        "727d6dff8fce26f7f3a252177cc730fbfcbc52ee"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 05 11:09:58 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 05 11:36:36 2016 -0700"
      },
      "message": "Change test 136 to use dlopen\n\ndlopen self to prevent the native libary being closed from\nDestroyJavaVM. We need this since it is the library currently\nexecuting code.\n\nBug: 28406866\n\nChange-Id: I8fab78bc7c27f5c03a6670d20d5cf8e44295d5e2\n"
    },
    {
      "commit": "fc7acf9f2eebac8e6d62b434b955b96409bf02f4",
      "tree": "94ecbba6cf760cb0412e65b6d75900bf24de721e",
      "parents": [
        "08d3ab591d98fce33b7ab552a10cec04aaff6ce1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 13 16:20:26 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 13 17:15:45 2016 -0800"
      },
      "message": "Add test for calling into destroyed JNI env\n\nThe test calls into ExceptionCheck with a destroyed JNI env and\nexpects to never come back out.\n\nBug: 18577101\nChange-Id: I96832c78d20de4a7d8a9ddf2d0636f08fc4ed9f2\n"
    }
  ]
}
