)]}'
{
  "log": [
    {
      "commit": "3b08bcce2d9c32e469ce11d247bed46439977cac",
      "tree": "cc719c563515446f647c01fbf170302ca349996c",
      "parents": [
        "0054aa59c50374751cc65e8de31a1d813912e67d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 11 09:48:51 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 11 19:41:04 2019 +0000"
      },
      "message": "Fixup inconsistency due to change in Plugin loading requirements.\n\nSome time ago plugin loading was changed to always occur with the\nthread in kNative (see commit 3a256b1d3689). This adds asserts that\nto plugin loading that the state is correct, fixes an incorrect\nlock-annotation and fixes a test plugin that was missed.\n\nTest: ./test.py --host\nTest: atest CtsJdwpTunnelHostTestCases\nTest: atest CtsJvmtiAttachingHostTestCases\nChange-Id: Ib27ab58e9a357fa308a33da13a86e8d65575e9f4\n"
    },
    {
      "commit": "443a6a5d7bb17443fd3c1ead930a90753eacfd65",
      "tree": "789480f84a370c1f85d17c1a793ca8254c2161a1",
      "parents": [
        "a2d18b7072158af6b1fb9260bbf4f5510c3def1d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 02 16:37:18 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 02 16:38:45 2018 -0800"
      },
      "message": "Ensure loaded plugins are not copied.\n\nIf a loaded plugin was copied we would try to initialize it a second\ntime. This would happen if you were running on a libartd.so because\nthe compiler would not select the move constructor since it wasn\u0027t\nmarked as noexcept.\n\nBug: 74125483\nTest: Run dexmaker tests on a libartd runtime.\nChange-Id: If86e4d3ed8fc68fce7295fb3779cb46499f9c72c\n"
    },
    {
      "commit": "57943810cfc789da890d73621741729da5feaaf8",
      "tree": "367677a982a45af98ffe3e79543615875e8550b4",
      "parents": [
        "d5153627778e71ef68b510ce03c77467fa4d85bd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 06 21:39:13 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Replace base/logging with android-base/logging\n\nReplace wherever possible. ART\u0027s base/logging is now mainly VLOG\nand initialization code that is unnecessary to pull in and makes\nchanges to verbose logging more painful than they have to be.\n\nTest: m test-art-host\nChange-Id: I3e3a4672ba5b621e57590a526c7d1c8b749e4f6e\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": "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": "185d134a3b43ab7529053e965917e0fa74bceba4",
      "tree": "5d3d0cee3aa4c64fc5f36fd5f648e53f6df984ae",
      "parents": [
        "7233c7e752c0d26387d143ee74420e9cd1f09390"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 10:48:03 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 13:55:03 2016 -0700"
      },
      "message": "Add basic runtime-plugins support.\n\nThis allows one to pass shared-libraries on the command line that the\nruntime will load as plugins. They have access to runtime code and can\ninstall hooks to add functionality. Currently the only hook they can\ntouch is JavaVMExt::AddEnvironmentHook to register a callback for\nGetEnv(). More hooks might be added in the future.\n\nTest: ./test/run-test 900\nChange-Id: I852b4daf5a3fa71e9888722bc07794632c0e5010\n"
    }
  ]
}
