)]}'
{
  "log": [
    {
      "commit": "96259f1f2f37d222ce321fd223655d1134a8ba01",
      "tree": "e77eba088bd556dc44375e68eaa622a8301617aa",
      "parents": [
        "3c29c66933f81dbb9af17caa197257ac67ee3c78"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 18 10:04:51 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 18 11:31:26 2019 +0000"
      },
      "message": "Pass the Java caller\u0027s location to OpenNativeLibrary.\n\nWill be used to find the linker namespace to use.\n\nBug: 122874359\nTest: m, gtest, run-test, CtsJdwpTests\n\nChange-Id: Ibeebe20844e2bbdc306d65fb4f2ee3237343fa09\n"
    },
    {
      "commit": "75c513a7b9c37b175769db8460b36429a59a2114",
      "tree": "fd9e5b890e7f6d52094a07d834b7c7a6db9e2dc5",
      "parents": [
        "65685fe81caa860acac2949a971b2fdd99c6d709"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 18 08:39:27 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 18 08:39:27 2019 +0000"
      },
      "message": "Fix memory leak after calling CloseNativeLibrary.\n\nTest: m\nChange-Id: I339bd6c024cfc95dd8049e665a30331216fa9fe9\n"
    },
    {
      "commit": "d9b3069728631451e06bd7e1ee27aa4f2f495687",
      "tree": "ff185c10540adde4f96e16ed23a116fa58963d3a",
      "parents": [
        "c7d1ef1d424e632d2fcfdfef35d6c694e29adb09"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 12 14:59:05 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 16 13:35:31 2019 +0000"
      },
      "message": "Move to C API of libnativeloader.\n\nPlatform code is using libnativeloader.\n\nAlso put libnativeloader in the runtime APEX.\n\nTest: m\nBug: 119840313\n\n(cherry picked from commit 876bea27fdcd2c5e8a9be993fa6447b64c22fa2d)\n\nMerged-In: Ieb088da420eefa51d3809a602518f342ee292f52\nChange-Id: I547a264ddf39418b9770bc9189de032b30e78fb1\n"
    },
    {
      "commit": "85f1c576d228c2c43e9a0dc37f0cbb91fad59c45",
      "tree": "67d17ea5a7eb6021dabb335730402bd28d72694a",
      "parents": [
        "79c693b3133da397cec7eaff19de631b65a0cf70"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 13:52:48 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 15:22:07 2018 -0800"
      },
      "message": "ART: Some iwyu for logging.h\n\nRemove over-broad use in headers. Fix up transitive includes.\n\nBug: 119869270\nTest: mmma art\nChange-Id: I518fa7c8bee014b260818fca1fbde6ec47d126da\n"
    },
    {
      "commit": "44b3174732f8fb1fd7efe7a73cb03bbbbf151f18",
      "tree": "ee00d1e253e18fe8ef7c21c4786390d1446e8390",
      "parents": [
        "d6266f3292eab5b043262c6366ed6b8131e152c5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 01 19:30:57 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 01 19:30:57 2018 -0700"
      },
      "message": "ART: Mark move constructors with noexcept\n\nAs libc++ is pessimized even under -fno-exception, revert our\nprevious opinion on clang-tidy warnings and add noexcept keywords.\n\nBug: 117098004\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I4ab3ad1976f6feb6da98d36e62490e31dbe6a6b2\n"
    },
    {
      "commit": "947573eafde8deac2cb5e67f5acc3c670ea8b5e9",
      "tree": "f744d8f359884d76737390f7b25d19f0c66b1c4e",
      "parents": [
        "7c6c57d09dfac00c645188ec4f960dd70e559a05"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Sep 12 01:12:56 2018 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Sep 12 01:50:40 2018 +0200"
      },
      "message": "Log error message if CloseNativeLibrary fails\n\nThis change adds check for CloseNativeLibrary result and if the\ncall was unsuccessful logs error message.\n\nBug: https://issuetracker.google.com/79126103\nTest: make\nChange-Id: I9280fab7237296c1a06526387aba41f921ffde0f\n"
    },
    {
      "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": "61c5e7cec2246044c44492f127b25234d37a7013",
      "tree": "20ce26e1d86fb8793aa96129fb0fd679d09c0eb1",
      "parents": [
        "f01528de9486c854b5e4da9994239b17b261084f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 18 20:34:24 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 18 20:34:24 2018 -0800"
      },
      "message": "ART: Correctly report error loading agents\n\nUse the error message from nativeloader.\n\nTest: m test-art-host\nChange-Id: I7c13eb748a57b1dd4105825ce402d0a96b5eca5c\n"
    },
    {
      "commit": "7b38e692caa474bf0470349d016ef8f4502d50b9",
      "tree": "df3dbcdce59af2ecaddb124bf315132593b3eedb",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 19:18:28 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 05 10:16:18 2018 -0800"
      },
      "message": "ART: Take classloader into account for AttachAgent\n\nTake a classloader into account for attaching an agent, if given.\nThis will use the library path from the classloader to find the\nagent library.\n\nSwitch to libnativeloader to do the actual loading.\n\nBug: 70901841\nTest: m test-art-host\nChange-Id: I59ec55178792bc738fb06e0299522e207dd4a784\n"
    },
    {
      "commit": "aadcbc64c674995ccdaf686789c8d39ada9913ad",
      "tree": "2b0c9c473437e49ac3c85f8a04ce979ffced880b",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 14:05:42 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 09:08:00 2018 -0800"
      },
      "message": "ART: Refactor Agent into Agent and AgentSpec\n\nSeparate configuration/loading and runtime state.\n\nTest: m test-art-host\nChange-Id: I69bb91e13ef10b9e1ce313f45b0b809b913d8e10\n"
    },
    {
      "commit": "b284f8d775ac32d8109744d94b99da451570beef",
      "tree": "c720648f1c018d224410314b30a891f2752bc781",
      "parents": [
        "e6779fde5a3c0a8bb484a61398da439a37d25b92"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 21 00:00:48 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 20 16:58:05 2017 -0800"
      },
      "message": "Revert \"Revert \"Make JVMTI DisposeEnvironment and GetEnv thread safe.\"\"\n\nThis reverts commit af9341087aab0146b8323ece156bde8130948465.\n\nWe needed to allow TopLockLevel locks to be acquired when the\nmutator_lock_ is exclusive held. This is required for spec\nconformance. To ensure there are no deadlocks the mutator_lock_ is the\nonly lock level with this exception and one cannot acquire the\nmutator_lock_ when one holds any kTopLockLevel locks.\n\nReason for revert: Fixed issue causing test 913 failure in art-gc-gss-tlab\nTest: ART_DEFAULT_GC_TYPE\u003dGSS \\\n      ART_USE_TLAB\u003dtrue \\\n      ART_USE_READ_BARRIER\u003dfalse\n      ./test.py --host -j50\nBug: 69465262\n\nChange-Id: Ic1a4d9bb3ff64382ba7ae22ba27a4f44628ed095\n"
    },
    {
      "commit": "af9341087aab0146b8323ece156bde8130948465",
      "tree": "d79c8ff901ab2017dd6308f9bd43d02b877a5c9e",
      "parents": [
        "e5a2ae30bdbe379695dc886861b23dce57de0825"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 20 23:58:35 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 20 23:58:35 2017 +0000"
      },
      "message": "Revert \"Make JVMTI DisposeEnvironment and GetEnv thread safe.\"\n\nThis reverts commit e5a2ae30bdbe379695dc886861b23dce57de0825.\n\nReason for revert: fails art-gc-gss-tlab column.\nTest: None\nBug: 69465262\n\nChange-Id: I70af77297bc7870d281ed8ffb319d144ddb12838\n"
    },
    {
      "commit": "e5a2ae30bdbe379695dc886861b23dce57de0825",
      "tree": "41efa0e726e23607557fe7d8bbc03854cf06ea0f",
      "parents": [
        "8acd00f9e65078f0f9d3c6fa7fea19ee0c17567a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 17 16:39:01 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 20 10:58:30 2017 -0800"
      },
      "message": "Make JVMTI DisposeEnvironment and GetEnv thread safe.\n\nPreviously we were relying on the mutator lock to keep these safe but\nit turns out this was not sufficient. We give the list of active\njvmtiEnv\u0027s it\u0027s own lock to synchronize access.\n\nWe also changed it so that during events we would collect all the\nenvironments and callbacks prior to actually calling any of them.\nThis is required for making sure that we don\u0027t hold locks across user\ncode or potentially miss any environments. This does have implications\nfor when one is last able to prevent an environment from getting an\nevent but since the spec is vague about this anyway this is not an\nissue. Doing this required a major re-write of our event-dispatch\nsystem.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nBug: 69465262\n\nChange-Id: I170950db6c6e43b5f3c8bdca1b8d087937070496\n"
    },
    {
      "commit": "2ffb703bf431d74326c88266b4ddaf225eb3c6ad",
      "tree": "0552c3c76a42b18f9e7460d501fb71a6dc2e7f33",
      "parents": [
        "c4b6f3116f15c8e4fdf2e4f604ababdee12d8923"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 13:35:21 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 15:15:52 2017 -0800"
      },
      "message": "cpplint: Cleanup errors\n\nCleanup errors from upstream cpplint in preparation\nfor moving art\u0027s cpplint fork to upstream tip-of-tree cpplint.\n\nTest: cd art \u0026\u0026 mm\nBug: 68951293\nChange-Id: I15faed4594cbcb8399850f8bdee39d42c0c5b956\n"
    },
    {
      "commit": "5b80358a9da889cd2ecf18eb49aa42efa409e582",
      "tree": "71c5fce7e27b9dbd74bd7fd2b62e0633938973ee",
      "parents": [
        "445e0ec3724b7f4f36bbd218f67a2c9bfbea7669"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 10:59:26 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 13:39:49 2017 -0700"
      },
      "message": "Don\u0027t dlclose plugins or agents during shutdown.\n\nWe were dlclosing agents and the JVMTI plugin during shutdown but it\nseems that some agents assume that their code will remain loaded even\nafter the Agent_OnUnload function returns. This caused segfaults\nduring shutdown in some situations. Since the runtime is shutting down\nanyway there is not much to lose by just not unloading these agents\nand the plugins they depend on.\n\nTest: stress --cpu 60\nTest: ./art/tools/run-prebuilt-libjdwp-tests.sh \\\n        --debug \\\n        --test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest#testCombinedEvents_05\n\nBug: 67497270\nBug: 67855829\n\nChange-Id: Ib988c0d21bd12d40f33d709e633312eb68021b38\n"
    },
    {
      "commit": "641a473912b3bcaaff2c71070611490b7c547cfc",
      "tree": "67bf5b2eaaeaf19c6cebac29984b49c19f172f9b",
      "parents": [
        "5555dd1df3c7f3aaea548c3b657b9325538e9780"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 24 13:21:35 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 25 08:59:29 2017 -0700"
      },
      "message": "ART: Fix reference-related warnings\n\nMake some parameters and locals references to avoid unnecessary\ncopies.\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: Idfed600c7c5492a80f72f51424253bcbea824a94\n"
    },
    {
      "commit": "f45d61c0866461c9476f17644b27dc0664d507c5",
      "tree": "95d2837a03d451cccd82cad61924980beb5fd0d4",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 07 10:29:33 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 17:19:51 2017 -0700"
      },
      "message": "ART: Fix or disable some tidy warnings.\n\nAdd a strlcpy shim for the host, so we can use strlcpy instead of\nstrcpy everywhere.\n\nFixed warnings include unused-decls, (some) unreachable code, use\nafter std::move, string char append, leaks, (some) excessive padding.\n\nDisable some warnings we cannot or do not want to avoid.\n\nBug: 32619234\nTest: m\nTest: m test-art-host\nChange-Id: Ie191985eebb160d94b988b41735d4f0a1fa1b54e\n"
    },
    {
      "commit": "d482e73fe26cb9161511a80e3db39e08b9808ab6",
      "tree": "0b8c874f24c211e4e3d87083f8017580aa23ff63",
      "parents": [
        "a14100ccf51cc63a5c472188d1e2d337627e49eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 17:59:09 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 16:26:35 2017 -0700"
      },
      "message": "ART: More header cleanup - runtime.h\n\nRemove unnecessary runtime.h includes. Refactor other headers\n(move to forward declarations) to make this possible.\n\nTest: mmma art\nChange-Id: I297f0ad444ba92169edd16d8c7cbe95bb6dbb800\n"
    },
    {
      "commit": "65af20b1aaa2b23abaae3e4a21d7b6cdcb156889",
      "tree": "8bf0c219ec23392afe2f04972b6abc2665c9ab80",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 09:15:08 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 22:47:01 2017 +0000"
      },
      "message": "Agent libraries need to be searched for JNI functions\n\nThis makes agent libraries the option of last resort for native\nmethod implementations. This will allow one to not need to manually\nlink all native methods in an agent library.\n\nBug: 37522517\nBug: 37432636\nTest: ./test.py --host -j40\nChange-Id: I5ad78a15e7e2799d2a877c5d603342899e2a1bd1\n"
    },
    {
      "commit": "46ee31b67d7ee1bd085fbc240502053caa3cf8fa",
      "tree": "83e870f293cd60d533207e389d7b094acd87b31f",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 14 10:11:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 09:50:39 2016 -0800"
      },
      "message": "ART: Move to libbase StringPrintf\n\nRemove ART\u0027s StringPrintf implementation. Fix up clients. Add\nmissing includes where necessary.\n\nTest: m test-art-host\nChange-Id: I564038d5868595ac3bb88d641af1000cea940e5a\n"
    },
    {
      "commit": "eb84221ffc00357be6d69e2e461c7a45ee96334a",
      "tree": "00e6a0884a62dfb448e4d617699fe511307db74f",
      "parents": [
        "19c5e5f3e92db92e4a51b354743cbb0edd8e0f48"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Oct 06 17:26:36 2016 -0700"
      },
      "committer": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Tue Oct 25 19:46:58 2016 +0000"
      },
      "message": "Enable agent attaching during live phase\n\nThis is the ART part, the plumbing from VMDebug_attachAgent() to\nactually loading the agent into the runtime.\n\nTest: m test-art-host\n\nBug: 31682382\n\nChange-Id: I3ccc67aa050c1f78278882128983686ed44ddec2\n"
    },
    {
      "commit": "49948e9d4e66e68ea077031f9aa80b6c332bd673",
      "tree": "cc50d0259b02d3021241f74ed659f74f52771268",
      "parents": [
        "3f410202b177416c785e6172138a265a91c81b0a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 15:35:28 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 17 10:50:37 2016 -0700"
      },
      "message": "Add skeleton of a jvmti plugin for art.\n\nTest: mma test-art-host-run-test-901-hello-ti-agent\nChange-Id: If6807b6238d57471e4ba0dd75c717721246443f6\n"
    },
    {
      "commit": "7233c7e752c0d26387d143ee74420e9cd1f09390",
      "tree": "680b4c1fc3fddbe6004156e5e02770223f3f8587",
      "parents": [
        "f2b1529b0988a1722b718fee6911e0030e95c9b6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 28 10:07:45 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 13:48:13 2016 -0700"
      },
      "message": "Create a basic agent loading framework.\n\nCurrently we only allow agents to be loaded at runtime startup, though\nthis is expected to change soon.\n\nTest: ./test/run-test --host 900\nChange-Id: Id648eaed4bbbe6fdef41d64922d023a4db0bfa54\n"
    }
  ]
}
