)]}'
{
  "log": [
    {
      "commit": "f6c66c3348a2b64e4b6472827e31f711142006e3",
      "tree": "0795f80e2c07dc79904590ddeb0fbe55ba9e6176",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Thu Dec 17 14:13:00 2015 +0000"
      },
      "committer": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Fri Jun 02 16:53:23 2017 +0100"
      },
      "message": "Tests: never use System.err\n\nAlways print stack traces to System.out, and replace all\nSystem.err.println()\u0027s with System.out.println().\n\nFollow-up of https://android-review.googlesource.com/#/c/187020/ and\nhttps://android-review.googlesource.com/#/c/407032/.\n\nTest: m test-art-host\n      m test-art-target\nChange-Id: I9ab9cd955a8db25b2ec6673790e5bc924f62c88a\n"
    },
    {
      "commit": "72ab684871f870aead76b23cb67deb046107b380",
      "tree": "d4bb40cab65df449246b35ae582234238676b7bb",
      "parents": [
        "e36c51aee58e61e9fc89851b767379c587f050e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 20 19:32:50 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 24 12:05:02 2017 +0000"
      },
      "message": "Add class status for resolved erroneous classes.\n\nSplit the old ambiguous status mirror::Class::kStatusError\ninto kStatusErrorUnresolved and kStatusErrorResolved. Once\na class has been resolved, IsResolved() shall return true\neven if the class later becomes erroneous. Allow returning\nerroneous class from ClassLinker::EnsureResolved() if it has\nbeen previously resolved. This allows consistent behavior\nfor retrieving classes, immune to multi-threaded races and\nmulti-dex weirdness. It also allows JVMTI to properly report\n\"prepared\" (i.e. resolved) classes that are also erroneous.\n\nThe new behavior is consistent with the RI.\n\nAdd regression tests to 008-exceptions for inconsistent\nbehavior for multi-dex retrieval of erroneous resolved class\n(wrapping or not wrapping the old exception based on which\ndex file is used for lookup) and for a CHECK(IsResolved())\ncrash in ClassLinker::LoadSuperAndInterfaces() (without any\ntests for similar checks that could have previously failed\nonly due to extremely unlikely race conditions; these should\nnow also be fixed).\n\nInconsistency still remains for class verification as shown\nby the new exceptionsForSuperClassInitFailure() test in\n008-exceptions, where interpreter and Optimizing still\ncause different exceptions to be thrown.\n\nNote: This is partially changing behavior implemented for\nbug 28787733. Since we allow the class loader to retrieve an\nerroneous resolved class, the ExceptionInInitializerError is\nnot thrown at all from VMClassLoader_findLoadedClass(), so\nthere is nothing to wrap in ClassNotFoundException.\n\nTest: m test-art-host\nBug: 30627598\nBug: 28787733\nChange-Id: I86cdca00f35a0d6221d2559e3026ac0428a3613c\n"
    },
    {
      "commit": "166aaee6aa39c20c87113b3fcf0dcd81e0a934cb",
      "tree": "70ab523f146d164ece8a0e94dbc499783005e3dc",
      "parents": [
        "115c1de1f812d380449ef89cfe50cc4fb4289275"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 18 08:27:23 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 22 20:37:07 2016 -0700"
      },
      "message": "ART: Fix type parameter in tests\n\nMove Class to Class\u003c?\u003e, Constructor to Constructor\u003c?\u003e, and in\ngeneral clean up reflection.\n\nTest: m test-art-host-run-test\nChange-Id: I3a4223ee8d14d032015edf34bf27135757f7138c\n"
    },
    {
      "commit": "c92a7a14ce44c4bb7e63e4c447a008b558bc0bca",
      "tree": "c48ebef140dd292cc2cc29726045c03f5b2b02ea",
      "parents": [
        "6c54dfb86a6cd6f63a9518893562595460b480ad"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 06 11:09:20 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 07 20:04:02 2016 -0700"
      },
      "message": "Wrap certain exception types when loading an erroneous class.\n\nBug: 28787733\n\n(cherry-picked from commit 7c8aa8357196781c811a73d2eb66aaaa1681ce36)\n\nChange-Id: Iea55486c4b95ee16e1f19c8ba2d24c18b9100c97\n"
    },
    {
      "commit": "84a790358b95e0f79be3a6e69ae9a43dc113f921",
      "tree": "07b3f55ce70e6b842f9d13b97b74194e3517086d",
      "parents": [
        "782c5315644df989cd386c35ca57b97426011b8c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 21 11:25:10 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 22 16:15:07 2015 -0700"
      },
      "message": "ART: PathClassLoader test\n\nAdd a test checking that subclassing PathClassLoader works as\nexpected.\n\nChange-Id: Ic6bb733b748df5e29b21df021f302ed4237b0f99\n"
    }
  ]
}
