)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
